Alexandre Oliva
73c3cd1c3d
2001-09-12 Alexandre Oliva <aoliva@redhat.com>
...
* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
* elf32-am33lin.c: Rename global functions.
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
* configure.in (bfd_elf32_am33lin_vec): Added.
* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
(elf32-am33lin.lo): List dependencies.
* aclocal.m4, configure, Makefile.in: Rebuilt.
* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
ELF_ARCH was not defined before.
(elf_symbol_leading_char): Define if not defined.
* elf32-am33lin.c: Override the definitions above.
* targets.c (bfd_elf32_am33lin_vec): New.
2003-07-10 04:44:37 +00:00
Alexandre Oliva
03a1283107
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
...
* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
pcrel_relocs_copied.
2001-12-13 Alexandre Oliva <aoliva@redhat.com>
* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
ld-linux.so.2 to ld.so.1.
2001-10-10 Alexandre Oliva <aoliva@redhat.com>
* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
.rela.* section contents with bfd_zalloc.
2001-09-25 Alexandre Oliva <aoliva@redhat.com>
* elf-m10300.c: Added declarations for functions missing them.
Merge some shared-library changes from the i386 back-end. Use
R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
(struct elf32_mn10300_link_hash_entry): Remove duplicates of
members of elf_link_hash_entry. Adjusted references.
(mn10300_elf_final_link_relocate): dynobj was already loaded
into a local variable, use it.
2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
* elf-m10300.c: Add missing function prototypes.
2001-08-24 Alexandre Oliva <aoliva@redhat.com>
* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
relocation for dynamic relocations.
2001-05-16 Alexandre Oliva <aoliva@redhat.com>
* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
(_bfd_mn10300_elf_create_got_section): ... here, so that its
adress is already known at the time we compute relaxations.
(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
and PLT32 to narrower relocations.
* libbfd.h, bfd-in2.h: Rebuilt.
2001-04-12 Alexandre Oliva <aoliva@redhat.com>
* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
BFD_RELOC_MN10300_RELATIVE): New relocs.
* libbfd.h, bfd-in2.h: Rebuilt.
* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
(struct elf32_mn10300_link_hash_entry): Added DSO-related
fields.
(elf_mn10300_howto): Defined new relocation types.
(mn10300_reloc_map): Map them.
(_bfd_mn10300_elf_create_got_section): New fn.
(mn10300_elf_check_relocs): Handle PIC relocs.
(mn10300_elf_final_link_relocate): Likewise.
(mn10300_elf_relocate_section): Handle DSOs.
(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
elf_mn10300_pic_plt_entry): New.
(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
elf_mn10300_plt_reloc_offset: New macros.
(ELF_DYNAMIC_INTERPRETER): Likewise.
(_bfd_mn10300_elf_create_dynamic_sections): New function.
(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
(_bfd_mn10300_elf_discard_copies): Likewise.
(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
(elf_backend_can_gc_sections,
elf_backend_create_dynamic_sections,
elf_backend_adjust_dynamic_sections,
elf_backend_size_dynamic_sections,
elf_backend_finish_dynamic_symbol,
elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
elf_backend_plt_readonly, elf_backend_want_plt_sym,
elf_backend_got_header_size, elf_backend_plt_header_size): New
macros.
2003-07-10 03:20:00 +00:00
Alexandre Oliva
b08fa4d3bf
2001-05-06 Alexandre Oliva <aoliva@redhat.com>
...
* elf-m10300.c (compute_function_info): Account for AM33
registers in `movm' when computing stack space for `call' when
linking for AM33/2.0 link.
2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
* bfd-in2.h: Rebuilt.
* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
* elf-m10300.c: Updated.
2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
* archures.c (bfd_mach_am332): Defined.
* bfd-in2.h: Rebuilt.
* cpu-m10300.c (bfd_am332_arch): Defined.
(bfd_am33_arch): Chained with am33-2.
* elf-m10300.c (elf_mn10300_mach): Handle am332.
(_bfd_mn10300_elf_final_write_processing): Likewise.
2003-07-10 02:53:10 +00:00
H.J. Lu
201933ea37
2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
...
* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
2003-07-10 01:30:16 +00:00
Alan Modra
e717da7ead
* elf64-ppc.c (bfd_elf64_mkobject): Define.
...
(struct ppc64_elf_obj_tdata): New.
(ppc64_elf_tdata, ppc64_tlsld_got): Define.
(ppc64_elf_mkobject): New function.
(struct got_entry): Add "owner". Move "tls_type".
(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
(ppc64_elf_init_stub_bfd): New function.
(create_got_section): Create header .got in dynobj. Create .got
and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
Look for dynobj .got, and test it.
(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
(update_local_sym_info): Likewise.
(ppc64_elf_check_relocs): Likewise.
(ppc64_elf_gc_sweep_hook): Likewise.
(ppc64_elf_tls_optimize): Likewise.
(allocate_dynrelocs): Likewise.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_relocate_section): Likewise.
(ppc64_elf_next_toc_section): Update comment.
(toc_adjusting_stub_needed): Remove unneeded cast.
(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
testing section flags.
(ppc64_elf_build_stubs): Likewise.
(ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
(ppc64_elf_finish_dynamic_sections): Write out got sections.
(func_desc_adjust): Copy over dynamic info for undef weaks.
* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
(ppc64_elf_size_stubs): Update prototype.
* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
input sections rather than scanning dynobj.
2003-07-10 00:37:27 +00:00
Alan Modra
149ebfb1de
daily update
2003-07-10 00:00:06 +00:00
Richard Sandiford
18ad015f6c
* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
...
(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
(mips_elf_create_msym_section): Delete.
(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
(_bfd_mips_elf_copy_indirect_symbol): Likewise.
(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
(_bfd_mips_elf_finish_dynamic_sections): Likewise.
2003-07-09 11:55:49 +00:00
Richard Sandiford
e10609d3f7
* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
...
symbols protected.
2003-07-09 11:53:36 +00:00
Richard Sandiford
0d591ff7fb
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
...
of relocations whose offset is -2.
2003-07-09 11:52:52 +00:00
Richard Sandiford
fdd0740558
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
...
forced-local symbols like other locals. Don't create relocations
against STN_UNDEF in irix objects.
2003-07-09 11:51:53 +00:00
Richard Sandiford
d2fba50dd9
* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
...
compatible objects, add the values of defined external symbols
to the addend.
2003-07-09 11:50:16 +00:00
Richard Sandiford
6eaa6adc99
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
...
initialize a GOT entry to the symbol's st_value.
2003-07-09 11:48:17 +00:00
Alan Modra
bc50d3dd0c
daily update
2003-07-09 00:00:05 +00:00
Alan Modra
43c40ab2d9
* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
...
* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
(ppc_elf_tdata): Define.
(elf_local_ptr_offsets): Adjust.
(ppc_elf_mkobject): New function.
(bfd_elf32_mkobject): Define.
2003-07-08 13:10:51 +00:00
Alan Modra
0c83546ac6
* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
...
* elfcore.h (elf_core_file_p): Likewise.
* section.c (bfd_section_init): Remove prototype.
2003-07-08 08:08:00 +00:00
Alan Modra
234d84da5b
daily update
2003-07-08 00:00:05 +00:00
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