This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Tidy up arm-elf header files
Hi Richard, Hi Rod,
> > /usr/bin/ld: cannot open crt0.o: No such file or directory
>
> Ah, linux uses crt1.o. Nick, you've pruned too much.
Oopsie! Actually it turns out that the real problem was that when I
moved the header files into the tm_file variable, I put them in the
wrong order, so elfos.h was being included *after* linux-elf.h and so
overriding the definition of STARTFILE_SPEC.
The revised patch below fixes this problem. Rod, Phil, can you have a
go with this one and let me know if arm-linux bootstraps now work ?
Cheers
Nick
Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.86
diff -p -r1.86 config.gcc
*** config.gcc 2001/08/30 18:22:55 1.86
--- config.gcc 2001/09/07 10:12:35
*************** arc-*-elf*)
*** 523,529 ****
extra_parts="crtinit.o crtfini.o"
;;
arm*-*-rtems*)
! tm_file=arm/rtems-elf.h
tmake_file="arm/t-arm-elf t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
--- 523,529 ----
extra_parts="crtinit.o crtfini.o"
;;
arm*-*-rtems*)
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/rtems-elf.h rtems.h"
tmake_file="arm/t-arm-elf t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
*************** arm*-*-netbsd*)
*** 568,574 ****
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
xmake_file=x-linux
! tm_file="arm/linux-elf.h"
tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
--- 568,574 ----
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
xmake_file=x-linux
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
*************** arm*-*-linux*) # ARM GNU/Linux with EL
*** 579,585 ****
esac
;;
arm*-*-uclinux*) # ARM ucLinux
! tm_file=arm/uclinux-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-aout)
--- 579,585 ----
esac
;;
arm*-*-uclinux*) # ARM ucLinux
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-aout)
*************** arm*-*-aout)
*** 587,605 ****
tmake_file=arm/t-arm-aout
;;
arm*-*-ecos-elf)
! tm_file=arm/ecos-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-elf)
! tm_file=arm/unknown-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-conix*)
! tm_file=arm/conix-elf.h
tmake_file=arm/t-arm-elf
;;
arm*-*-oabi)
! tm_file=arm/unknown-elf-oabi.h
tmake_file=arm/t-arm-elf
;;
arm-*-pe*)
--- 587,605 ----
tmake_file=arm/t-arm-aout
;;
arm*-*-ecos-elf)
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/ecos-elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-elf)
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-conix*)
! tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/conix-elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-oabi)
! tm_file="arm/unknown-elf-oabi.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-arm-elf
;;
arm-*-pe*)
*************** stormy16-*-elf)
*** 3109,3115 ****
extra_parts="crtbegin.o crtend.o"
;;
strongarm-*-elf*)
! tm_file=arm/strongarm-elf.h
tmake_file=arm/t-strongarm-elf
out_file=arm/arm.c
md_file=arm/arm.md
--- 3109,3115 ----
extra_parts="crtbegin.o crtend.o"
;;
strongarm-*-elf*)
! tm_file="arm/strongarm-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-strongarm-elf
out_file=arm/arm.c
md_file=arm/arm.md
*************** we32k-att-sysv*)
*** 3195,3201 ****
use_collect2=yes
;;
xscale-*-elf)
! tm_file=arm/xscale-elf.h
tmake_file=arm/t-xscale-elf
out_file=arm/arm.c
md_file=arm/arm.md
--- 3195,3201 ----
use_collect2=yes
;;
xscale-*-elf)
! tm_file="arm/xscale-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-xscale-elf
out_file=arm/arm.c
md_file=arm/arm.md
Index: config/arm/aout.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/aout.h,v
retrieving revision 1.18
diff -p -r1.18 aout.h
*** aout.h 2001/07/09 06:09:59 1.18
--- aout.h 2001/09/07 10:12:35
*************** Boston, MA 02111-1307, USA. */
*** 105,111 ****
--- 105,113 ----
/* Arm Assembler barfs on dollars */
#define DOLLARS_IN_IDENTIFIERS 0
+ #ifndef NO_DOLLAR_IN_LABEL
#define NO_DOLLAR_IN_LABEL 1
+ #endif
/* DBX register number for a given compiler register number */
#define DBX_REGISTER_NUMBER(REGNO) (REGNO)
*************** Boston, MA 02111-1307, USA. */
*** 257,266 ****
--- 259,270 ----
#define ASM_OUTPUT_BYTE(STREAM, VALUE) \
fprintf (STREAM, "\t.byte\t%d\n", VALUE)
+ #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(STREAM, PTR, LEN) \
output_ascii_pseudo_op (STREAM, (const unsigned char *)(PTR), LEN)
/* Output a gap. In fact we fill it with nulls. */
+ #undef ASM_OUTPUT_SKIP
#define ASM_OUTPUT_SKIP(STREAM, NBYTES) \
fprintf (STREAM, "\t.space\t%d\n", NBYTES)
Index: config/arm/arm.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.113
diff -p -r1.113 arm.h
*** arm.h 2001/08/18 20:25:50 1.113
--- arm.h 2001/09/07 10:12:36
*************** Unrecognized value in TARGET_CPU_DEFAULT
*** 259,265 ****
--- 259,267 ----
%{!mthumb-interwork:%{!mno-thumb-interwork:%(cpp_interwork_default)}} \
"
+ #ifndef CC1_SPEC
#define CC1_SPEC ""
+ #endif
/* This macro defines names of additional specifications to put in the specs
that can be used in various specifications like CC1_SPEC. Its definition
*************** extern enum floating_point_type arm_fpu_
*** 549,555 ****
--- 551,559 ----
/* Default floating point architecture. Override in sub-target if
necessary. */
+ #ifndef FP_DEFAULT
#define FP_DEFAULT FP_SOFT2
+ #endif
/* Nonzero if the processor has a fast multiply insn, and one that does
a 64-bit multiply of two 32-bit values. */
*************** extern int arm_is_6_or_7;
*** 587,592 ****
--- 591,597 ----
that is controlled by the APCS-FRAME option. */
#define CAN_DEBUG_WITHOUT_FP
+ #undef TARGET_MEM_FUNCTIONS
#define TARGET_MEM_FUNCTIONS 1
#define OVERRIDE_OPTIONS arm_override_options ()
*************** typedef struct
*** 1555,1560 ****
--- 1560,1566 ----
The ``mov ip,lr'' seems like a good idea to stick with cc convention.
``prof'' doesn't seem to mind about this! */
+ #ifndef ARM_FUNCTION_PROFILER
#define ARM_FUNCTION_PROFILER(STREAM, LABELNO) \
{ \
char temp[20]; \
*************** typedef struct
*** 1568,1573 ****
--- 1574,1580 ----
sym = gen_rtx (SYMBOL_REF, Pmode, temp); \
ASM_OUTPUT_INT (STREAM, sym); \
}
+ #endif
#define THUMB_FUNCTION_PROFILER(STREAM, LABELNO) \
{ \
*************** extern int making_const_table;
*** 2579,2584 ****
--- 2586,2592 ----
/* This is how to output a label which precedes a jumptable. Since
Thumb instructions are 2 bytes, we may need explicit alignment here. */
+ #undef ASM_OUTPUT_CASE_LABEL
#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \
do \
{ \
Index: config/arm/conix-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/conix-elf.h,v
retrieving revision 1.8
diff -p -r1.8 conix-elf.h
*** conix-elf.h 2001/08/13 22:05:16 1.8
--- conix-elf.h 2001/09/07 10:12:36
***************
*** 1,6 ****
/* Definitions of target machine for GNU compiler,
for ARM with ConiX OS.
! Copyright (C) 2000 Free Software Foundation, Inc.
Contributed by Philip Blundell <pb@futuretv.com>
This file is part of GNU CC.
--- 1,6 ----
/* Definitions of target machine for GNU compiler,
for ARM with ConiX OS.
! Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Contributed by Philip Blundell <pb@futuretv.com>
This file is part of GNU CC.
*************** GNU General Public License for more deta
*** 18,113 ****
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
! #ifndef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF ConiX)", stderr);
- #endif
/* Default to using APCS-32 and software floating point. */
! #ifndef TARGET_DEFAULT
#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32)
- #endif
-
- /* Now we define the strings used to build the spec file. */
- #define STARTFILE_SPEC "crtbegin%O%s crt0%O%s"
- #define ENDFILE_SPEC "crtend%O%s"
-
- #define USER_LABEL_PREFIX ""
- #define LOCAL_LABEL_PREFIX "."
-
- #define TEXT_SECTION "\t.text"
-
- /* Debugging */
- #define DWARF2_DEBUGGING_INFO
- #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
- /* Support for Constructors and Destructors. */
- #define READONLY_DATA_SECTION rdata_section
-
- /* A list of other sections which the compiler might be "in" at any
- given time. */
- #define SUBTARGET_EXTRA_SECTIONS in_rdata,
-
- /* A list of extra section function definitions. */
- #define SUBTARGET_EXTRA_SECTION_FUNCTIONS RDATA_SECTION_FUNCTION
-
- #define RDATA_SECTION_ASM_OP "\t.section .rodata"
-
- #define RDATA_SECTION_FUNCTION \
- void \
- rdata_section () \
- { \
- if (in_section != in_rdata) \
- { \
- fprintf (asm_out_file, "%s\n", RDATA_SECTION_ASM_OP); \
- in_section = in_rdata; \
- } \
- }
-
- /* Switch into a generic section. */
- #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
-
- /* The ARM development system defines __main. */
- #define NAME__MAIN "__gccmain"
- #define SYMBOL__MAIN __gccmain
-
- #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
- #define UNIQUE_SECTION(DECL,RELOC) \
- do \
- { \
- int len; \
- char * name, * string, * prefix; \
- \
- name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \
- \
- if (! DECL_ONE_ONLY (DECL)) \
- { \
- prefix = "."; \
- if (TREE_CODE (DECL) == FUNCTION_DECL) \
- prefix = ".text."; \
- else if (DECL_READONLY_SECTION (DECL, RELOC)) \
- prefix = ".rodata."; \
- else \
- prefix = ".data."; \
- } \
- else if (TREE_CODE (DECL) == FUNCTION_DECL) \
- prefix = ".gnu.linkonce.t."; \
- else if (DECL_READONLY_SECTION (DECL, RELOC)) \
- prefix = ".gnu.linkonce.r."; \
- else \
- prefix = ".gnu.linkonce.d."; \
- \
- len = strlen (name) + strlen (prefix); \
- string = alloca (len + 1); \
- sprintf (string, "%s%s", prefix, name); \
- \
- DECL_SECTION_NAME (DECL) = build_string (len, string); \
- } \
- while (0)
-
#ifndef CPP_APCS_PC_DEFAULT_SPEC
#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
#endif
--- 18,36 ----
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
! `Boston, MA 02111-1307, USA. */
+ /* elfos.h should have already been included. Now just override
+ any conflicting definitions and add any extras. */
+
/* Run-time Target Specification. */
! #undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF ConiX)", stderr);
/* Default to using APCS-32 and software floating point. */
! #undef TARGET_DEFAULT
#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32)
#ifndef CPP_APCS_PC_DEFAULT_SPEC
#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
#endif
*************** rdata_section () \
*** 116,123 ****
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm7tdmi
#endif
#define CPP_PREDEFINES \
"-D__arm__ -D__CONIX__ -Acpu=arm -Amachine=arm -D__ELF__"
-
- /* Now get the routine arm-elf definitions. */
- #include "arm/elf.h"
--- 39,44 ----
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm7tdmi
#endif
+ #undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__arm__ -D__CONIX__ -Acpu=arm -Amachine=arm -D__ELF__"
Index: config/arm/ecos-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/ecos-elf.h,v
retrieving revision 1.2
diff -p -r1.2 ecos-elf.h
*** ecos-elf.h 1998/12/16 21:01:33 1.2
--- ecos-elf.h 2001/09/07 10:12:36
***************
*** 1,5 ****
/* Definitions for ecos based ARM systems using ELF
! Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for ecos based ARM systems using ELF
! Copyright (C) 1998, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
*************** the Free Software Foundation, 59 Temple
*** 19,29 ****
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
#define TARGET_VERSION fputs (" (ARM/ELF Ecos)", stderr);
#define HAS_INIT_SECTION
-
- #include "unknown-elf.h"
#undef INVOKE_main
--- 19,28 ----
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
+ #undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF Ecos)", stderr);
#define HAS_INIT_SECTION
#undef INVOKE_main
Index: config/arm/elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/elf.h,v
retrieving revision 1.29
diff -p -r1.29 elf.h
*** elf.h 2001/08/09 22:33:21 1.29
--- elf.h 2001/09/07 10:12:36
*************** along with GNU CC; see the file COPYING.
*** 22,38 ****
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
!
! #define OBJECT_FORMAT_ELF
#ifndef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
#endif
- #ifndef USER_LABEL_PREFIX
- #define USER_LABEL_PREFIX ""
- #endif
-
#ifndef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC "-D__ELF__"
#endif
--- 22,35 ----
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
! #ifndef OBJECT_FORMAT_ELF
! #error elf.h included before elfos.h
! #endif
#ifndef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
#endif
#ifndef SUBTARGET_CPP_SPEC
#define SUBTARGET_CPP_SPEC "-D__ELF__"
#endif
*************** Boston, MA 02111-1307, USA. */
*** 58,87 ****
%(subtarget_extra_asm_spec)"
#endif
! /* The following macro defines the format used to output the second
! operand of the .type assembler directive. Different svr4 assemblers
! expect various different forms for this operand. The one given here
! is just a default. You may need to override it in your machine-
! specific tm.h file (depending upon the particulars of your assembler). */
#define TYPE_OPERAND_FMT "%s"
! /* Write the extra assembler code needed to declare a function's result.
! Most svr4 assemblers don't require any special declaration of the
! result value, but there are exceptions. */
! #ifndef ASM_DECLARE_RESULT
! #define ASM_DECLARE_RESULT(FILE, RESULT)
! #endif
!
! /* These macros generate the special .type and .size directives which
! are used to set the corresponding fields of the linker symbol table
! entries in an ELF object file under SVR4. These macros also output
! the starting labels for the relevant functions/objects. */
! #define TYPE_ASM_OP "\t.type\t"
! #define SIZE_ASM_OP "\t.size\t"
!
! /* Write the extra assembler code needed to declare a function properly.
! Some svr4 assemblers need to also have something extra said about the
! function's return value. We allow for that here. */
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
do \
{ \
--- 55,67 ----
%(subtarget_extra_asm_spec)"
#endif
! /* The ARM uses @ are a comment character so we need to redefine
! TYPE_OPERAND_FMT. */
! #undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "%s"
! /* We might need a ARM specific header to function declarations. */
! #undef ASM_DECLARE_FUNCTION_NAME
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
do \
{ \
*************** Boston, MA 02111-1307, USA. */
*** 95,151 ****
ASM_OUTPUT_LABEL(FILE, NAME); \
} \
while (0)
-
- /* Write the extra assembler code needed to declare an object properly. */
- #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
- do \
- { \
- fprintf (FILE, "%s", TYPE_ASM_OP); \
- assemble_name (FILE, NAME); \
- putc (',', FILE); \
- fprintf (FILE, TYPE_OPERAND_FMT, "object"); \
- putc ('\n', FILE); \
- size_directive_output = 0; \
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
- { \
- size_directive_output = 1; \
- fprintf (FILE, "%s", SIZE_ASM_OP); \
- assemble_name (FILE, NAME); \
- putc (',', FILE); \
- fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, \
- int_size_in_bytes (TREE_TYPE (DECL))); \
- fputc ('\n', FILE); \
- } \
- ASM_OUTPUT_LABEL(FILE, NAME); \
- } \
- while (0)
-
- /* Output the size directive for a decl in rest_of_decl_compilation
- in the case where we did not do so before the initializer.
- Once we find the error_mark_node, we know that the value of
- size_directive_output was set
- by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */
- #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
- do \
- { \
- const char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
- if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \
- && ! AT_END && TOP_LEVEL \
- && DECL_INITIAL (DECL) == error_mark_node \
- && !size_directive_output) \
- { \
- size_directive_output = 1; \
- fprintf (FILE, "%s", SIZE_ASM_OP); \
- assemble_name (FILE, name); \
- putc (',', FILE); \
- fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, \
- int_size_in_bytes (TREE_TYPE (DECL))); \
- fputc ('\n', FILE); \
- } \
- } \
- while (0)
! /* This is how to declare the size of a function. */
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do \
{ \
--- 75,83 ----
ASM_OUTPUT_LABEL(FILE, NAME); \
} \
while (0)
! /* We might need an ARM specific trailer for function declarations. */
! #undef ASM_DECLARE_FUNCTION_SIZE
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do \
{ \
*************** Boston, MA 02111-1307, USA. */
*** 207,213 ****
#endif
/* Output an internal label definition. */
! #ifndef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
do \
{ \
--- 139,145 ----
#endif
/* Output an internal label definition. */
! #undef ASM_OUTPUT_INTERNAL_LABEL
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
do \
{ \
*************** Boston, MA 02111-1307, USA. */
*** 216,273 ****
extern rtx arm_target_insn; \
\
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
! && !strcmp (PREFIX, "L")) \
{ \
arm_ccfsm_state = 0; \
arm_target_insn = NULL; \
} \
! ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
! ASM_OUTPUT_LABEL (STREAM, s); \
} \
while (0)
- #endif
! /* A list of other sections which the compiler might be "in" at any
! given time. */
! #ifndef SUBTARGET_EXTRA_SECTIONS
! #define SUBTARGET_EXTRA_SECTIONS
! #endif
!
! #ifndef EXTRA_SECTIONS
! #define EXTRA_SECTIONS SUBTARGET_EXTRA_SECTIONS
! #endif
!
! /* A list of extra section function definitions. */
! #ifndef SUBTARGET_EXTRA_SECTION_FUNCTIONS
! #define SUBTARGET_EXTRA_SECTION_FUNCTIONS
! #endif
!
! #ifndef EXTRA_SECTION_FUNCTIONS
! #define EXTRA_SECTION_FUNCTIONS \
! SUBTARGET_EXTRA_SECTION_FUNCTIONS
! #endif
!
! /* Switch into a generic section. */
! #undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION arm_elf_asm_named_section
! /* Support the ctors/dtors sections for g++. */
! #ifndef INT_ASM_OP
! #define INT_ASM_OP "\t.word\t"
! #endif
!
! /* This is how we tell the assembler that a symbol is weak. */
!
! #define ASM_WEAKEN_LABEL(FILE, NAME) \
! do \
! { \
! fputs ("\t.weak\t", FILE); \
! assemble_name (FILE, NAME); \
! fputc ('\n', FILE); \
! } \
! while (0)
!
! #ifndef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(STREAM, NAME, SIZE, ALIGN) \
do \
{ \
--- 148,167 ----
extern rtx arm_target_insn; \
\
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
! && !strcmp (PREFIX, "L")) \
{ \
arm_ccfsm_state = 0; \
arm_target_insn = NULL; \
} \
! ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
! ASM_OUTPUT_LABEL (STREAM, s); \
} \
while (0)
! #undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION arm_elf_asm_named_section
! #undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(STREAM, NAME, SIZE, ALIGN) \
do \
{ \
*************** Boston, MA 02111-1307, USA. */
*** 276,282 ****
fprintf (STREAM, ", %d, %d\n", SIZE, ALIGN); \
} \
while (0)
- #endif
/* For PIC code we need to explicitly specify (PLT) and (GOT) relocs. */
#define NEED_PLT_RELOC flag_pic
--- 170,175 ----
Index: config/arm/linux-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/linux-elf.h,v
retrieving revision 1.27
diff -p -r1.27 linux-elf.h
*** linux-elf.h 2001/08/04 01:31:33 1.27
--- linux-elf.h 2001/09/07 10:12:36
*************** along with this program; see the file CO
*** 20,40 ****
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
/* Do not assume anything about header files. */
#define NO_IMPLICIT_EXTERN_C
/* Default is to use APCS-32 mode. */
#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
! /* Handle #pragma weak and #pragma pack. */
! #define HANDLE_SYSV_PRAGMA
/* Now we define the strings used to build the spec file. */
#define LIB_SPEC \
--- 20,46 ----
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+ /* elfos.h should have already been included. Now just override
+ any conflicting definitions and add any extras. */
+
/* Run-time Target Specification. */
+ #undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
/* Do not assume anything about header files. */
#define NO_IMPLICIT_EXTERN_C
/* Default is to use APCS-32 mode. */
+ #undef TARGET_DEFAULT
#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
+
#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
+
+ #undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
! #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
/* Now we define the strings used to build the spec file. */
#define LIB_SPEC \
*************** Boston, MA 02111-1307, USA. */
*** 42,48 ****
%{!shared: %{pthread:-lpthread} \
%{profile:-lc_p} %{!profile: -lc}}"
-
#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
--- 48,53 ----
*************** Boston, MA 02111-1307, USA. */
*** 50,55 ****
--- 55,61 ----
provides part of the support for getting C++ file-scope static
object constructed before entering `main'. */
+ #undef STARTFILE_SPEC
#define STARTFILE_SPEC \
"%{!shared: \
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
*************** Boston, MA 02111-1307, USA. */
*** 63,71 ****
--- 69,79 ----
object constructed before entering `main', followed by a normal
GNU/Linux "finalizer" file, `crtn.o'. */
+ #undef ENDFILE_SPEC
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+ #undef LINK_SPEC
#define LINK_SPEC "%{h*} %{version:-v} \
%{b} %{Wl,*:%*} \
%{static:-Bstatic} \
*************** Boston, MA 02111-1307, USA. */
*** 85,243 ****
/* Allow #sccs in preprocessor. */
#define SCCS_DIRECTIVE
- #define USER_LABEL_PREFIX "" /* For ELF the default is no underscores */
- #define LOCAL_LABEL_PREFIX "."
-
- #define IDENT_ASM_OP "\t.ident\t"
-
- /* Output #ident as a .ident. */
- #define ASM_OUTPUT_IDENT(FILE, NAME) \
- fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME);
-
- /* Support const sections and the ctors and dtors sections for g++.
- Note that there appears to be two different ways to support const
- sections at the moment. You can either #define the symbol
- READONLY_DATA_SECTION (giving it some code which switches to the
- readonly data section) or else you can #define the symbols
- EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, and
- SELECT_RTX_SECTION. We do both here just to be on the safe side. */
- #define USE_CONST_SECTION 1
-
- /* Support for Constructors and Destructors. */
- #define READONLY_DATA_SECTION() const_section ()
-
- /* A default list of other sections which we might be "in" at any given
- time. For targets that use additional sections (e.g. .tdesc) you
- should override this definition in the target-specific file which
- includes this file. */
- #define SUBTARGET_EXTRA_SECTIONS in_const,
-
- /* A default list of extra section function definitions. For targets
- that use additional sections (e.g. .tdesc) you should override this
- definition in the target-specific file which includes this file. */
- #define SUBTARGET_EXTRA_SECTION_FUNCTIONS CONST_SECTION_FUNCTION
-
- #define CONST_SECTION_ASM_OP "\t.section\t.rodata"
-
- #define CONST_SECTION_FUNCTION \
- void \
- const_section () \
- { \
- if (!USE_CONST_SECTION) \
- text_section (); \
- else if (in_section != in_const) \
- { \
- fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); \
- in_section = in_const; \
- } \
- }
-
- /* Switch into a generic section. */
- #define TARGET_ASM_NAMED_SECTION arm_elf_asm_named_section
-
- /* A C statement or statements to switch to the appropriate
- section for output of DECL. DECL is either a `VAR_DECL' node
- or a constant of some sort. RELOC indicates whether forming
- the initial value of DECL requires link-time relocations. */
- #define SELECT_SECTION(DECL,RELOC) \
- { \
- if (TREE_CODE (DECL) == STRING_CST) \
- { \
- if (! flag_writable_strings) \
- const_section (); \
- else \
- data_section (); \
- } \
- else if (TREE_CODE (DECL) == VAR_DECL) \
- { \
- if ((flag_pic && RELOC) \
- || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
- || !DECL_INITIAL (DECL) \
- || (DECL_INITIAL (DECL) != error_mark_node \
- && !TREE_CONSTANT (DECL_INITIAL (DECL)))) \
- data_section (); \
- else \
- const_section (); \
- } \
- else \
- const_section (); \
- }
-
- #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
- #define UNIQUE_SECTION(DECL, RELOC) \
- do \
- { \
- int len; \
- char * name; \
- char * string; \
- char * prefix; \
- \
- name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \
- \
- if (! DECL_ONE_ONLY (DECL)) \
- { \
- prefix = "."; \
- if (TREE_CODE (DECL) == FUNCTION_DECL) \
- prefix = ".text."; \
- else if (DECL_READONLY_SECTION (DECL, RELOC)) \
- prefix = ".rodata."; \
- else \
- prefix = ".data."; \
- } \
- else if (TREE_CODE (DECL) == FUNCTION_DECL) \
- prefix = ".gnu.linkonce.t."; \
- else if (DECL_READONLY_SECTION (DECL, RELOC)) \
- prefix = ".gnu.linkonce.r."; \
- else \
- prefix = ".gnu.linkonce.d."; \
- \
- len = strlen (name) + strlen (prefix); \
- string = alloca (len + 1); \
- sprintf (string, "%s%s", prefix, name); \
- \
- DECL_SECTION_NAME (DECL) = build_string (len, string); \
- } \
- while (0)
-
- /* A C statement or statements to switch to the appropriate
- section for output of RTX in mode MODE. RTX is some kind
- of constant in RTL. The argument MODE is redundant except
- in the case of a `const_int' rtx. Currently, these always
- go into the const section. */
- #define SELECT_RTX_SECTION(MODE,RTX) const_section ()
-
- /* On svr4, we *do* have support for the .init and .fini sections, and we
- can put stuff in there to be executed before and after `main'. We let
- crtstuff.c and other files know this by defining the following symbols.
- The definitions say how to change sections to the .init and .fini
- sections. This is the same for all known svr4 assemblers. */
- #define INIT_SECTION_ASM_OP "\t.section\t.init"
- #define FINI_SECTION_ASM_OP "\t.section\t.fini"
-
-
- /* This is how we tell the assembler that a symbol is weak. */
- #define ASM_WEAKEN_LABEL(FILE,NAME) \
- do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
- fputc ('\n', FILE); } while (0)
-
/* This is how we tell the assembler that two symbols have the same value. */
!
! #define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \
! do { assemble_name (FILE, NAME1); \
! fputs (" = ", FILE); \
! assemble_name (FILE, NAME2); \
! fputc ('\n', FILE); } while (0)
!
! /* Make DWARF2 an option, but keep DBX as the default for now.
! Use -gdwarf-2 to turn on DWARF2. */
! #define DWARF2_DEBUGGING_INFO
! #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
!
! /* Get the standard ELF stabs definitions. */
! #include "dbxelf.h"
!
! #include "arm/elf.h"
! #include "arm/linux-gas.h"
/* NWFPE always understands FPA instructions. */
#undef FP_DEFAULT
--- 93,108 ----
/* Allow #sccs in preprocessor. */
#define SCCS_DIRECTIVE
/* This is how we tell the assembler that two symbols have the same value. */
! #define ASM_OUTPUT_DEF(FILE, NAME1, NAME2) \
! do \
! { \
! assemble_name (FILE, NAME1); \
! fputs (" = ", FILE); \
! assemble_name (FILE, NAME2); \
! fputc ('\n', FILE); \
! } \
! while (0)
/* NWFPE always understands FPA instructions. */
#undef FP_DEFAULT
Index: config/arm/linux-gas.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/linux-gas.h,v
retrieving revision 1.7
diff -p -r1.7 linux-gas.h
*** linux-gas.h 2001/01/02 13:38:41 1.7
--- linux-gas.h 2001/09/07 10:12:36
*************** along with this program; see the file CO
*** 20,43 ****
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
! /*
! * We are using GAS, so stabs should work.
! */
! #ifndef DBX_DEBUGGING_INFO
! #define DBX_DEBUGGING_INFO 1
! #endif
!
! /*
! * This is how we tell the assembler that a symbol is weak. GAS always
! * supports weak symbols.
! */
!
! #define ASM_WEAKEN_LABEL(FILE,NAME) \
! do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
! fputc ('\n', FILE); } while (0)
!
! /* This is used in ASM_FILE_START */
#undef ARM_OS_NAME
#define ARM_OS_NAME "Linux"
--- 20,29 ----
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
! /* This is how we tell the assembler that a symbol is weak.
! GAS always supports weak symbols. */
! /* This is used in ASM_FILE_START. */
#undef ARM_OS_NAME
#define ARM_OS_NAME "Linux"
Index: config/arm/rtems-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/rtems-elf.h,v
retrieving revision 1.1
diff -p -r1.1 rtems-elf.h
*** rtems-elf.h 2000/12/07 02:42:01 1.1
--- rtems-elf.h 2001/09/07 10:12:36
***************
*** 1,5 ****
/* Definitions for RTEMS based ARM systems using ELF
! Copyright (C) 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for RTEMS based ARM systems using ELF
! Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
*************** the Free Software Foundation, 59 Temple
*** 19,37 ****
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
#define TARGET_VERSION fputs (" (ARM/ELF RTEMS)", stderr);
#define HAS_INIT_SECTION
! #include "unknown-elf.h"
!
! #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Darm -Darm_elf -Drtems -D__rtems__ -D__ELF__ \
-Asystem(rtems) -Acpu(arm) -Amachine(arm)"
/*#undef INVOKE_main*/
-
- /* Get machine-independent configuration parameters for RTEMS. */
- #include <rtems.h>
--- 19,33 ----
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
+ #undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF RTEMS)", stderr);
#define HAS_INIT_SECTION
! #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Darm -Darm_elf -Drtems -D__rtems__ -D__ELF__ \
-Asystem(rtems) -Acpu(arm) -Amachine(arm)"
/*#undef INVOKE_main*/
Index: config/arm/strongarm-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/strongarm-elf.h,v
retrieving revision 1.2
diff -p -r1.2 strongarm-elf.h
*** strongarm-elf.h 2000/04/08 14:29:52 1.2
--- strongarm-elf.h 2001/09/07 10:12:36
***************
*** 1,5 ****
/* Definitions for non-Linux based StrongARM systems using ELF
! Copyright (C) 1999 Free Software Foundation, Inc.
Contributed by Catherine Moore <clm@cygnus.com>
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for non-Linux based StrongARM systems using ELF
! Copyright (C) 1999, 2001 Free Software Foundation, Inc.
Contributed by Catherine Moore <clm@cygnus.com>
This file is part of GNU CC.
*************** Boston, MA 02111-1307, USA. */
*** 28,31 ****
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_strongarm
#endif
- #include "unknown-elf.h"
--- 28,30 ----
Index: config/arm/uclinux-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/uclinux-elf.h,v
retrieving revision 1.3
diff -p -r1.3 uclinux-elf.h
*** uclinux-elf.h 1999/12/18 13:34:21 1.3
--- uclinux-elf.h 2001/09/07 10:12:36
***************
*** 1,5 ****
/* Definitions for ARM running ucLinux using ELF
! Copyright (C) 1999 Free Software Foundation, Inc.
Contributed by Philip Blundell <pb@nexus.co.uk>
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for ARM running ucLinux using ELF
! Copyright (C) 1999, 2001 Free Software Foundation, Inc.
Contributed by Philip Blundell <pb@nexus.co.uk>
This file is part of GNU CC.
*************** You should have received a copy of the G
*** 18,25 ****
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-
- #include "arm/linux-elf.h"
/* We don't want a PLT. */
#undef NEED_PLT_RELOC
--- 18,23 ----
Index: config/arm/unknown-elf-oabi.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/unknown-elf-oabi.h,v
retrieving revision 1.3
diff -p -r1.3 unknown-elf-oabi.h
*** unknown-elf-oabi.h 2000/11/02 23:29:08 1.3
--- unknown-elf-oabi.h 2001/09/07 10:12:36
*************** the Free Software Foundation, 59 Temple
*** 20,36 ****
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
! #ifndef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF non-Linux old abi)", stderr);
- #endif
#define CPP_PREDEFINES "-Darm_oabi -Darm -Darm_elf -Acpu=arm -Amachine=arm -D__ELF__"
! #ifndef ASM_SPEC
#define ASM_SPEC "-moabi %{mbig-endian:-EB} %{mcpu=*:-m%*} %{march=*:-m%*} \
%{mapcs-*:-mapcs-%*} %{mthumb-interwork:-mthumb-interwork}"
- #endif
- /* Now get the routine arm-elf definitions. */
- #include "arm/unknown-elf.h"
- #include "arm/elf.h"
--- 20,32 ----
Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
! #undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF non-Linux old abi)", stderr);
+ #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Darm_oabi -Darm -Darm_elf -Acpu=arm -Amachine=arm -D__ELF__"
! #undef ASM_SPEC
#define ASM_SPEC "-moabi %{mbig-endian:-EB} %{mcpu=*:-m%*} %{march=*:-m%*} \
%{mapcs-*:-mapcs-%*} %{mthumb-interwork:-mthumb-interwork}"
Index: config/arm/unknown-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/unknown-elf.h,v
retrieving revision 1.21
diff -p -r1.21 unknown-elf.h
*** unknown-elf.h 2001/08/31 17:09:58 1.21
--- unknown-elf.h 2001/09/07 10:12:36
*************** along with this program; see the file CO
*** 19,24 ****
--- 19,27 ----
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+ /* elfos.h should have already been included. Now just override
+ any conflicting definitions and add any extras. */
+
/* Run-time Target Specification. */
#ifndef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM/ELF non-Linux)", stderr);
*************** Boston, MA 02111-1307, USA. */
*** 30,83 ****
#endif
/* Now we define the strings used to build the spec file. */
#define STARTFILE_SPEC "crtbegin%O%s crt0%O%s"
#define ENDFILE_SPEC "crtend%O%s"
- #define USER_LABEL_PREFIX ""
- #define LOCAL_LABEL_PREFIX "."
-
- #define TEXT_SECTION_ASM_OP "\t.text"
- #define INIT_SECTION_ASM_OP "\t.section\t.init"
- #define FINI_SECTION_ASM_OP "\t.section\t.fini"
-
#define INVOKE__main
! /* Debugging */
! #define DWARF_DEBUGGING_INFO
! #define DWARF2_DEBUGGING_INFO
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
- /* Support for Constructors and Destrcutors . */
- #define READONLY_DATA_SECTION rdata_section
-
- /* A list of other sections which the compiler might be "in" at any
- given time. */
- #define SUBTARGET_EXTRA_SECTIONS in_rdata
-
- /* A list of extra section function definitions. */
- #define SUBTARGET_EXTRA_SECTION_FUNCTIONS RDATA_SECTION_FUNCTION
-
- #define RDATA_SECTION_ASM_OP "\t.section .rodata"
-
- #define RDATA_SECTION_FUNCTION \
- void rdata_section PARAMS ((void)); \
- \
- void \
- rdata_section () \
- { \
- if (in_section != in_rdata) \
- { \
- fprintf (asm_out_file, "%s\n", RDATA_SECTION_ASM_OP); \
- in_section = in_rdata; \
- } \
- }
-
- /* Switch into a generic section. */
- #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
-
/* The ARM development system defines __main. */
! #define NAME__MAIN "__gccmain"
#define SYMBOL__MAIN __gccmain
/* Return a non-zero value if DECL has a section attribute. */
--- 33,51 ----
#endif
/* Now we define the strings used to build the spec file. */
+ #undef STARTFILE_SPEC
#define STARTFILE_SPEC "crtbegin%O%s crt0%O%s"
+ #undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend%O%s"
#define INVOKE__main
! #undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
/* The ARM development system defines __main. */
! #define NAME__MAIN "__gccmain"
#define SYMBOL__MAIN __gccmain
/* Return a non-zero value if DECL has a section attribute. */
*************** rdata_section () \
*** 85,132 ****
((TREE_CODE (DECL) == FUNCTION_DECL || TREE_CODE (DECL) == VAR_DECL) \
&& DECL_SECTION_NAME (DECL) != NULL_TREE)
- #define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
-
- #define UNIQUE_SECTION(DECL, RELOC) \
- do \
- { \
- int len; \
- int sec; \
- const char * name; \
- char * string; \
- char * prefix; \
- static char * prefixes[4][2] = \
- { \
- { ".text.", ".gnu.linkonce.t." }, \
- { ".rodata.", ".gnu.linkonce.r." }, \
- { ".data.", ".gnu.linkonce.d." }, \
- { ".bss.", ".gnu.linkonce.b." } \
- }; \
- \
- if (TREE_CODE (DECL) == FUNCTION_DECL) \
- sec = 0; \
- else if (DECL_READONLY_SECTION (DECL, RELOC)) \
- sec = 1; \
- else if (DECL_INITIAL (DECL) == NULL_TREE) \
- sec = 3; \
- else \
- sec = 2; \
- \
- prefix = prefixes[sec][DECL_ONE_ONLY(DECL)]; \
- name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \
- \
- /* Strip off any encoding in name. */ \
- STRIP_NAME_ENCODING (name, name); \
- \
- len = strlen (name) + strlen (prefix); \
- string = alloca (len + 1); \
- \
- sprintf (string, "%s%s", prefix, name); \
- \
- DECL_SECTION_NAME (DECL) = build_string (len, string); \
- } \
- while (0)
-
#undef ASM_OUTPUT_ALIGNED_BSS
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
do \
--- 53,58 ----
*************** rdata_section () \
*** 169,173 ****
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm7tdmi
#endif
- /* Now get the routine arm-elf definitions. */
- #include "elf.h"
--- 95,97 ----
Index: config/arm/xscale-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/arm/xscale-elf.h,v
retrieving revision 1.1
diff -p -r1.1 xscale-elf.h
*** xscale-elf.h 2000/12/04 00:23:35 1.1
--- xscale-elf.h 2001/09/07 10:12:36
***************
*** 1,5 ****
/* Definitions for XScale architectures using ELF
! Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Contributed by Catherine Moore <clm@cygnus.com>
This file is part of GNU CC.
--- 1,5 ----
/* Definitions for XScale architectures using ELF
! Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Catherine Moore <clm@cygnus.com>
This file is part of GNU CC.
*************** Boston, MA 02111-1307, USA. */
*** 34,38 ****
#define MULTILIB_DEFAULTS \
{ "mlittle-endian", "mno-thumb-interwork", "marm" }
#endif
-
- #include "unknown-elf.h"
--- 34,36 ----