Nick Clifton
8a7140c38f
Add support for generating DWARF2 debug sections in the x86 PE port
2004-04-29 16:40:20 +00:00
Chris Demetriou
23867d6732
[ bfd/ChangeLog ]
...
2004-04-21 Chris Demetriou <cgd@broadcom.com>
* coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
* bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
(bfd_mips_elf32_create_embedded_relocs): Remove prototypes
* bfd-in2.h: Regenerate.
[ ld/ChangeLog ]
2004-04-21 Chris Demetriou <cgd@broadcom.com>
* ld.texinfo: Remove MIPS --embedded-relocs documentation.
* emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
* emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
(EXTRA_EM_FILE): Use mipsecoff.em
* emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
(EXTRA_EM_FILE): Use mipsecoff.em
* emultempl/mipsecoff.em: Restructure to be included as an
extra emulation file.
(check_sections, gld${EMULATION_NAME}_after_open)
(gld${EMULATION_NAME}_after_allocation)
(gld${EMULATION_NAME}_get_script)
(ld_${EMULATION_NAME}_emulation): Remove
(gld${EMULATION_NAME}_before_parse): Rename to...
(mipsecoff_before_parse): This.
(LDEMUL_BEFORE_PARSE): Define.
* emultempl/mipself.em: Remove file.
* scripttempl/mips.sc (.rel.sdata): Do not include in output.
(__runtime_reloc_start, __runtime_reloc_stop): Stop providing
these symbols.
* Makefile.am: Remove dependencies on emultempl/mipself.em.
* Makefile.in: Regenerate.
[ ld/testsuite/ChangeLog ]
2004-04-21 Chris Demetriou <cgd@broadcom.com>
* ld-empic/run.c: Removed as part of MIPS --embedded-relocs removal.
* ld-empic/empic.exp: Likewise.
* ld-empic/relax.t: Likewise.
* ld-empic/relax1.c: Likewise.
* ld-empic/relax2.c: Likewise.
* ld-empic/relax3.c: Likewise.
* ld-empic/relax4.c: Likewise.
* ld-empic/runtest1.c: Likewise.
* ld-empic/runtest2.c: Likewise.
* ld-empic/runtesti.s: Likewise.
* ld-mips-elf/empic1-ln.d: Likewise.
* ld-mips-elf/empic1-lp.d: Likewise.
* ld-mips-elf/empic1-mn.d: Likewise.
* ld-mips-elf/empic1-mp.d: Likewise.
* ld-mips-elf/empic1-ref.s: Likewise.
* ld-mips-elf/empic1-sn.d: Likewise.
* ld-mips-elf/empic1-sp.d: Likewise.
* ld-mips-elf/empic1-space.s: Likewise.
* ld-mips-elf/empic1-tgt.s: Likewise.
* ld-mips-elf/empic2-fwd-0.d: Likewise.
* ld-mips-elf/empic2-fwd-1.d: Likewise.
* ld-mips-elf/empic2-fwd-tgt.s: Likewise.
* ld-mips-elf/empic2-ref.s: Likewise.
* ld-mips-elf/empic2-rev-0.d: Likewise.
* ld-mips-elf/empic2-rev-1.d: Likewise.
* ld-mips-elf/empic2-rev-tgt.s: Likewise.
* ld-mips-elf/empic2-space.s: Likewise.
* ld-mips-elf/emrelocs-eb.d: Likewise.
* ld-mips-elf/emrelocs-el.d: Likewise.
* ld-mips-elf/emrelocs.ld: Likewise.
* ld-mips-elf/emrelocs1.s: Likewise.
* ld-mips-elf/emrelocs2.s: Likewise.
* ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
2004-04-21 20:52:31 +00:00
Eric Botcazou
a85bf78e2a
* scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
...
(.data): Add KEEP for .gnu.linkonce.d.*personality*.
(.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
2004-04-21 07:15:05 +00:00
Danny Smith
3c17e4f7ec
* scriptempl/pe.sc: Put numbered .ctors.* after .ctors
...
with default priority. Likewise for dtors.
2004-04-17 23:22:49 +00:00
Nick Clifton
0949843db2
Add (linker) support for CR16C processor
2004-03-30 14:04:32 +00:00
Nick Clifton
f2f489ac6f
(HEAP_SECTION_MSP430): New section for forthcoming devices.
...
(_etext): provide this defenition for all scripts.
2003-12-03 10:44:50 +00:00
Nick Clifton
ca6dee30a3
Add initial support for TLS sections in PE format files.
2003-11-10 17:04:55 +00:00
Stephane Carrez
d522f22725
* scripttempl/elfm68hc12.sc: Define eeprom memory region.
2003-10-27 10:10:57 +00:00
Marek Michalkiewicz
75ca919acf
* Makefile.am: Remove old (before GCC 3.3) emulations for AVR
...
target: avr1200, avr23xx, avr4433, avr44x4, avr85xx, avrmega103,
avrmega161, avrmega603. Default to avr2.
* Makefile.in: Regenerate.
* configure.tgt: Likewise.
* emulparams/avr1200.sh: Remove.
* emulparams/avr23xx.sh: Remove.
* emulparams/avr4433.sh: Remove.
* emulparams/avr44x4.sh: Remove.
* emulparams/avr85xx.sh: Remove.
* emulparams/avrmega103.sh: Remove.
* emulparams/avrmega161.sh: Remove.
* emulparams/avrmega603.sh: Remove.
* scripttempl/elf32avr.sc: Remove.
2003-10-19 16:46:14 +00:00
Hans-Peter Nilsson
06335781f6
* emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker
...
relaxation always; don't exclude relocatable linking. Adjust for
_bfd_mmix_prepare_linker_allocated_gregs renamed to
_bfd_mmix_before_linker_allocation.
(mmix_after_allocation): Adjust for
_bfd_mmix_finalize_linker_allocated_gregs renamed to
_bfd_mmix_after_linker_allocation.
* scripttempl/mmo.sc: Use ADDR (.text), not . - SIZEOF (.text).
2003-10-18 15:49:10 +00:00
H.J. Lu
c6d3b05fe7
2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
...
* scripttempl/elf.sc (__executable_start): Provide.
2003-10-10 01:36:36 +00:00
Jason Eckhardt
9d7e2ba5ae
2003-08-04 Christian Groessler <chris@groessler.org>
...
Jason Eckhardt <jle@rice.edu>
* configure.tgt: Recognize new target i860-*-coff.
* Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
(ecoff_i860.c): New rule.
* emulparams/coff_i860.sh: New file.
* scripttempl/i860coff.sc: New file.
* Makefile.in: Regenerate.
2003-08-06 02:19:05 +00:00
Stephane Carrez
83a27a96d4
* scripttempl/elfm68hc12.sc: Add gcc_except_table.
...
* scripttempl/elfm68hc11.sc: Likewise.
2003-07-29 20:17:17 +00:00
Stephane Carrez
494fee87a7
* scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into
...
account .tramp sections;
* scripttempl/elfm68hc12.sc: Likewise.
2003-07-23 19:33:20 +00:00
Alan Modra
68f8ff14d1
* emulparams/elf64ppc.sh (OTHER_GOT_SECTIONS): Don't define.
...
(GOT): Define.
* emultempl/ppc64elf.em (stub_added): New static var.
(ppc_create_output_section_statements): Call ppc64_elf_init_stub_bfd.
(ppc_add_stub_section): Set stub_added.
(gld${EMULATION_NAME}_finish): Look for .got rather than .toc. Adjust
ppc64_elf_size_stubs call and test for stubs.
* scripttempl/elf.sc (GOT): Define and use.
2003-07-10 00:38:19 +00:00
Jakub Jelinek
9203ba999f
bfd/
...
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
(elfNN_ia64_dynamic_symbol_p): Change info->shared into
!info->executable.
(get_fptr): For -pie create .opd as writable section and create
.rela.opd as well.
(elfNN_ia64_check_relocs): Change info->shared into
!info->executable.
(allocate_fptr): Likewise.
(allocate_dynrel_entries): Account for a relative reloc for -pie
@fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
for undefweak symbol. Account for an IPLT reloc in .rela.opd
section if -pie.
(set_got_entry): Don't create a relative reloc if -pie
want_ltoff_fptr for undefweak symbol.
(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
@fptr().
* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
even if -pie.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
ld/
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't include
.opd if -pie.
(OTHER_READWRITE_SECTIONS): Include .opd if -pie.
* scripttempl/elf.sc: Use SHLIB_DATA_ADDR instead of DATA_ADDR
if -pie.
2003-07-04 13:53:38 +00:00
Richard Sandiford
d1b2d571cc
* scripttempl/h8300sxn.sc: New file.
2003-06-10 08:31:04 +00:00
Jakub Jelinek
9ee5e4996f
binutils/
...
* readelf.c (get_segment_type): Handle PT_GNU_STACK.
bfd/
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
(bfd_section_from_phdr): Likewise.
(map_sections_to_segments): Create PT_GNU_STACK segment header.
(get_program_header_size): Count with PT_GNU_STACK.
* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
include/
* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
* elf/common.h (PT_GNU_STACK): Define.
ld/
* ldgram.y (phdr_type): Grok PT_GNU_STACK.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
-z execstack and -z noexecstack.
(gld${EMULATION_NAME}_list_options): Likewise.
* scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
2003-06-03 22:27:24 +00:00
Michael Snyder
65982ba6e7
2003-06-03 Michael Snyder <msnyder@redhat.com>
...
and Bernd Schmidt <bernds@redhat.com>
and Alexandre Oliva <aoliva@redhat.com>
* Makefile.am: Add new emulations for h8300sx.
* Makefile.in: Regenerate.
* configure.tgt: Add new emulations.
* emulparams/h8300sx.sh: New emulation.
* emulparams/h8300sxelf.sh: Ditto.
* scripttempl/h8300sx.sc: Ditto.
2003-06-03 21:43:52 +00:00
Jakub Jelinek
36af4a4e51
bfd/
...
* elflink.h (elf_link_add_object_symbols): Use !info->executable
instead of info->shared where appropriate.
(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
* elflink.c (_bfd_elf_create_got_section): Likewise.
(_bfd_elf_link_create_dynamic_sections): Likewise.
(_bfd_elf_link_assign_sym_version): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
and DT_DEBUG dynamic tag even for position independent executables.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
include/
* bfdlink.h (struct bfd_link_info): Add pie and executable
bits.
ld/
* lexsup.c (OPTION_PIE): Define.
(ld_options): Add -pie and --pic-executable options.
(parse_args): Handle OPTION_PIE.
* ldmain.c (main): Initialize link_info.pie and
link_info.executable.
* genscripts.sh: Generate PIE scripts.
* ld.texinfo: Document -pie and --pic-executable options.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
(gld${EMULATION_NAME}_place_orphan): Likewise.
(gld${EMULATION_NAME}_get_script): Include PIE scripts.
* scripttempl/elf.sc: In PIE scripts set . the same way as in
shared scripts.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
* emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
2003-05-30 15:50:12 +00:00
Nick Clifton
0dbc2a48b4
oops - omitted from previous delta
2003-04-24 15:25:24 +00:00
Nick Clifton
8d9cd6b19b
Add support for h8300hn and h8300sn
2003-04-24 12:36:08 +00:00
Nick Clifton
517ed4859c
Define __data and __rdata
2003-04-18 08:26:17 +00:00
Nick Clifton
39f1ebed0b
Add .jcr section mapping.
2003-04-16 11:53:46 +00:00
Alan Modra
877d60f7bc
* scripttempl/elf.sc (CTOR): Handle crtbeginS.o, crtendS.o and
...
other variants of crtbegin.o, crtend.o.
(DTOR): Likewise.
* scripttempl/crisaout.sc (ctors, dtors): Likewise.
* scripttempl/elf_chaos.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
* scripttempl/elfxtensa.sc (CTOR, DTOR): Likewise.
* scripttempl/iq2000.sc (CTOR, DTOR): Likewise.
* scripttempl/mmo.sc (ctors, dtors): Likewise.
* scripttempl/xstormy16.sc (CTOR, DTOR): Likewise.
2003-04-14 13:03:17 +00:00
Nick Clifton
d4b6ee6788
Add initX, finiX, ctors, dtors sections to respect C++ constructor/destructor.
...
Add ctors/dtors start/stop definitions.
2003-04-09 11:07:51 +00:00
Svein Seldal
be33c5dd4d
Namespace cleanup for the tic4x target. Replace s/c4x/tic4x/ and s/c3x/tic3x/. 2003 copyright update
2003-04-04 08:15:15 +00:00
Nick Clifton
e0001a05d2
Add Xtensa port
2003-04-01 15:50:31 +00:00
Nick Clifton
e16bb312f5
Add iWMMXt support
2003-03-25 20:56:01 +00:00
Christopher Faylor
15c9f67344
* scripttempl/pe.sc: Use PROVIDE with etext, end, _end,
2003-03-03 02:38:10 +00:00
Nick Clifton
db6a591064
Add new data anchors defenitions.
2003-02-11 18:02:55 +00:00
Svein Seldal
0da35f8be8
Updates for fixing tic4x arch tagging of its object files.
...
* bfd/coffcode.h (coff_set_flags): Added get/set arch hooks.
* include/coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
* include/coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
* ld/Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o
* ld/Makefile.in: Regenerate
* ld/configure.tgt: Added extra target emulations
* ld/emulparams/tic3xcoff.sh: Remove old settings
* ld/emulparams/tic4xcoff.sh: Ditto
* ld/emulparams/tic3xcoff-onchip.sh: Added new
* ld/scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x
* ld/scripttempl/tic3xcoff.sc: Remove
2003-01-20 22:34:39 +00:00
Stan Cox
e09a710638
* Makefile.am (ALL_EMULATIONS): Add eelf32iq2000.o.
...
(eelf32iq2000.c): New target.
* Makefile.in: Regenerate.
* configure.tgt: Handle iq2000-*-elf.
* emulparams/elf32iq10.sh: New file.
* emulparams/elf32iq2000.sh: New file.
* scripttempl/iq2000.sc: New file.
2003-01-04 02:04:44 +00:00
Nick Clifton
2469cfa284
Add support for msp430.
2002-12-30 19:25:13 +00:00
Nick Clifton
3637916721
(__RUNTIME_PSEUDO_RELOC_LIST__, __RUNTIME_PSEUDO_RELOC_LIST_END__): Add
...
only when relocating.
2002-10-23 11:21:27 +00:00
Stephane Carrez
e1026ffb69
* scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
...
.finiN section.
* scripttempl/elfm68hc12.sc: Likewise.
2002-10-13 09:29:35 +00:00
Alan Modra
1bf0a4d93e
* scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
...
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
2002-09-30 09:31:31 +00:00
Daniel Jacobowitz
ff3268267c
From "Anita Kulkarni" <AnitaK@kpit.com>
...
* scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
sections.
2002-09-25 17:06:09 +00:00
Alan Modra
1ddd7b13ed
* genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
...
TARGET_PAGE_SIZE.
* scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
SEGMENT_SIZE alignment.
* emulparams/elf64ppc.sh (DATA_ADDR): Delete.
(SEGMENT_SIZE): Define.
2002-09-25 07:21:08 +00:00
Alan Modra
06143382c6
* emulparams/elf64ppc.sh (DATA_ADDR): Define.
...
* emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
for start of .data, instead align up to 256M boundary.
* scripttempl/aix.sc: Likewise.
2002-09-24 04:02:03 +00:00
DJ Delorie
8e616ecc6b
* scripttempl/i386go32.sc: Handle bss unique sections.
2002-09-23 11:36:15 +00:00
Nick Clifton
67010b4679
Add EXTERN references to __ctbpm __gp and __ep.
...
Define TEMPLATE_NAME.
Revert bogus change to ldexp.c
2002-09-02 17:03:30 +00:00
Nick Clifton
5435462c55
Update description to reflect D10V TS3 board.
2002-08-30 11:34:40 +00:00
Nick Clifton
026df7c5e6
Add TMS320C4x support
2002-08-28 10:38:51 +00:00
Nick Clifton
ad5211bec5
Handle .rdata_runtime_pseudo_reloc sections.
2002-08-27 11:12:53 +00:00
Nick Clifton
24a1ba0f48
Revert Adam Nemet's THUMB PLT patch
2002-08-01 14:03:01 +00:00
Nick Clifton
8f64befb29
Add support for Thumb PLT entries with interworking
2002-07-31 12:04:47 +00:00
Nick Clifton
cf88bb9f09
Add IP2k support to BFD and LD
2002-07-17 14:15:52 +00:00
Stephane Carrez
a66c0f2c3b
* emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
...
* emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
* emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
(EEPROM_START_ADDR): Define.
(EEPROM_MEMORY): Define.
* emulparams/m68hc12elf.sh: Likewise.
* scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
section to put soft registers in .page0.
* scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
2002-06-29 10:33:45 +00:00
Tom Rix
8243435612
Fix ld segfault for some elf targets. Fix default layout for d10v.
2002-06-17 14:08:40 +00:00
Alan Modra
f13a54248a
* scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.
2002-06-07 09:59:07 +00:00
Marek Michalkiewicz
0c9b4fee1c
* scripttempl/avr.sc: Changes to support current GCC and avr-libc,
...
C++ constructors/destructors, loosely based on the m68hc11 port.
2002-06-01 23:28:59 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Nick Clifton
b4477fa895
Install new elf_chaos.sc script.
2002-05-27 17:52:56 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Marek Michalkiewicz
7c8bf1e82a
* emulparams/avr1.sh: New file.
...
* emulparams/avr2.sh: New file.
* emulparams/avr3.sh: New file.
* emulparams/avr4.sh: New file.
* emulparams/avr5.sh: New file.
* scripttempl/avr.sc: New file.
2002-05-16 19:51:08 +00:00
Jakub Jelinek
2d13d8c5ee
* scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
...
DATA_SEGMENT_ALIGN.
2002-03-05 11:56:23 +00:00
H.J. Lu
b5090659de
2002-03-04 H.J. Lu <hjl@gnu.org>
...
* scripttempl/elf.sc: Put .preinit_array, .init_array and
.fini_array in the data segment.
2002-03-04 20:40:14 +00:00
Alan Modra
f42ce16e2f
* scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
2002-03-04 01:37:52 +00:00
Richard Henderson
de77b6ac8b
* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
...
.init_array, and .fini_array.
2002-03-02 01:25:26 +00:00
Jakub Jelinek
2d20f7bf67
* ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
...
* ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
(exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
* ldexp.c (exp_data_seg): New variable.
(exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
(fold_binary): Handle DATA_SEGMENT_ALIGN.
(exp_fold_tree): Handle DATA_SEGMENT_END.
Pass allocation_done when recursing instead of hardcoding
lang_allocating_phase_enum.
* ldexp.h (exp_data_seg): New.
* ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
(lang_size_sections): New.
* ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
* scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
if COMMONPAGESIZE is defined.
* emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
* emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
* emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
libraries only.
2002-02-12 14:50:08 +00:00
Geoffrey Keating
da1f2fec05
In ld/ChangeLog:
...
* scripttempl/xstormy16.sc: Don't allocate extra space for the
stack.
In libgloss/ChangeLog:
* xstormy16/Makefile.in (SIM_OBJS): Remove sbrk.o, add
sim_malloc_start.o.
* xstormy16/eva_app.ld: Add __malloc_start.
* xstormy16/sbrk.c: Remove.
* xstormy16/sim_malloc_start.s: New file.
* xstormy16/sim_high.ld: Make the stack start immediately at the
end of the program.
In newlib/ChangeLog:
* configure.host (xstormy16): Don't use the generic malloc.
* libc/machine/xstormy16/Makefile.am: Build tiny-malloc.
* libc/machine/xstormy16/Makefile.in: Regenerate.
* libc/machine/xstormy16/mallocr.c: New file.
* libc/machine/xstormy16/tiny-malloc.c: New file.
2002-02-01 18:00:36 +00:00
Hans-Peter Nilsson
48fa4a5def
Support on-demand global register allocation from
...
R_MMIX_BASE_PLUS_OFFSET relocs.
* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from
mmix_set_reg_section_vma. Call
_bfd_mmix_finalize_linker_allocated_gregs.
(mmix_before_allocation): New function.
(LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation.
(LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation.
* scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP.
(.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated
before .MMIX.reg_contents.
* emultempl/mmo.em (gldmmo_before_allocation): Define to default.
(mmo_after_open): New function.
(LDEMUL_AFTER_OPEN): Define to mmo_after_open.
* emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add
.MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
2002-02-01 08:24:03 +00:00
Nick Clifton
3b16e843f2
Add support for OpenRISC 32-bit embedded processor
2002-01-31 17:33:08 +00:00
DJ Delorie
335c561080
* scripttempl/pe.sc: Add support for constructor priorities.
2002-01-16 01:48:43 +00:00
Denis Chertykov
c40bbade5d
* emulparams/avr1200.sh (DATA_START): Define as 0x60.
...
* emulparams/avr23xx.sh: Likewise.
* emulparams/avr4433.sh: Likewise.
* emulparams/avr44x4.sh: Likewise.
* emulparams/avr85xx.sh: Likewise.
* emulparams/avrmega103.sh: Likewise.
* emulparams/avrmega161.sh: Likewise.
* emulparams/avrmega603.sh: Likewise.
* scripttempl/elf32avr.sc: Use DATA_START instead of 0x60.
2002-01-12 20:22:19 +00:00
Hans-Peter Nilsson
d03b89bdb6
* scripttempl/mmo.sc: Add .debug_ranges to listed sections.
2001-12-16 12:23:01 +00:00
Jakub Jelinek
6576570080
* elf-bfd.h (enum elf_link_info_type): New.
...
(struct bfd_elf_section_data): Remove stab_info and merge_info
fields, add sec_info and sec_info_type.
(struct elf_obj_tdata): Add eh_frame_hdr field.
(_bfd_elf_discard_section_eh_frame): New prototype.
(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
(_bfd_elf_eh_frame_section_offset): Likewise.
(_bfd_elf_write_section_eh_frame): Likewise.
(_bfd_elf_write_section_eh_frame_hdr): Likewise.
* Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo.
(BFD32_BACKENDS_CFILES): Add elf-eh-frame.c.
(elf-eh-frame.lo): New.
* Makefile.in: Rebuilt.
* configure.in (elf): Add elf-eh-frame.lo.
* configure: Rebuilt.
* elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME.
(map_sections_to_segments): Create PT_GNU_EH_FRAME if requested.
(get_program_header_size): Take into account PT_GNU_EH_FRAME
segment.
(_bfd_elf_rela_local_sym): Use sec_info_type and sec_info.
(_bfd_elf_rel_local_sym): Likewise.
(_bfd_elf_section_offset): Likewise. Call
_bfd_elf_eh_frame_section_offset too.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and
sec_info.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf-eh-frame.c: New file.
* elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE
.stab sections. Set sec_info_type, use sec_info instead
of merge_info and stab_info.
(elf_link_create_dynamic_sections): Create .eh_frame_hdr section
if --eh-frame-hdr.
(elf_bfd_final_link): Write .eh_frame_hdr section.
(elf_link_sec_merge_syms): Use sec_info_type and sec_info.
(elf_link_input_bfd): Likewise.
Call _bfd_elf_write_section_eh_frame to write .eh_frame sections.
(elf_bfd_discard_info): Add output_bfd argument.
Call _bfd_elf_discard_section_eh_frame and
_bfd_elf_discard_section_eh_frame_hdr.
(elf_section_ignore_discarded_relocs): Use sec_info_type, not section
names.
* bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust
prototypes.
* bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise.
* elf/common.h (PT_GNU_EH_FRAME): Define.
* bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
* emultempl/elf32.em (finish): Supply output_bfd
to bfd_elf*_discard_info.
(OPTION_EH_FRAME_HDR): Define.
(longopts): Add --eh-frame-hdr.
(parse_args): Handle it.
(list_options): Add --eh-frame-hdr to help.
* emultempl/hppaelf.em (finish): Supply output_bfd
to bfd_elf*_discard_info.
* scripttempl/elf.sc (.eh_frame_hdr): Add.
* readelf.c (get_segment_type): Support PT_GNU_EH_FRAME.
2001-12-13 11:09:34 +00:00
Geoffrey Keating
93fbbb04b8
Index: bfd/ChangeLog
...
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
Richard Henderson <rth@redhat.com>
Corinna Vinschen <vinschen@redhat.com>
* Makefile.am: Add support for xstormy16.
* archures.c: Add support for xstormy16.
* config.bfd: Add support for xstormy16.
* configure.in: Add support for xstormy16.
* reloc.c: Add support for xstormy16.
* targets.c: Add support for xstormy16.
* cpu-xstormy16.c: New file.
* elf32-xstormy16.c: New file.
* Makefile.in: Regenerated.
* bfd-in2.h: Regenerated.
* configure: Regenerated.
* libbfd.h: Regenerated.
Index: binutils/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
* readelf.c (guess_is_rela): Add support for stormy16.
(dump_relocations): Likewise.
(get_machine_name): Likewise.
Index: gas/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
Richard Henderson <rth@redhat.com>
* configure.in: Add support for xstormy16.
* configure: Regenerated.
* Makefile.am: Add support for xstormy16.
* Makefile.in: Regenerated.
* config/tc-xstormy16.c: New file.
* config/tc-xstormy16.h: New file.
Index: gas/testsuite/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
matthew green <mrg@redhat.com>
* gas/xstormy16/allinsn.d: New file.
* gas/xstormy16/allinsn.exp: New file.
* gas/xstormy16/allinsn.s: New file.
* gas/xstormy16/allinsn.sh: New file.
* gas/xstormy16/gcc.d: New file.
* gas/xstormy16/gcc.s: New file.
* gas/xstormy16/gcc.sh: New file.
* gas/xstormy16/reloc-1.d: New file.
* gas/xstormy16/reloc-1.s: New file.
* gas/xstormy16/reloc-2.d: New file.
* gas/xstormy16/reloc-2.s: New file.
Index: ld/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
Richard Henderson <rth@redhat.com>
* Makefile.am: Add support for xstormy16.
* configure.tgt: Add support for xstormy16.
* Makefile.in: Regenerate.
* emulparams/elf32xstormy16.sh: New file.
* scripttempl/xstormy16.sc: New file.
Index: opcodes/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
* Makefile.am: Add support for xstormy16.
* Makefile.in: Regenerate.
* configure.in: Add support for xstormy16.
* configure: Regenerate.
* disassemble.c: Add support for xstormy16.
* xstormy16-asm.c: New generated file.
* xstormy16-desc.c: New generated file.
* xstormy16-desc.h: New generated file.
* xstormy16-dis.c: New generated file.
* xstormy16-ibld.c: New generated file.
* xstormy16-opc.c: New generated file.
* xstormy16-opc.h: New generated file.
Index: include/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
* dis-asm.h (print_insn_xstormy16): Declare.
Index: include/elf/ChangeLog
2001-12-07 Geoffrey Keating <geoffk@redhat.com>
Richard Henderson <rth@redhat.com>
* common.h (EM_XSTORMY16): Define.
* xstormy16.h: New file.
2001-12-08 03:46:03 +00:00
Tom Rix
742aeb63e9
Pass argc and argv to ldemul_choose_target.
...
Support -b64 in AIX
2001-12-03 23:15:28 +00:00
H.J. Lu
484593416a
2001-11-27 H.J. Lu <hjl@gnu.org>
...
* emulparams/elf_i386.sh (NO_SMALL_DATA): Set to yes.
* emulparams/elf_i386_be.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_i386_chaos.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_i386_ldso.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf_x86_64.sh (NO_SMALL_DATA): Likewise.
* emulparams/m68kelf.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf32_sparc.sh (NO_SMALL_DATA): Likewise.
* emulparams/elf64_sparc.sh (NO_SMALL_DATA): Likewise.
* scripttempl/elf.sc (SBSS): New. Define if ${NO_SMALL_DATA}
is not empty.
(SDATA): Likewise.
(REL_SDATA): Likewise.
(REL_SBSS): Likewise.
(REL_SDATA2): Likewise.
(REL_SBSS2): Likewise.
(SBSS2): Define if ${NO_SMALL_DATA} is not empty.
(SDATA2): Likewise.
2001-11-27 19:06:07 +00:00
Stephane Carrez
ecfdd20cce
* scripttempl/elfm68hc11.sc (CTOR, DTOR): Put constructor and
...
destructor in rom.
* scripttempl/elfm68hc12.sc (CTOR, DTOR): Likewise.
2001-11-25 17:29:27 +00:00
Alan Modra
465bc359f9
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define.
...
(config.status): Delete rule.
Add extra dependencies to cover sourced emulparams files.
* Makefile.in: Regenerate.
* scripttempl/elf.sc: Order <section>, <section>.* and
corresponding linkonce sections as seen in input files.
Formatting fixes. Zero vma of all sections if not relocating.
(STACK): Define and insert if STACK_ADDR defined.
(OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_END_SYMBOLS): Define.
(OTHER_READONLY_SECTIONS): Always insert, not just when relocating.
(OTHER_READWRITE_SECTIONS): Likewise.
(OTHER_GOT_SECTIONS): Likewise.
(OTHER_SDATA_SECTIONS): Likewise.
(OTHER_BSS_SECTIONS): Likewise.
* scripttempl/elfi370.sc (OTHER_READONLY_SECTIONS): Likewise.
(OTHER_READWRITE_SECTIONS): Likewise.
* scripttempl/nw.sc (OTHER_READONLY_SECTIONS): Likewise.
(OTHER_READWRITE_SECTIONS): Likewise
* emulparams/armelf.sh (OTHER_RELOCATING_SECTIONS): Delete.
(STACK_ADDR): Define.
* emulparams/armelf_oabi.sh: As for armelf.sh.
* emulparams/elf32mcore.sh: As for armelf.sh.
* emulparams/h8300elf.sh: As for armelf.sh.
* emulparams/mn10200.sh: As for armelf.sh.
* emulparams/shelf.sh: As for armelf.sh.
* emulparams/elf32fr30.sh (OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_END_SYMBOLS): Define.
* emulparams/m32relf.sh: As for elf32fr30.sh.
* emulparams/h8300helf.sh: As for elf32fr30.sh.
* emulparams/h8300self.sh: As for elf32fr30.sh.
* emulparams/criself.sh (OTHER_READONLY_SECTIONS): Protect symbol
defines with RELOCATING test.
(OTHER_SDATA_SECTIONS): Likewise.
(OTHER_RELOCATING_SECTIONS): Delete, replacing with..
(OTHER_END_SYMBOLS): ..this.
* emulparams/crislinux.sh: As for criself.sh.
* emulparams/elf32bmipn32.sh (OTHER_SDATA_SECTIONS): Zero vma
if not relocating.
(OTHER_RELOCATING_SECTIONS): Delete, replacing with..
(OTHER_SECTIONS): ..this. Zero vma if not relocating. Order
normal and linkonce sections as seen in input files.
* emulparams/elf32bmip.sh (DATA_ADDR): Don't define if EMBEDDED.
(TEXT_DYNAMIC): Likewise.
(INITIAL_READONLY_SECTIONS): Zero vma if not relocating.
(OTHER_SDATA_SECTIONS): Likewise.
* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Likewise.
* emulparams/shlelf_linux.sh (OTHER_READWRITE_SECTIONS): Likewise.
* emulparams/elf64alpha.sh (OTHER_READONLY_SECTIONS): Likewise.
* emulparams/hppalinux.sh (OTHER_READONLY_SECTIONS): Likewise.
* emulparams/elf64_aix.sh (OTHER_GOT_SECTIONS): Likewise.
(OTHER_PLT_RELOC_SECTIONS): Likewise.
(OTHER_READONLY_SECTIONS): Likewise. Order normal and linkonce
sections as seen in input files.
* emulparams/elf64_ia64.sh: As for emulparams/elf64_aix.sh.
* emulparams/hppa64linux.sh (OTHER_READONLY_SECTIONS): Zero vma
if not relocating.
(OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS): Likewise.
(OTHER_BSS_END_SYMBOLS): Merge from elf64hppa.sh.
* emulparams/elf64mmix.sh (OTHER_RELOCATING_SECTIONS): Delete.
(OTHER_SECTIONS): Instead, use this..
(OTHER_END_SYMBOLS): ..and this.
* emulparams/elf32b4300.sh: Source elf32bmip.sh, remove duplicates.
* emulparams/elf32bsmip.sh: Likewise.
* emulparams/elf32btsmip.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32lmip.sh: Likewise.
* emulparams/elf32elmip.sh: Source elf32lmip.sh, remove duplicates.
* emulparams/elf32lsmip.sh: Likewise.
* emulparams/elf32ltsmip.sh: Source elf32btsmip.sh, remove duplicates.
* emulparams/elf32l4300.sh: Source elf32b4300.sh, remove duplicates.
* emulparams/elf64bmip.sh: Source elf32bmipn32.sh, remove duplicates.
* emulparams/elf64btsmip.sh: Likewise.
* emulparams/elf64ltsmip.sh: Source elf64btsmip.sh, remove duplicates.
* emulparams/elf32lppc.sh: Source elf32ppc.sh, remove duplicates.
* emulparams/elf32ppclinux.sh: Likewise.
* emulparams/elf32ppcsim.sh: Likewise.
* emulparams/elf32lppcsim.sh: Source elf32lppc.sh, remove duplicates.
* emulparams/elf64hppa.sh: Source hppa64linux.sh, remove duplicates.
* emulparams/h8300helf.sh: Source h8300elf.sh, remove duplicates.
* emulparams/h8300self.sh: Likewise.
* emulparams/mn10300.sh: Source mn10200.sh, remove duplicates.
* emulparams/sh.sh: Comment.
* emulparams/shl.sh: Source sh.sh, remove duplicates.
* emulparams/shlelf.sh: Source shelf.sh, remove duplicates.
* emulparams/shelf_linux.sh: Source shlelf_linux.sh, remove duplicates.
2001-11-22 09:08:05 +00:00
Nick Clifton
3c3bdf30e4
Add MMIX support
2001-10-30 15:20:14 +00:00
Nick Clifton
fd521b4750
Define __EH_FRAME_{BEGIN|END}__
2001-10-20 09:56:29 +00:00
Nick Clifton
5af8a2fbdc
Fix arm aout placement of .bss section
2001-10-11 17:28:43 +00:00
Catherine Moore
cedacdc05a
* scripttempl/v850.sc: Add gcc_except_table sections.
2001-09-12 14:09:18 +00:00
Jakub Jelinek
db6751f2e7
* elf-bfd.h (enum elf_reloc_type_class): New.
...
(struct elf_backend_data): Add elf_backend_reloc_type_class.
(_bfd_elf_reloc_type_class): New.
* elfxx-target.h (elf_backend_reloc_type_class): Define.
(elfNN_bed): Add elf_backend_reloc_type_class.
* elf.c (_bfd_elf_reloc_type_class): New.
* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
is against read-only section.
(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(elf_i386_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(elf32_sparc_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(sparc64_elf_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
(elfNN_ia64_hash_table_create): Clear ia64_info.
(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
section.
(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
instead of looking up section names for DT_TEXTREL.
(elfNN_ia64_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
(struct elf_link_sort_rela): New.
(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
(elf_bfd_final_link): Call elf_link_sort_relocs.
Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
necessary.
* bfdlink.h (struct bfd_link_info): Add combreloc and
spare_dynamic_tags fields.
* emultempl/elf32.em (place_orphan): Place orphan .rel* sections
into .rel.dyn resp. .rela.dyn if combreloc.
(get_script): If .x linker script is equal to .xn, only put it
once into the binary.
Add .xc and .xsc scripts.
(parse_args): Handle -z combreloc and -z nocombreloc.
* scripttempl/elf.sc (.rela.sbss): Fix a typo.
For .xc and .xsc scripts put all .rel* or .rela* input sections
but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn.
* genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME
is elf.
Strip trailing whitespace from script.
Generate .xc and .xsc scripts if requested.
* ldmain.c (main): Initialize link_info.combreloc and
link_info.spare_dynamic_tags.
* lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define.
(ld_options): Add --spare-dynamic-tags option.
(parse_args): Likewise.
* ld.texinfo: Document -z combreloc and -z nocombreloc.
* ldint.texinfo: Document .xc and .xsc linker scripts.
* NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-23 15:14:18 +00:00
Alan Modra
563e308f24
* ld.texinfo: Document that fill values now use the four least
...
significant bytes.
* emulparams/elf32fr30.sh (NOP): Update.
* emulparams/elf32mcore.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_i386_be.sh: Likewise.
* emulparams/elf_i386_chaos.sh: Likewise.
* emulparams/elf_i386_ldso.sh: Likewise.
* emulparams/elf_s390.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/i386moss.sh: Likewise.
* emulparams/i386nw.sh: Likewise.
* emulparams/m68kelf.sh: Likewise.
* scripttempl/elf.sc: Update NOP comment.
* scripttempl/elfi370.sc: Likewise.
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
* scripttempl/nw.sc: Likewise.
2001-08-17 09:51:08 +00:00
Richard Henderson
24098abb6c
* scripttempl/elf.sc, scripttempl/elfd30v.sc,
...
scripttempl/elfm68hc11.sc, scripttempl/elfm68hc12.sc,
scripttempl/v850.sc: Keep .jcr data.
2001-08-12 20:19:49 +00:00
Alan Modra
5253f23b62
* scripttempl/elf.sc: Move non-text .dynamic section before
...
.plt/.got/.sdata* group.
(OTHER_GOT_SECTIONS): Move to immediately after .got.
(OTHER_SDATA_SECTIONS): Add.
* emulparams/criself.sh: Use OTHER_SDATA_SECTIONS rather than
OTHER_GOT_SECTIONS.
* emulparams/crislinux.sh: Likewise.
* emulparams/elf32b4300.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise.
* emulparams/elf32bmipn32.sh: Likewise.
* emulparams/elf32bsmip.sh: Likewise.
* emulparams/elf32btsmip.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32elmip.sh: Likewise.
* emulparams/elf32l4300.sh: Likewise.
* emulparams/elf32lmip.sh: Likewise.
* emulparams/elf32lsmip.sh: Likewise.
* emulparams/elf32ltsmip.sh: Likewise.
* emulparams/elf64bmip.sh: Likewise.
* emulparams/elf64btsmip.sh: Likewise.
* emulparams/elf64ltsmip.sh: Likewise.
2001-08-09 14:25:59 +00:00
Stephane Carrez
de0b18539d
* scripttempl/elfm68hc12.sc (FINISH_CODE, FINISH_RELOC): New to handle
...
.fini[0-4] sections used by _exit
(CTOR, DTOR): Export ctor/dtor symbols; move them to ROM.
(*.text,*.data,*.bss): Take into account .text.*, .data.*, .bss.*.
* scripttempl/elfm68hc11.sc: Likewise.
2001-08-03 20:41:26 +00:00
H.J. Lu
63653551a8
2001-07-03 H.J. Lu <hjl@gnu.org>
...
* scripttempl/elf.sc (DYNAMIC_PAD): Revert the change made on
2001-07-03. It creates dynamic entries even for static binaries.
2001-07-03 23:22:20 +00:00
H.J. Lu
d303a449f2
2001-07-03 Jakub Jelinek <jakub@redhat.com>
...
* scripttempl/elf.sc (DYNAMIC_PAD): New variable.
(DYNAMIC): Use it to reserve few dynamic entries for
post-linking tools.
2001-07-03 17:40:14 +00:00
Tom Rix
3b1b01cf25
Support for xcoff64
2001-05-24 20:59:23 +00:00
Nick Clifton
87748b3227
Add support for arm-vxworks target
2001-04-27 17:12:18 +00:00
Nick Clifton
c20ec07b9a
Support the GCC flags '-ffunction-sections' and '-fdata-sections'.
...
Set the VMA of STABS sections to zero.
2001-03-23 23:05:07 +00:00
Michael Meissner
f9faad58a2
Fixup checkin of wrong source
2001-03-08 02:26:19 +00:00
Michael Meissner
788fca5a32
Add support for -fdata-sections
2001-03-08 02:20:25 +00:00
Kazu Hirata
69f069696b
2001-01-10 Kazu Hirata <kazu@hxi.com>
...
* scripttempl/h8500.sc: Fix formatting.
* scripttempl/h8500b.sc: Likewise.
* scripttempl/h8500c.sc: Likewise.
* scripttempl/h8500m.sc: Likewise.
* scripttempl/h8500s.sc: Likewise.
2001-01-10 18:58:36 +00:00
Kazu Hirata
60c6797e42
2001-01-10 Kazu Hirata <kazu@hxi.com>
...
* scripttempl/h8300.sc: Fix formatting. Fix a comment typo.
* scripttempl/h8300h.sc: Fix formatting.
* scripttempl/h8300s.sc: Likewise.
2001-01-10 11:42:27 +00:00
DJ Delorie
93b63cd3a0
* scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end.
...
Set DWARF2 sections to a VMA of zero.
2000-12-06 16:39:51 +00:00
Hans-Peter Nilsson
8c8998585a
* emulparams/crislinux.sh (ENTRY): Change back to _start.
...
(TEXT_START_SYMBOLS): Remove conditional setting of __start.
* scripttempl/crisaout.sc: Change all RELOCATING not related to
merging non-a.out sections into CONSTRUCTING.
2000-11-30 15:08:44 +00:00
Kazu Hirata
1ce7de8b08
2000-11-14 Kazu Hirata <kazu@hxi.com>
...
* scripttempl/h8300.sc: Fix formatting.
* scripttempl/h8300h.sc: Likewise.
* scripttempl/h8300s.sc: Likewise.
2000-11-14 19:17:53 +00:00
Denis Chertykov
208d5cd0ad
* scripttempl/elf32avr.sc: Fix bug in .eeprom segment.
2000-11-13 22:26:38 +00:00
Nick Clifton
40a633d5ca
Use ${CONSTRUCTING...} to enclose constructors and destructors.
2000-11-03 19:49:05 +00:00
Hans-Peter Nilsson
c5975a4546
* scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32),
...
for consecutive sections.
2000-10-18 13:10:12 +00:00
Hans-Peter Nilsson
24dd9f7582
* scripttempl/crisaout.sc (ENTRY): Now __start.
...
(.text): Add default setting for __start.
Remove CONSTRUCTORS handling.
(/DISCARD/): Add .gnu.warning.*.
* emulparams/crislinux.sh (ENTRY): Now __start.
(TEXT_START_SYMBOLS): New; provide __Stext and __start default.
* emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris.
(ENTRY): Now __start.
(INITIAL_READONLY_SECTIONS): Add KEEP for .startup.
(EXECUTABLE_SYMBOLS): Add default setting for __start.
2000-09-29 19:03:57 +00:00
Nick Clifton
3a9d486c00
Add .gnu.linkonce.wi.* to .debug_info sections.
2000-09-02 20:43:22 +00:00
Andreas Schwab
d73e9da0eb
* scripttempl/elf.sc: Fix last change to use correct comment
...
syntax.
2000-08-14 08:59:40 +00:00
Geoffrey Keating
9ac4db9c1c
* scripttempl/elf.sc: Add a comment giving the correspondence
...
between sections, per-datum sections, and linkonce sections. Make
the comment true even for .bss, .sdata, .sdata2, .sbss, and
.sbss2.
2000-08-10 23:43:57 +00:00
Nick Clifton
236d5abf99
Define __bss_size symbol to indicate the final size of .bss section.
2000-08-08 22:04:32 +00:00
Hans-Peter Nilsson
9d06555c53
* Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
...
ecrislinux.o.
(ecrisaout.c, ecriself.c, ecrislinux.c): New rules.
Regenerate dependencies.
* Makefile.in: Rebuild.
* configure.tgt (cris-*-*): New target.
* emulparams/crisaout.sh, emulparams/criself.sh,
emulparams/crislinux.sh, scripttempl/crisaout.sc: New files.
* po/POTFILES.in, po/ld.pot: Regenerate.
2000-07-20 17:16:06 +00:00
Hans-Peter Nilsson
53db15ed2a
* scripttempl/elf.sc (.init): Only do ${INIT_START} and
...
${INIT_END} if relocating.
(.fini): Likewise ${FINI_START} and ${FINI_END}.
2000-07-17 22:41:08 +00:00
Nick Clifton
062739d151
Support the g++ attribute init_priority in gcc 2.95.2 and later.
2000-07-12 16:41:29 +00:00
Timothy Wall
c9e769c2b1
Remove unimplemented "PAGE N:" flag from default linker script.
2000-06-30 12:36:38 +00:00
Timothy Wall
74459f0e3e
tic54x/ibmc54xdsp target for ld.
2000-06-20 13:29:07 +00:00
Alan Modra
987fd5b44e
Update list of targets supporting --gc-sections.
...
KEEP .eh_frame contents.
2000-06-19 02:05:53 +00:00
Nick Clifton
60bcf0fa8c
Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
...
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Denis Chertykov
2f0b56c07d
* emulparams/avr1200.sh (STACK): Define as 0.
...
* emulparams/avr23xx.sh (STACK): Define as last internal SRAM address.
* emulparams/avr4433.sh (STACK): Likewise.
* emulparams/avr44x4.sh (STACK): Likewise.
* emulparams/avr85xx.sh (STACK): Likewise.
* emulparams/avrmega103.sh (STACK): Likewise.
* emulparams/avrmega161.sh (STACK): Likewise.
* emulparams/avrmega603.sh (STACK): Likewise.
* scripttempl/elf32avr.sc (__data_start): Define for gcrt1.
(__stack): Define from ${STACK} for main().
2000-05-27 15:36:58 +00:00
Richard Henderson
c9637625e4
* scripttempl/elfd30v.sc: Place .gcc_except_table.
2000-04-21 17:29:15 +00:00
Geoffrey Keating
bdbe570575
* scripttempl/elfppc.sc: Remove.
...
* emulparams/elf32ppc.sh: Use elf.sc.
* emulparams/elf32lppc.sh: Use elf.sc.
* emulparams/elf32ppclinux.sh: Use elf.sc.
* emulparams/elf32ppcsim.sh: New file.
* emulparams/elf32lppcsim.sh: New file.
* Makefile.am: Update dependencies. Add elf32ppcsim ad elf32lppcsim.
(ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim.
* Makefile.in: Regenerate.
* configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim.
2000-04-14 21:18:23 +00:00
Geoffrey Keating
4ab10e93d6
Correct previous misapplied patch.
2000-04-13 23:38:46 +00:00
Geoffrey Keating
6c86c54107
* scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections.
...
Add new BSS_PLT variable for when .plt need not be contained in
the file. Move _etext so that it is also after .fini, and provide
both etext and _etext with a leading underscore. Mark the start
and end of .sbss.
2000-04-13 23:32:48 +00:00
Alan Modra
adde6300e0
ATMEL AVR microcontroller support.
2000-03-27 08:39:14 +00:00
Ian Lance Taylor
4eee26817d
2000-02-27 Mark Elbrecht <snowball3@bigfoot.com>
...
* scripttempl/i386go32.sc: Move misplaced semicolons.
2000-02-28 03:55:16 +00:00
Nick Clifton
344a211f99
Add support for WinCE based toolchains.
2000-02-24 17:53:12 +00:00
Richard Henderson
eaba1dd3fb
* scripttempl/elfd10v.sc: Remove dynamic linking hooks.
...
Add and use memory regions.
2000-02-23 23:38:47 +00:00
Alan Modra
5b93d8bb51
Add IBM 370 support.
2000-02-23 13:52:23 +00:00
Richard Henderson
9e673ad141
* scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION.
2000-02-16 19:07:43 +00:00
Catherine Moore
18625d5459
* ld.h (wildcard_spec): Change exclude_name to exclude_name_list.
...
(name_list): New.
* ld.texinfo (EXCLUDE_FILE): Update documentation.
* ldgram.y (wildcard_spec): Support a list of excluded_files.
(exclude_name_list): New.
ldlang.c (walk_wild_section): Support list of excluded files.
(print_wild_statement): Likewise.
(lang_add_wild): Likewise.
* ldlang.h (lang_wild_statement_type): Likewise.
* scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
2000-01-05 14:12:23 +00:00
Nick Clifton
e68692499c
Add arm-epoc-pe specific linker script
1999-12-02 11:49:20 +00:00
Geoffrey Keating
cfd0966cb5
* scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
...
being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
(.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
(.rel.sbss): Make like .rel.bss.
(.rela.sbss): Make like .rel.bss.
(.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
ld -r.
(.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
.dynsbss.
1999-10-07 02:19:45 +00:00
Geoffrey Keating
13d92f2c5b
* scripttempl/elf.sc (.sdata): Include .gnu.linkonce.s.* sections
...
in .sdata too.
1999-09-28 04:16:51 +00:00
Nick Clifton
3c9cf3a394
Merge sections named .bss.* into .bss section. Similarly for .sbss.
1999-09-26 09:37:45 +00:00
Ian Lance Taylor
be4514d38d
1999-09-12 Donn Terry <donn@interix.com>
...
* scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
Move .bss section after .rdata. Move .reloc section after .rsrc.
1999-09-12 16:48:02 +00:00
Jeff Law
904ecb2d78
* emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
...
unwinders so that they are closer to the text section.
(OTHER_BSS_SECTIONS): Define.
(EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
(INIT_START, INIT_END): Define.
(FINI_START, FINI_END): Define.
* scripttempl/elf.sc: Add support for INIT_START, INIT_END,
FINI_START, FINI_END and OTHER_BSS_SECTIONS.
1999-09-10 06:30:37 +00:00
Ian Lance Taylor
c6c8c6dc7a
1999-09-04 Steve Chamberlain <sac@pobox.com>
...
* configure.tgt (pjl-*-*, pj-*-*): New targets.
* emulparams/pjelf.sh: New file.
* emulparams/pjlelf.sh: New file.
* scripttempl/pj.sc: New file.
* Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
(epjelf.o, epjlelf.o): New targets.
* Makefile.in: Rebuild.
1999-09-04 17:37:36 +00:00
Nick Clifton
0811443ae7
Fix typo in defintion of OUTPUT_FORMAT.
1999-08-11 09:21:38 +00:00
Ian Lance Taylor
9c9ef45f16
1999-08-09 Mark Elbrecht <snowball3@bigfoot.com>
...
* scripttempl/i386go32.sc: Handle g++ exception sections.
1999-08-10 03:07:46 +00:00
Ian Lance Taylor
5a1bd109d4
1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
...
* scripttempl/i386go32.sc: Add handling of linkonce sections.
1999-07-22 01:42:27 +00:00
Ian Lance Taylor
b4089fdd75
1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
...
* emulparams/go32.sh: Remove; obsolete.
* scripttempl/go32coff.sc: Remove; obsolete.
1999-07-22 01:25:10 +00:00
Richard Henderson
9e4141bc7b
* scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
...
same order seen for the main sections. Add
OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
1999-07-14 16:45:54 +00:00
Nick Clifton
6da0974a11
Include big endian and little endian formats in OUTPUT_FORMAT directive.
1999-07-09 08:12:48 +00:00
Nick Clifton
7a2746396a
Applied patch from Felix Lee <flee@cygnus.com>:
...
Fix quoting problem, for bash 2.x
1999-07-09 03:27:25 +00:00
Mark Mitchell
a8e53fb060
* scripttempl/elf.sc (WRITABLE_RODATA): New variable for
...
controlling whether or not .rodata is in the data segment or the
text segment.
1999-06-21 13:11:05 +00:00
Richard Henderson
4305932a21
Jason Merrill <jason@yorick.cygnus.com>
...
* scripttempl/v850.sc: Add initp support.
1999-06-02 20:47:23 +00:00
DJ Delorie
c6c37250e9
1999-05-10 DJ Delorie <dj@cygnus.com>
...
* scripttempl/pe.sc: Specify the output arch, which Ian says is
the Right Thing to do.
* emultempl/pe.em: various changes to parameterize the
target-specific information.
(gld_i386pe_after_open): Detect and fix MS import libraries
by renaming the member objects (which are all named the same).
* pe-dll.c: various changes to parameterize the target-specific
information.
(generate_reloc): support relocs more generically to allow for
expansion.
(pe_exe_build_sections): new; used to add .relocs to .exes
(pe_exe_fill_sections): ditto
1999-05-11 21:06:50 +00:00
Nick Clifton
bb3596ae84
fix output format.
1999-05-07 07:34:06 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00