Add support for x86_64-*-linux-gnu* target
This commit is contained in:
parent
8d88c4ca53
commit
2be3aa031f
7 changed files with 381 additions and 326 deletions
|
@ -1,3 +1,11 @@
|
|||
2000-11-30 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* Makefile.am (ALL_EMULATIONS): Add eelf_x86_64.o
|
||||
(eelf_x86_64.c): New.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure.tgt: Add support for x86_64-*-linux-gnu*.
|
||||
* emulparams/elf_x86_64.sh: New.
|
||||
|
||||
2000-11-30 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* emulparams/crislinux.sh (ENTRY): Change back to _start.
|
||||
|
|
|
@ -242,6 +242,7 @@ ALL_EMULATIONS = \
|
|||
|
||||
ALL_64_EMULATIONS = \
|
||||
eelf64_ia64.o \
|
||||
eelf_x86_64.o \
|
||||
eelf64_sparc.o \
|
||||
eelf64alpha.o \
|
||||
eelf64bmip.o \
|
||||
|
@ -499,6 +500,9 @@ eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
|
|||
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
|
||||
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
|
||||
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
|
||||
|
|
|
@ -351,6 +351,7 @@ ALL_EMULATIONS = \
|
|||
|
||||
ALL_64_EMULATIONS = \
|
||||
eelf64_ia64.o \
|
||||
eelf_x86_64.o \
|
||||
eelf64_sparc.o \
|
||||
eelf64alpha.o \
|
||||
eelf64bmip.o \
|
||||
|
@ -1213,6 +1214,9 @@ eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
|
|||
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
|
||||
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
|
||||
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
|
||||
|
|
|
@ -124,6 +124,10 @@ i[3456]86-*-linux-gnu*) targ_emul=elf_i386
|
|||
targ_extra_emuls=i386linux
|
||||
tdir_i386linux=${targ_alias}aout
|
||||
;;
|
||||
x86_64-*-linux-gnu*) targ_emul=elf_x86_64
|
||||
targ_extra_emuls="elf_i386 i386linux"
|
||||
tdir_i386linux=${targ_alias}aout
|
||||
;;
|
||||
i[3456]86-*-sysv[45]*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-solaris2*) targ_emul=elf_i386 ;;
|
||||
i[3456]86-*-unixware) targ_emul=elf_i386 ;;
|
||||
|
|
11
ld/emulparams/elf_x86_64.sh
Normal file
11
ld/emulparams/elf_x86_64.sh
Normal file
|
@ -0,0 +1,11 @@
|
|||
SCRIPT_NAME=elf
|
||||
ELFSIZE=64
|
||||
OUTPUT_FORMAT="elf64-x86-64"
|
||||
TEXT_START_ADDR=0x1000
|
||||
MAXPAGESIZE=0x1000
|
||||
NONPAGED_TEXT_START_ADDR=0x1000
|
||||
ARCH=i386
|
||||
MACHINE=
|
||||
NOP=0x9090
|
||||
TEMPLATE_NAME=elf32
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
14
ld/ldlang.c
14
ld/ldlang.c
|
@ -120,13 +120,11 @@ static void print_statement_list
|
|||
PARAMS ((lang_statement_union_type *, lang_output_section_statement_type *));
|
||||
static void print_statements PARAMS ((void));
|
||||
static bfd_vma insert_pad
|
||||
PARAMS ((lang_statement_union_type **this_ptr, fill_type fill,
|
||||
unsigned int power, asection *output_section_statement,
|
||||
bfd_vma dot));
|
||||
PARAMS ((lang_statement_union_type **, fill_type,
|
||||
unsigned int, asection *, bfd_vma));
|
||||
static bfd_vma size_input_section
|
||||
PARAMS ((lang_statement_union_type **this_ptr,
|
||||
lang_output_section_statement_type *output_section_statement,
|
||||
fill_type fill, bfd_vma dot, boolean relax));
|
||||
PARAMS ((lang_statement_union_type **, lang_output_section_statement_type *,
|
||||
fill_type, bfd_vma, boolean));
|
||||
static void lang_finish PARAMS ((void));
|
||||
static void ignore_bfd_errors PARAMS ((const char *, ...));
|
||||
static void lang_check PARAMS ((void));
|
||||
|
@ -197,11 +195,11 @@ etree_type *base; /* Relocation base - or null */
|
|||
#define cat(a,b) a/**/b
|
||||
#endif
|
||||
|
||||
#define new_stat(x,y) (cat(x,_type)*) new_statement(cat(x,_enum), sizeof(cat(x,_type)),y)
|
||||
#define new_stat(x, y) (cat (x, _type)*) new_statement (cat (x, _enum), sizeof (cat (x, _type)), y)
|
||||
|
||||
#define outside_section_address(q) ((q)->output_offset + (q)->output_section->vma)
|
||||
|
||||
#define outside_symbol_address(q) ((q)->value + outside_section_address(q->section))
|
||||
#define outside_symbol_address(q) ((q)->value + outside_section_address (q->section))
|
||||
|
||||
#define SECTION_NAME_MAP_LENGTH (16)
|
||||
|
||||
|
|
662
ld/po/ld.pot
662
ld/po/ld.pot
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue