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
This commit is contained in:
parent
01475329b3
commit
6a2b287ffd
@ -1,3 +1,16 @@
|
||||
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
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* 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} \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* 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));
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* 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;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* 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
|
||||
|
Loading…
Reference in New Issue
Block a user