Commit Graph

2907 Commits

Author SHA1 Message Date
Alan Modra 58111eb706 * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
field.
	(enum elf_linker_section_enum): Delete.
	(struct elf_linker_section): Delete.
	(struct elf_linker_section_pointers): Delete.
	(struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
	Make linker_section_pointers a void**.
	(elf_local_ptr_offsets, elf_linker_section): Don't define.
	* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
	of old item in elf-bfd.h.
	(struct elf_linker_section): Likewise.
	(struct elf_linker_section_pointers): Likewise.
	(elf_local_ptr_offsets): Define.
	(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
	(ppc_elf_link_hash_newfunc): Init it.
	(struct ppc_elf_link_hash_table): Add sbss.
	(ppc_elf_link_hash_table_create): zmalloc rather than clearing
	individual fields.
	(elf_create_linker_section): Fold into..
	(ppc_elf_create_linker_section): ..here.  Remove hole_size code.
	Make rela section here if shared.
	(elf_find_pointer_linker_section): Pass lsect rather than enum.
	(elf_create_pointer_linker_section): Adjust.  zalloc rather than
	clearing in a loop.
	(elf_finish_pointer_linker_section): Adjust.  Don't make rela
	section here.
	(ppc_elf_check_relocs): Adjust.
	(ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
	creating .sbss by hand.
	* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
2003-07-07 15:51:57 +00:00
Jakub Jelinek 15f8604d21 * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
complain_overflow_bitfield.
	* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
	complain_overflow_bitfield.
2003-07-07 11:14:40 +00:00
Nick Clifton e0a868d179 Add Clarke's surname to ChangeLog entry 2003-07-07 09:40:16 +00:00
Alan Modra 1d6f398dc5 daily update 2003-07-07 00:00:05 +00:00
Alan Modra bebd9d3f19 daily update 2003-07-06 00:00:05 +00:00
Alan Modra 81563749a4 daily update 2003-07-05 00:00:05 +00:00
Nick Clifton 32a3339c51 (MKDOC rule): Add $(CFLAGS) in case it contains CC_FOR_BUILD specific switches. 2003-07-04 14:46:14 +00:00
Jakub Jelinek 3368a7fb7a * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
true even if -pie.
2003-07-04 13:57:14 +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
Nick Clifton 8c17da6e59 * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.

* ld-h8300/h8300.exp: Replace loop with explicit list.  Run relax.d
unconditionally.  Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
2003-07-04 10:25:14 +00:00
Kaz Kojima 35cad4c475 * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
sections were created already.  Remove unnecessary tests of
	the previous change.
2003-07-04 08:41:57 +00:00
Kaz Kojima 03151a5a11 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
bfd_make_section for existing sections.
2003-07-04 07:38:33 +00:00
Alan Modra 2293c4998c * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
create_got_section if we already have done so.
	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
	(sh_elf_check_relocs): Likewise.
	(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
	htab->root.dynobj instead.
	(sh_elf_check_relocs): Likewise.
	(sh_elf_finish_dynamic_sections): Likewise.
2003-07-04 04:58:03 +00:00
Alan Modra 003d627e6e * section.c (bfd_make_section): Return NULL for existing section. 2003-07-04 04:14:56 +00:00
Alan Modra fa681e5d43 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
ppc_elf_create_got if we've already done so.
2003-07-04 01:57:26 +00:00
Alan Modra 3dab13f62b * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
(_bfd_elf_find_pointer_linker_section): Likewise.
	(bfd_elf32_create_pointer_linker_section): Likewise.
	(bfd_elf32_finish_pointer_linker_section): Likewise.
	(bfd_elf64_create_pointer_linker_section): Likewise.
	(bfd_elf64_finish_pointer_linker_section): Likewise.
	(_bfd_elf_make_linker_section_rela): Likewise.
	* elfcode.h (elf_create_pointer_linker_section): Don't define.
	(elf_finish_pointer_linker_section): Likewise.
	* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
	(_bfd_elf_create_linker_section): Move this function..
	(_bfd_elf_find_pointer_linker_section): ..and this..
	* elflink.h (elf_create_pointer_linker_section): ..and this..
	(elf_finish_pointer_linker_section): ..and this..
	* elf32-ppc.c: ..to here, renaming to the following, and adjusting
	calls.
	(elf_create_linker_section): Convert to C90, tidy.
	(elf_find_pointer_linker_section): Likewise.
	(elf_create_pointer_linker_section): Likewise.
	(elf_finish_pointer_linker_section): Likewise.
	* elf32-i370.c: Delete #if 0 code.
2003-07-04 01:50:12 +00:00
Alan Modra b214fcbec0 daily update 2003-07-04 00:00:05 +00:00
Alan Modra 3c5c592957 daily update 2003-07-03 00:00:05 +00:00
Alan Modra 772119ce53 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
_restf* to be satisfied by shared libs, and always force them local.
	(toc_adjusting_stub_needed): Avoid scanning linker created sections.
	Correct test for "bl".
	(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
	primary opcode 31.
2003-07-02 07:41:51 +00:00
Alan Modra 70f25c551c daily update 2003-07-02 00:00:05 +00:00
Martin Schwidefsky bd1ea41b84 * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
(s390_tls_reloc): New function.
        (elf_howto_table): Add long displacement relocations R_390_20,
        R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
        (elf_s390_reloc_type_lookup): Likewise.
        (elf_s390_check_relocs): Likewise.
        (elf_s390_gc_sweep_hook): Likewise.
        (elf_s390_relocate_section): Likewise.
        * elf64-s390.c: Same changes as for elf32-s390.c.
        * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
        BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
        BFD_RELOC_390_TLS_GOTIE20.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Likewise.
2003-07-01 14:44:59 +00:00
Alan Modra 34fef7f4d8 daily update 2003-07-01 00:00:05 +00:00
Alan Modra 113202d6bc * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
(ins_imms, ins_immsm1u4): Likewise.  Warning fix.
2003-06-30 04:09:27 +00:00
Alan Modra f1f18543ca daily update 2003-06-30 00:00:05 +00:00
Alan Modra c58b95236c Convert to C90 and a few tweaks. 2003-06-29 10:06:40 +00:00
Andreas Jaeger 58611256d8 Add forgotten ChangeLog snippet for last elf64-x86-64.c patch. 2003-06-29 10:02:24 +00:00
Andreas Jaeger 27482721cf * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
unnecessary prototypes.  Replace PTR with void *.
2003-06-29 05:57:36 +00:00
Alan Modra 7cfbef4774 daily update 2003-06-29 00:00:37 +00:00
Thiemo Seufer 2b86c02e74 * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR. 2003-06-28 22:13:37 +00:00
Alan Modra 0d5b97c55d daily update 2003-06-28 00:00:06 +00:00
Nick Clifton e7c81c254c Fix --add-gnu-debuglink 2003-06-27 08:01:28 +00:00
Thiemo Seufer 72b4917c07 * elfxx-mips.c: Revert .got alignment to 2**4. 2003-06-27 07:32:33 +00:00
Thiemo Seufer 917090909e * elf32-mips.c: Fix addend for _gp_disp special symbol. 2003-06-27 07:31:27 +00:00
Thiemo Seufer 7a79a000c1 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
relocation header setup.
	* binutils-all/readelf.ss-tmips: Adjust symbol indices.
2003-06-27 01:16:30 +00:00
Alan Modra 4be5b94a41 daily update 2003-06-27 00:00:05 +00:00
Alan Modra f6b91f13b5 daily update 2003-06-26 00:00:05 +00:00
Alan Modra 51b1e980ba Missed copyright update in last commit. 2003-06-25 11:07:05 +00:00
Alan Modra e47cd12545 * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
(ppc_elf_reloc_type_lookup): Modify comment.
	(ppc_elf_info_to_howto): Ditto.
	(ppc_elf_relocate_section): Ditto.
	(ppc_elf_check_relocs): Call ppc_elf_howto_init.
2003-06-25 11:05:58 +00:00
Alan Modra 1049f94e8e Correct spelling of "relocatable". 2003-06-25 06:40:27 +00:00
Alan Modra 59861b363a daily update 2003-06-25 00:00:05 +00:00
Alan Modra d85f2c7d1f * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
local sym errors.
2003-06-24 14:17:22 +00:00
Alan Modra 55fd94b056 * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
prototypes and casts.  Replace PTR with void *.  Formatting.
	* elf32-ppc.c: Likewise.  Break long strings too.
	(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
	(ppc_elf_unhandled_reloc): Internationalize error message.
	* elf32-ppc.h: Remove PARAMS.
2003-06-24 14:03:53 +00:00
Mark Mitchell 88810f8cd1 * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
APUinfo slots.
	(ppc_elf_final_write_processing): Likewise.
2003-06-24 06:41:36 +00:00
Alan Modra 8ee95d47b6 daily update 2003-06-24 00:00:05 +00:00
H.J. Lu 6e35c4dafc 2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
* elflink.h (elf_link_input_bfd): Check raw size when using
	kept_section to preserve debug information discarded by
	linkonce.
2003-06-23 23:39:39 +00:00
Alan Modra fbe56916cf daily update 2003-06-23 00:09:44 +00:00
Alan Modra cdff990c2f daily update 2003-06-21 00:00:06 +00:00
Alan Modra 8f3bab5775 * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
(ppc64_elf_setup_section_lists): Set it.
	(ppc64_elf_relocate_section): Check sym section id against top_id.
	(ppc_build_one_stub): Comment on top_id.
2003-06-20 12:35:30 +00:00
Nick Clifton efbc813eb3 Add tic4x-*-rtems*. 2003-06-20 08:36:19 +00:00
Alan Modra 4ce794b729 * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
prototypes and casts.  Replace PTR with void *.  Format copyright.
	Mention ABI links.
	(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
	sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
	(ppc_type_of_stub): Make r_type an enum.
	(ppc64_elf_size_stubs): Likewise.
	* elf64-ppc.h: Remove PARAMS macro.
2003-06-20 05:30:46 +00:00