Commit Graph

22 Commits

Author SHA1 Message Date
Alan Modra 09b910c68c * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32cr16.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/ip2k.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/mmo.sc: Likewise.
	* scripttempl/v850.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.
	* scripttempl/elf.sc: Revert 2010-10-29  H.J. Lu.
2011-02-10 08:18:58 +00:00
H.J. Lu 34734a010b Include compressed DWARF debug sections in ELF linker scripts.
binutils/testsuite/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* binutils-all/libdw2.out: Also accept MIPS_DWARF.

ld/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/armbpabi.sc: Include compressed DWARF debug
	sections.
	* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32cr16.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/ip2k.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/mmo.sc: Likewise.
	* scripttempl/v850.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

ld/testsuite/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/compress1a.d: Also check MIPS_DWARF.
	* ld-elf/compress1b.d: Likewise.
	* ld-elf/compress1c.d: Likewise.
2010-11-02 13:47:44 +00:00
Jie Zhang 3cff7cc71f * scripttempl/armbpabi.sc: Don't combine .init_array.* or
.fini_array.* when do relocatable linking.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

	testsuite/
	* ld-elf/init-fini-arrays.s: New test.
	* ld-elf/init-fini-arrays.d: New test.
2010-02-27 12:34:25 +00:00
Alan Modra 9445af9a0e * scripttempl/elf.sc (.fini_array): Place input .fini_array after
.fini_array.*.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
2010-02-26 11:36:32 +00:00
Alan Modra ec2d9b2927 Revert 2009-09-28 changes. 2009-10-10 04:34:39 +00:00
Alan Modra df381c72f4 * scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
* scripttempl/elf32cr16c.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/tic54xcoff.sc: Likewise.
	* scripttempl/aix.sc: Delete ${RELOCATING-0}.
	* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/nw.sc: Likewise.
	* scripttempl/psos.sc: Likewise.
	* scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfmicroblaze.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.
2009-09-28 07:08:50 +00:00
Nick Clifton 43e56c3465 * scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
.gnu.lto_ prefix.
        * scripttempl/armbpabi.sc: Likewise.
        * scripttempl/elf32sh-symbian.sc: Likewise.
        * scripttempl/elf64hppa.sc: Likewise.
        * scripttempl/mep.sc: Likewise.
2009-08-24 15:22:59 +00:00
Nick Clifton b34c1498c2 * scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
relocatable link.
        * scripttempl/elf32cr16.sc: Likewise.
        * scripttempl/elf32cr16c.sc: Likewise.
        * scripttempl/elf32crx.sc: Likewise.
        * scripttempl/elf32sh-symbian.sc: Likewise.
        * scripttempl/elf_chaos.sc: Likewise.
        * scripttempl/elfd10v.sc: Likewise.
        * scripttempl/elfi370.sc: Likewise.
        * scripttempl/elfm68hc11.sc: Likewise.
        * scripttempl/elfm68hc12.sc: Likewise.
        * scripttempl/ip2k.sc: Likewise.
        * scripttempl/iq2000.sc: Likewise.
        * scripttempl/mep.sc: Likewise.
        * scripttempl/v850.sc: Likewise.
        * scripttempl/xstormy16.sc: Likewise.
2008-02-18 14:53:44 +00:00
Richard Sandiford 53ccb77250 ld/
* scripttempl/armbpabi.sc (.text): Don't KEEP (*(.text.*personality*)).
	(.data): Don't KEEP (*(.gnu.linkonce.d.*personality*)).
	* scripttempl/elf.sc: As for armbpabi.sc.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
2007-12-15 09:43:40 +00:00
Alan Modra 1c68693b0c * scripttempl/elf.sc (DISCARDED): Renamed from STACKNOTE. Add
.gnu.debuglink.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
2007-07-10 04:53:13 +00:00
Alan Modra 40cf2291a7 * scripttempl/elf.sc: Ensure that crtbegin and crtend entries will
not match random object files in a path containing "crtbegin" or
	"crtend" as part of a directory name.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/crisaout.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mmo.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.
2006-08-28 01:52:56 +00:00
Hans-Peter Nilsson bd6791bc12 * scripttempl/armbpabi.sc: Fix typo in comment for .ctors.
* scripttempl/elf.sc: Ditto.
	* scripttempl/elf32sh-symbian.sc: Ditto.
	* scripttempl/elf_chaos.sc: Ditto.
	* scripttempl/elfd10v.sc: Ditto.
	* scripttempl/elfd30v.sc: Ditto.
	* scripttempl/elfxtensa.sc: Ditto.
	* scripttempl/iq2000.sc: Ditto.
	* scripttempl/xstormy16.sc: Ditto.
2005-12-11 00:49:19 +00:00
Paul Brook 6f2942edf0 2005-11-03 Paul Brook <paul@codesourcery.com>
* scripttempl/elf.sc: Add .init_array.* and .fini_array.*.
	* scripttempl/armbpabi.sc: Make init/fini array consistent with
	elf.sc.
	* scripttempl/elf32sh-symbian.sc: Ditto.
	* scripttempl/elfxtensa.sc: Ditto.
2005-11-03 15:01:58 +00:00
Alan Modra 827a1c67ae * emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from
OTHER_END_SYMBOLS.
	* emulparams/armelf_linux.sh: Likewise.
	* emulparams/armnto.sh: Likewise.
	* emulparams/criself.sh: Likewise.
	* emulparams/elf32mcore.sh: Likewise.
	* emulparams/criself.sh (OTHER_SYMBOLS): Define.
	* emulparams/crislinux.sh (OTHER_SYMBOLS): Define.
	(OTHER_END_SYMBOLS): Don't define.
	* emulparams/elf32fr30.sh: Likewise.
	* emulparams/elf64mmix.sh: Likewise.
	* emulparams/hppa64linux.sh: Likewise.
	* emulparams/m32relf.sh: Likewise.
	* emulparams/vxworks.sh: Likewise.
	* scripttempl/armbpabi.sc (OTHER_BSS_SECTIONS): Delete.
	(OTHER_BSS_END_SYMBOLS): Add.
	(OTHER_END_SYMBOLS): Move before current end sym definitions.
	(OTHER_SYMBOLS): Replace OTHER_END_SYMBOLS near end of script.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

	* scripttempl/elf.sc (LBSS, LARGE_SECTIONS): Delete.
	(REL_LDATA, REL_LBSS, REL_LRODATA): Delete.
	(REL_LARGE, LARGE_SECTIONS): Add.
	* emulparams/elf_x86_64.sh (LARGE_SECTIONS): Define as script text.
	(REL_LARGE): Define.
	* emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
	(LARGE_SECTIONS): Define.
	* emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
	(LARGE_SECTIONS): Define.
2005-08-05 04:29:57 +00:00
Alan Modra 9f4fb50211 * ldlang.c (exp_init_os): Handle etree_provide.
* emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from..
	(OTHER_BSS_END_SYMBOLS): ..this.
	* emulparams/armelf_linux.sh: Likewise.
	* emulparams/armnto.sh: Likewise.
	* emulparams/criself.sh: Likewise.
	* emulparams/crislinux.sh: Likewise.
	* emulparams/elf32frv.sh: Likewise.
	* emulparams/elf32mcore.sh: Likewise.
	* emulparams/elf32ppc.sh: Likewise.
	* emulparams/elf32ppclinux.sh: Likewise.
	* emulparams/hppa64linux.sh: Likewise.
	* scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not
	$OTHER_BSS_END_SYMBOLS.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.
	* scripttempl/elf.sc: Likewise.  Delete __bss_start comment.
	* scripttempl/elfxtensa.sc: Likewise.
2005-08-03 05:09:49 +00:00
Julian Brown 2a2a7c9466 * ld/scripttempl/armbpapi.sc (.rel.dyn): Add .rel.init_array,
.rel.fini_array.
	(.rela.dyn): Add .rela.init_array, .rela.fini_array.
	(SECTIONS): Add .rel.other, .rela.other, .reli.other after PLT relocs.
2005-03-18 16:55:44 +00:00
Paul Brook c68dac40b0 2005-02-17 Paul Brook <paul@codesourcery.com>
* scripttempl/armbpabi.sc: Add dummy name to version block.
2005-02-17 13:24:59 +00:00
Mark Mitchell 4e5db43bfa * scripttempl/armbpabi.sc (VERSION): Make special section symbols
local.
	(Image$$ER_RO$$Base): Define whenever RELOCATING.
	(Image$$ER_RO$$Limit): Likewise.
	(SHT$$INIT_ARRAY$$Base): Likewise.
	(SHT$$INIT_ARRAY$$Limit): Likeise.
2005-02-10 05:49:21 +00:00
Mark Mitchell dc4c9c199b * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
SymbianOS.

	* emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Define, so
	as to include .ARM.exidx$${Base,Limit}.
	* ld/scripttempl/armbpabi.sc: Move .plt to end of text segment.
	Define IMAGE$$ER_RO$${Base,Limit} and SHT$$INIT_ARRAY$${Base,Limit}.
	Put .init_array, .fini_array, etc. into the read-only data
	segment.
2005-01-26 06:10:45 +00:00
Mark Mitchell ba916c8af2 * Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
* ldexp.h (segment_type): New type.
	(segments): New variable.
	* ldexp.c (segments): New variable.
	(exp_print_token): Handle SEGMENT_START.
	(fold_binary): Likewise.
	* ldgram.y (SEGMENT_START): Declare it as a token.
	(exp): Handle SEGMENT_START.
	* ldlang.h (lang_address_statement_type): Add segment field.
	(lang_section_start): Change prototype.
	* ldlang.c (map_input_to_output_sections): Do not process section
	assignments if a corresponding SEGMENT_START has already been
	seen.
	(lang_section_start): Add segment parameter.
	* ldlex.l (SEGMENT_START): Add it.
	* lexsup.c (seg_segment_start): New function.
	(parse_args): Use it for -Tbss, -Tdata, and -Ttext.
	* ld.texinfo (SEGMENT_START): Document it.
	* emulparams/armsymbian.sh (EMBEDDED): Set it.
	* scripttempl/armbpabi.sc: Use SEGMENT_START to control segment
	base addresses.  Do not map relocations.
	* NEWS: Mention SEGMENT_START.
2004-10-26 18:41:52 +00:00
Mark Mitchell c0042f5da0 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.

	* scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
	loadable segment.
2004-10-13 17:45:31 +00:00
Mark Mitchell 229fcec570 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
* elf.c (_bfd_elf_make_dynamic_segment): New function, split out
	from ...
	(map_sections_to_segments): ... here.  Use it.  Assign a file
	position to the .dynamic section if it is not loadable, but part
	of the PT_DYNAMIC segment.
	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
	offsets, not VMAs, for the BPABI.  Do not fill in the header in
	the .got.plt section for the BPABI.
	* elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
	PT_DYNAMIC segment.
	(elf_backend_want_got_plt): Define to zero for Symbian OS.

	* emulparams/armsymbian.sh: Use armbpabi script.
	* scripttempl/armbpabi.sc: New script.
2004-09-06 20:55:23 +00:00