Commit 6a2b287f by Bob Wilson Committed by Bob Wilson

linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of _GNU_SOURCE.

        * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
        _GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
        (SUBTARGET_CPP_SPEC): Define.
        (LIB_SPEC): Delete.
        * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
        * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
        * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
        Define.
        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
        (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.

From-SVN: r66083
parent 01475329
2003-04-25 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
_GNU_SOURCE. Add definitions of __PIC__ and __pic__.
(SUBTARGET_CPP_SPEC): Define.
(LIB_SPEC): Delete.
* config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
* config/xtensa/xtensa.c (xtensa_declare_object): Delete.
* config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
Define.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
2003-04-25 H.J. Lu <hjl@gnu.org>
* config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
......
/* Xtensa Linux configuration.
Derived from the configuration for GCC for Intel i386 running Linux.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -26,11 +26,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
builtin_define ("__ELF__"); \
builtin_define ("__gnu_linux__"); \
builtin_assert ("system=posix"); \
/* The GNU C++ standard library requires this. */ \
if (c_language == clk_cplusplus) \
builtin_define ("_GNU_SOURCE"); \
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} while (0)
#undef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (Xtensa GNU/Linux with ELF)", stderr);
......@@ -45,12 +47,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#undef ASM_FINAL_SPEC
#undef LIB_SPEC
#define LIB_SPEC \
"%{shared: -lc} \
%{!shared: %{pthread:-lpthread} \
%{profile:-lc_p} %{!profile: -lc}}"
#undef LINK_SPEC
#define LINK_SPEC \
"%{shared:-shared} \
......
/* Prototypes of target machine for GNU compiler for Xtensa.
Copyright 2001,2002 Free Software Foundation, Inc.
Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
......@@ -109,8 +109,6 @@ extern int xtensa_mem_offset PARAMS ((unsigned, enum machine_mode));
extern void xtensa_setup_frame_addresses PARAMS ((void));
extern int xtensa_dbx_register_number PARAMS ((int));
extern void override_options PARAMS ((void));
extern void xtensa_declare_object
PARAMS ((FILE *, char *, char *, char *, int));
extern long compute_frame_size PARAMS ((int));
extern int xtensa_frame_pointer_required PARAMS ((void));
extern void xtensa_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
......
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
Copyright 2001,2002 Free Software Foundation, Inc.
Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
......@@ -2086,22 +2086,6 @@ print_operand_address (file, addr)
}
/* Emit either a label, .comm, or .lcomm directive. */
void
xtensa_declare_object (file, name, init_string, final_string, size)
FILE *file;
char *name;
char *init_string;
char *final_string;
int size;
{
fputs (init_string, file); /* "", "\t.comm\t", or "\t.lcomm\t" */
assemble_name (file, name);
fprintf (file, final_string, size); /* ":\n", ",%u\n", ",%u\n" */
}
void
xtensa_output_literal (file, x, mode, labelno)
FILE *file;
......
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
Copyright 2001,2002 Free Software Foundation, Inc.
Copyright 2001,2002,2003 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
......@@ -208,6 +208,15 @@ extern unsigned xtensa_current_frame_size;
} \
} while (0)
#define CPP_SPEC " %(subtarget_cpp_spec) "
#ifndef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC ""
#endif
#define EXTRA_SPECS \
{ "subtarget_cpp_spec", SUBTARGET_CPP_SPEC },
#ifdef __XTENSA_EB__
#define LIBGCC2_WORDS_BIG_ENDIAN 1
#else
......@@ -1377,14 +1386,9 @@ typedef struct xtensa_args {
/* Globalizing directive for a label. */
#define GLOBAL_ASM_OP "\t.global\t"
/* This says how to define a global common symbol. */
#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \
xtensa_declare_object (STREAM, NAME, "\n\t.comm\t", ",%u\n", (SIZE))
/* This says how to define a local common symbol (ie, not visible to
linker). */
#define ASM_OUTPUT_LOCAL(STREAM, NAME, SIZE, ROUNDED) \
xtensa_declare_object (STREAM, NAME, "\n\t.lcomm\t", ",%u\n", (SIZE))
/* Declare an uninitialized external linkage data object. */
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
/* This is how to output an element of a case-vector that is absolute. */
#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \
......@@ -1430,8 +1434,9 @@ typedef struct xtensa_args {
/* Define the strings to put out for each section in the object file. */
#define TEXT_SECTION_ASM_OP "\t.text" /* instructions */
#define DATA_SECTION_ASM_OP "\t.data" /* large data */
#define TEXT_SECTION_ASM_OP "\t.text"
#define DATA_SECTION_ASM_OP "\t.data"
#define BSS_SECTION_ASM_OP "\t.section\t.bss"
/* Define output to appear before the constant pool. If the function
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment