Commit Graph

1481 Commits

Author SHA1 Message Date
Alan Modra b9cf773d1a include/
PR 51.
	* bfdlink.h (struct bfd_link_info): Add wrap_char.

bfd/
	PR 51.
	* linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.

ld/
	PR 51.
	* emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
	link_info.wrap_char.
2004-03-22 22:58:04 +00:00
Hans-Peter Nilsson 2d4b84b0f5 * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.
2004-03-22 04:06:06 +00:00
H.J. Lu 59c2e50f29 bfd/
2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
	unresolved symbols in objects aren't allowed.

	* elf-hppa.h (elf_hppa_relocate_section): Properly handle
	unresolved symbols.
	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
	(elf_hppa_unmark_useless_dynamic_symbols):
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
	(elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.

	* elf-m10200.c (mn10200_elf_relocate_section): Use
	RELOC_FOR_GLOBAL_SYMBOL.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.

include/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Correct comments for the
	unresolved_syms_in_objects field.

ld/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (parse_args): Don't set unresolved_syms_in_objects
	or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
2004-03-20 23:16:43 +00:00
Alexandre Oliva 44349745f2 * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb. 2004-03-20 05:49:27 +00:00
H.J. Lu d400d2a669 2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Add new tests for versioned weak
	definition.

	* ld-elfvers/vers28a.c: New file.
	* ld-elfvers/vers28a.dsym: Likewise.
	* ld-elfvers/vers28a.ver: Likewise.
	* ld-elfvers/vers28b.c: Likewise.
	* ld-elfvers/vers28b.dsym: Likewise.
	* ld-elfvers/vers28b.map: Likewise.
	* ld-elfvers/vers28b.ver: Likewise.
	* ld-elfvers/vers28c.c: Likewise.
	* ld-elfvers/vers28c.dsym: Likewise.
	* ld-elfvers/vers28c.ver: Likewise.
2004-03-19 17:02:31 +00:00
Alan Modra 140cc2404f * ld-scripts/provide-2.d: Ignore random symbols. 2004-03-19 07:14:44 +00:00
Alan Modra 81359a70c3 * config.in: Regenerate.
* po/ld.pot: Regenerate.
2004-03-19 07:06:35 +00:00
Alan Modra 4a43e768f1 bfd/
* elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
	dyn_lib_class field.  Rearrange for better packing.
	(elf_dt_soname): Delete.
	(elf_dyn_lib_class): Define.
	* elf.c (bfd_elf_set_dt_needed_name): Update comment.
	(bfd_elf_set_dt_needed_soname): Delete.
	(bfd_elf_set_dyn_lib_class): New function.
	* elflink.h (add_dt_needed_tag): New function.  Split out from..
	(elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
	Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
	initialization of soname.
	(elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
	elf_dt_soname.
	* bfd-in.h (enum dynamic_lib_link_class): New.
	(bfd_elf_set_dt_needed_soname): Delete.
	(bfd_elf_set_dyn_lib_class): Declare.
	* bfd-in2.h: Regenerate.
ld/
	* ld.texinfo: Add --as-needed doco.
	* ldmain.c (as_needed): New global var.
	* ldmain.h (as_needed): Declare.
	* lexsup.c (option_values): Add OPTION_AS_NEEDED and
	OPTION_NO_AS_NEEDED.
	(ld_options): Likewise.
	(parse_args): Handle them.
	* ldlang.h (lang_input_statement_type): Add as_needed field.
	* ldlang.c (new_afile): Set p->as_needed.
	* emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
	(gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
	(ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.

	* ldlang.c (open_input_bfds): Remove useless cast.
	(lang_do_assignments_1): Likewise.
	(lang_for_each_input_section): Delete.
2004-03-18 12:50:20 +00:00
Alan Modra 9183ed4b1b Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*. 2004-03-17 00:46:25 +00:00
Alan Modra fdd12ef3c6 opcodes/
* ppc-dis.c (print_insn_powerpc): Don't print tabs.  Handle
	PPC_OPERANDS_GPR_0.
	* ppc-opc.c (RA0): Define.
	(RAQ, RAL, RAM, RAS, RSQ, RTQ, RSO): Use PPC_OPERAND_GPR_0.
	(RAOPT): Rename from RAO.  Update all uses.
	(powerpc_opcodes): Use RA0 as appropriate.  Add "lsdx", "lsdi",
	"stsdx", "stsdi", "lmd" and "stmd" insns.

include/opcode/
	* ppc.h (PPC_OPERAND_GPR_0): Define.  Bump other operand defines.

gas/testsuite/
	Update gas/ppc/.

ld/testsuite/
	Update ld-powerpc/.
2004-03-16 00:58:43 +00:00
Nick Clifton ee31fbd036 Honour PRIVATE keyword 2004-03-08 11:33:59 +00:00
Nathan Sidwell 68715859c7 * ld-scripts/size-1.d: Add bigendian regexps.
* ld-scripts/size-2.d: Set --wide for readelf.
2004-03-05 19:27:34 +00:00
Nathan Sidwell e5caec89a0 * elf.c (map_sections_to_segments): Ignore .tbss sections for
layout purposes.

	* ldlang.c (lang_add_section): Don't force SEC_LOAD on
	SEC_THREAD_LOCAL.
	(IGNORE_SECTION): Ignore .tbss sections too.
	(lang_size_sections_1): .tbss sections do not advance dot.

	* ld-scripts/size.exp: New.
	* ld-scripts/size-[12].{d,s,t}: New.
2004-03-05 11:26:05 +00:00
Andreas Schwab cc2f008e43 * ld.texinfo (Options): Fix example for --wrap. 2004-03-01 17:33:36 +00:00
Richard Sandiford 676a64f422 Add fr450 support. 2004-03-01 10:11:46 +00:00
Danny Smith f5a95868e4 * pe-dll.c (fill_edata): Check that exported_symbol_sections is
not NULL.
2004-02-25 21:00:32 +00:00
Alexandre Oliva 9b1f5ff99b * ld-frv/fdpic-pie-2.d: Adjust for decay of FUNCDESC relocs that
bind locally.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-pie-6-fail.d: Renamed from...
* ld-frv/fdpic-pie-6.d: New test.
* ld-frv/fdpic-shared-6-fail.d: Renamed from...
* ld-frv/fdpic-shared-6.d: New test.
* ld-frv/fdpic6.ldv: New.
* ld-frv/fdpic-static-6.d: Adjust test name.
* ld-frv/fdpic-pie-8-fail.d: Removed.
* ld-frv/fdpic.exp: Run new tests.
2004-02-24 16:39:09 +00:00
Ian Lance Taylor 177b729b44 * ldlang.c (lang_check): Use %P, not %E, in error message. 2004-02-23 19:41:53 +00:00
Nathan Sidwell 1b49374200 * ldlang.h (struct lang_output_section_state): Change processed
field's type.
	* ldexp.c (check, invalid): Remove.
	(fold_name): Move valid_p assignments. Create undefined symbol
	when needed. Directly exampine section's processd flag.
	* ldlang.c (lang_output_section_statement_lookup): Adjust
	processed field init.
	(lang_size_sections_1): Allow LOADADDR when determining section's
	VMA. Adjust error message. Fold data statement's expr.
	(lang_size_sections): Correctly increment lang_statement_iteration.

	* ld-scripts/provide.exp: New.
	* ld-scripts/provide-{1,2,3}.{s,t,d}.exp: New.

	* ldexp.c (fold_tree): Follow indirect symbols.
2004-02-23 10:10:02 +00:00
Alan Modra 33ed461333 * ld-scripts/data.t: Set ".other" address so location doesn't
depend on target alignment.
	* ld-scripts/data.d: Update.
2004-02-23 09:24:46 +00:00
Nathan Sidwell 876f40905a * ldgram.y (exp): Add two operand ALIGN.
* ldexp.c (fold_binary): Add ALIGN_K case.
	* ld.texinfo (ALIGN): Document two operand version.
	* ld-scripts/align.{s,t,exp}: New.
2004-02-20 15:31:10 +00:00
Nathan Sidwell 384d938fc8 * ldlang.c (map_input_to_output_sections): Initialize sections
mentioned in a data statement expression.
	(lang_do_assignments_1): Add data statement's expression's
	section's vma.
	* ld-scripts/data.{s,t,d,exp}: New.
2004-02-19 14:08:31 +00:00
Nathan Sidwell b6ca8815ef * ldgram.y (statement_anywhere): Add assert rule.
* ldlang.c (exp_init_os): Add assert case.
	* testsuite/ld-scripts/assert.{s,t,exp}: New.
2004-02-18 16:37:21 +00:00
Richard Sandiford d25aed713b bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Use
	_bfd_elf_symbol_refs_local_p to decide whether to decay
	a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
	(_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
	relocs if the symbol wasn't defined by a regular object file.
	Don't check the symbol's dynindx.

ld/testsuite/
	* ld-mips/elf/elf-rel-xgot-{n32,n64-linux}.d: Update after 2004-02-02
	changes to the way large constants are added.
	* ld-mips/elf/elf-rel-got-{n32,n64-linux}.d: Likewise.  Adjust order
	of GOT entries after today's change to the handling of GOT_PAGE
	relocations.
2004-02-17 10:19:24 +00:00
Andrew Cagney c92c35e706 Use bfd_cache_close, instead of accessing bfd->iostream directly. 2004-02-15 02:24:53 +00:00
Richard Sandiford 9bf78c997e * emulparams/elf32bmipn32-defs.sh (OTHER_SECTIONS): Discard
.MIPS.content* and .MIPS.events* sections.
2004-02-14 11:45:25 +00:00
Daniel Jacobowitz f380691611 * emulparams/armelf.sh, emulparams/armelf_linux.sh: Move
.note.gnu.arm.ident to after allocated sections.  Mark its
	address as 0.
2004-02-09 18:06:20 +00:00
Daniel Jacobowitz 4c8e70d733 * emulparams/armelf_linux.sh (COMMONPAGESIZE): Set to 4KB.
* emulparams/elf32bmip.sh (COMMONPAGESIZE): Likewise.
	* emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Likewise.
	* emulparams/elf32btsmipn32.sh (COMMONPAGESIZE): Likewise.
	* emulparams/shlelf_linux.sh (COMMONPAGESIZE): Likewise.
2004-02-09 17:54:25 +00:00
Nick Clifton 3255318a04 Add support for relaxing the 32bit ldc/stc instructions. 2004-02-09 12:15:57 +00:00
Nick Clifton ff71f4f7d0 Fix typo in previous delta 2004-02-05 11:41:51 +00:00
Nick Clifton 07a68a8066 Fix thinko checking for dlls in archives. 2004-02-04 09:13:28 +00:00
Alan Modra 586196d51c * genscripts.sh: Fix typo. 2004-01-28 13:42:26 +00:00
Alan Modra 1dd3bf6876 * genscripts.sh: Apply $LIBPATH_SUFFIX to $tool_lib and $libdir too. 2004-01-28 13:31:30 +00:00
Jakub Jelinek 13d9421f66 * emulparams/elf64_ia64.sh: Put .rela.opd into
OTHER_GOT_RELOC_SECTIONS instead of OTHER_PLT_RELOC_SECTIONS.
2004-01-24 16:29:40 +00:00
Daniel Jacobowitz 2df149a4c0 * ld-arm/arm-app-abs32.s, ld-arm/arm-app-abs32.r,
ld-arm/arm-app-abs32.d: New files.
	* ld-arm/arm-elf.exp: Add arm-app-abs32 testcase.
2004-01-23 16:51:39 +00:00
Danny Smith 4d8907ac12 * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
* ld.texinfo (--omagic): Note that writable text section
	does not conform to published PE-COFF specs.
	(--enable-auto-import): Likewise.
2004-01-20 21:08:16 +00:00
Alan Modra 3a0875f46c * ld-i386/tlsbin.dd: Adjust for changed sib printing. 2004-01-18 23:14:13 +00:00
Alan Modra e5c60db524 * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define. 2004-01-15 12:38:19 +00:00
Daniel Jacobowitz 0885b73e8a * ld-arm/arm-elf.exp: Add arm-static-app test.
* ld-arm/arm-static-app.s, ld-arm/arm-static-app.d,
	ld-arm/arm-static-app.r: New files.
2004-01-13 21:09:18 +00:00
Nick Clifton 6bdafbeb57 * ldlang.c (lang_get_regions): Add extra parameter 'have_vma' which if true will
prevent the LMA region being used as a replacement for a default VMA region.
  (lang_leave_output_section_statement): Pass extra parameter.
  (lang_leave_overlay): Likewise.
* ld.texinfo (Output Section LMA): Document that the LMA region can be set to
  the VMA region if no VMA has been set.
* ldlang.h (struct lang_output_section_phdr_list): Create a typedef for this
  type.  Minor formatting fixes.
2004-01-13 11:10:53 +00:00
Nick Clifton 9dfc8ab287 If dot is advanced, then assume that the section should be allocated. 2004-01-13 08:24:20 +00:00
Nick Clifton ca9a79a174 Add support for relaxation of bit manipulation instructions. 2004-01-12 15:02:22 +00:00
Alan Modra 8325c4dd4e * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
sections.  Do ignore SEC_NEVER_LOAD sections.
	(lang_size_sections_1): Remove test made redundant with the above.
2004-01-12 13:47:32 +00:00
H.J. Lu 0fb33ef4f8 2004-01-09 H.J. Lu <hongjiu.lu@intel.com>
* ld-selective/selective.exp: Skip ia64-*-*.
2004-01-09 21:19:15 +00:00
Daniel Jacobowitz c787b88946 * ld-arm/arm-lib.d, ld-arm/arm-lib.r: Update for R_ARM_PLT32
changes.
2004-01-09 16:53:10 +00:00
Alan Modra 8349035256 * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
program_header_size.
2004-01-09 05:36:30 +00:00
Daniel Jacobowitz 2e73b915a9 * ld-arm/arm-app.d, ld-arm/arm-app.r, ld-arm/arm-app.s,
ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-lib.s,
	ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r,
	ld-arm/arm-lib-plt32.s, ld-arm/arm-elf.exp: New files.
2004-01-06 21:47:38 +00:00
Alexandre Oliva 005e11184b 2003-11-28 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (EMBEDDED): Clear.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
(MAXPAGESIZE): Set to 64Kb.
(OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
__ROFIXUP_END__.  Don't map .rofixup.got any more.
* emulparams/elf32frv.sh (NOP): Set.
2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
* configure.tgt: Add frv-*-*linux*.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
(eelf32frvfd.c): New.
* configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
* emulparams/elf32frv.sh: Reverted previous two patches.
* emulparams/elf32frvfd.sh: New.
* Makefile.in: Rebuilt.
2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
.rofixup.got to .rofixup.
2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
(TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
2004-01-06 19:19:52 +00:00
Alexandre Oliva a9a704fc4e * ld-frv: Update .d files with correct addresses displayed for
dynamic relocations.
2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic1.s (.D0): Move to separate data section.
2003-11-28  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
* ld-frv/fdpic-static-7.d, ld-frv/fdpic-static-8.d: Update to
reflect EMBEDDED= change in linker script.
2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv: Update .d files to reflect changes in the page size, the
addition of a stack segment, the use of a NULL function descriptor
for weakundef functions and the change in the lazy funcdesc_value
in-place addend value.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* lib/ld-lib.exp (is_elf_format): Match frv-uclinux.
2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
ld-frv/fdpic-static-7.d, ld-frv/fdpic-static-8.d: Addresses are
now _gp-based, not .rofixup-based.
* ld-frv/fdpic-static-6.d: Likewise.  Match warning about
relocation to different section.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic.exp: Add -melf32frvfd to LDFLAGS.
2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic7.s, ld-frv/fdpic-static-7.d, ld-frv/fdpic-pie-7.d,
ld-frv/fdpic-shared-7.d: New.
* ld-frv/fdpic8.s, ld-frv/fdpic-static-8.d, ld-frv/fdpic-pie-8.d,
ld-frv/fdpic-shared-8.d: New.
* ld-frv/fdpic-pie-8-fail.d, ld-frv/fdpic-shared-8-fail.d: New.
* ld-frv/fdpic.exp: Run them.
* ld-frv/fdpic8.ldv, ld-frv/fdpic8min.ldv: New.
2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic5.s, ld-frv/fdpic-static-5.d, ld-frv/fdpic-pie-5.d,
ld-frv/fdpic-shared-5.d: New.
* ld-frv/fdpic6.s, ld-frv/fdpic-static-6.d, ld-frv/fdpic-pie-6.d,
ld-frv/fdpic-shared-6.d: New.
* ld-frv/fdpic.exp: Run them.
* ld-frv/fdpic*.d: Add -mfdpic to assembler flags.  Updated.
* ld-frv/fdpic2min.ldv: New, used by fdpic-shared-2.d.
* ld-frv/fdpic-shared-2-fail.d: New.
* ld-frv/fdpic.exp: Run it.
* ld-frv/fdpic4.s, ld-frv/fdpic-shared-4.d: New.
* ld-frv/fdpic.exp: Add new test.
* ld-frv/fdpic-pie-2.d: Remove unnecessary function descriptors.
* ld-frv/fdpic-shared-local-2.d, ld-frv/fdpic2.ldv: New.
* ld-frv/fdpic3.s, ld-frv/fdpic-shared-3.d: New.
* ld-frv/fdpic.exp: Add new tests.
* ld-frv/fdpic.exp, ld-frv/fdpic1.s, ld-frv/fdpic2.s,
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
* ld-frv/fdpic-pie-1.d, ld-frv/fdpic-pie-2.d,
* ld-frv/fdpic-shared-1.d, ld-frv/fdpic-shared-2.d: Renamed from
ucpic.
2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/ucpic.exp, ld-frv/ucpic1.s, ld-frv/ucpic2.s: New.
* ld-frv/ucpic-static-1.d, ld-frv/ucpic-static-2.d: New.
* ld-frv/ucpic-pie-1.d, ld-frv/ucpic-pie-2.d: New.
* ld-frv/ucpic-shared-1.d, ld-frv/ucpic-shared-2.d: New.
2004-01-06 19:19:31 +00:00
Jakub Jelinek 060feee54d * emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
* emulparams/elf64_s390.sh (NO_SMALL_DATA): Set to yes.
2004-01-05 09:53:31 +00:00