Richard Henderson
382fab1a7a
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
...
are always dynamic.
(elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
.got relocs in -Bsymbolic shared objects.
1998-08-08 22:17:16 +00:00
Richard Henderson
2506b5688c
* elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
...
(elf64_alpha_relax_section): Fill them in.
(elf64_alpha_relax_opt_call): Implement more than a stub.
(elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
alignment on .scommon.
(elf64_alpha_merge_gots): Merge use counts as well.
1998-04-26 01:33:51 +00:00
Richard Henderson
986c3691f2
* elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
...
for calculating a local symbol's address.
(elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
Set the .got's cooked size as well as the raw size.
1998-04-25 21:10:01 +00:00
Tom Tromey
53d3ce37d4
* Many files: Added gettext invocations around user-visible
...
strings.
* libbfd-in.h: Added gettext includes and defines.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
HAVE_LC_MESSAGES): Define.
* configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
po/Makefile.
* Makefile.am (SUBDIRS): Added po.
(POTFILES): New macro.
(po/POTFILES.in): New target.
(SOURCE_HFILES): New macro.
(HFILES): Use it.
* po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
1998-04-22 05:13:54 +00:00
Richard Henderson
211b0be8ce
* elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
...
elf64_alpha_relax_find_reloc_ofs. Changed all callers.
(elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
(elf64_alpha_size_got_sections): Don't merge .got sections twice.
1998-04-21 07:15:57 +00:00
Richard Henderson
69842d0884
* elf64-alpha.c: Initial implementation of relaxation --
...
(struct alpha_elf_link_hash_entry): Add use_count member.
(elf64_alpha_check_relocs): Initialize and increment it.
(elf64_alpha_can_merge_gots): Check it when considering merging.
(elf64_alpha_merge_gots): Drop entries with zero use.
(elf64_alpha_calc_got_offsets_for_symbol): Likewise.
(elf64_alpha_always_size_sections): Split out got sizing ...
(elf64_alpha_size_got_sections): ... here. New function.
(elf64_alpha_relax_find_reloc_ofs): New function.
(elf64_alpha_relax_with_lituse): Likewise.
(elf64_alpha_relax_without_lituse): Likewise.
(elf64_alpha_relax_opt_call): Likewise.
(elf64_alpha_relax_section): Likewise.
(elf64_alpha_add_symbol_hook): Likewise.
(elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
(elf64_alpha_relocate_section): Likewise.
(bfd_elf64_bfd_relax_section): Define.
(elf_backend_add_symbol_hook): Likewise.
1998-04-16 05:29:30 +00:00
Richard Henderson
6a587c4aae
* elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Allow for RELATIVE
...
relocs for symbols in shlibs that have been forced local.
(elf64_alpha_relocate_section): Output RELATIVEs in .got for same.
1997-10-14 06:12:50 +00:00
Richard Henderson
3a13dd8f03
* bfd/elf64-alpha.c (elf64_alpha_relocate_section): Use the
...
got_enties of the default symbol for the default versioned
symbol. Patch from hjl@gnu.ai.mit.edu , modified not to use
alloca in the loop.
1997-10-14 04:24:59 +00:00
Ian Lance Taylor
303e725723
Tue Mar 18 22:40:09 1997 H.J. Lu <hjl@lucon.org>
...
* Many files: Add function prototypes.
* cpu-m68k.c (bfd_default_scan_num_mach): Don't declare.
* ecofflink.c: Include "libcoff.h" and "libecoff.h".
* elf32-ppc.c (ppc_elf_fake_sections): Make static.
* opncls.c (bfd_openstreamr): Change stream parameter to PTR.
* peicode.h: Change several void * parameters to PTR.
* srec.c (srec_get_symbol_info): Make static.
* syms.c (bfd_symbol_is_absolute): Remove.
1997-03-19 03:58:45 +00:00
Ian Lance Taylor
ff12f30335
Fri Jan 3 16:58:31 1997 Richard Henderson <rth@tamu.edu>
...
elf64-alpha multiple .got rewrite:
* elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
(bfd_elf*_mkobject): Don't define here ...
* elfxx-target.h: ... but rather here. Default always_size_sections
hook to NULL.
* elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
what the #defines in elf-bfd.h transmuted it to anyway.
* section.c: Add SEC_LINKER_CREATED flag.
* bfd-in2.h: Rebuild.
* elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
relocation section flags.
(elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
SEC_IN_MEMORY to recognize generated bits.
* elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
Likewise.
* elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
mips_elf_create_compact_rel_section, mips_elf_create_got_section,
mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_create_linker_section,
ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs,
elf32_sparc_size_dynamic_sections): Likewise.
* elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
section flags.
(_bfd_elf_create_dynamic_sections): Likewise.
(_bfd_elf_make_linker_section_rela): Likewise.
* elflink.h (elf_link_create_dynamic_sections): Likewise.
(bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
(elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
to identify generated bits.
(elf_link_input_bfd): Likewise.
* elf64-alpha.c: Rewrite everything touching relocations.
1997-01-03 22:09:40 +00:00
Ian Lance Taylor
37d7888d03
Wed Aug 14 17:02:09 1996 Richard Henderson <rth@tamu.edu>
...
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
in section dynidx start.
1996-08-15 00:03:50 +00:00
Ian Lance Taylor
297a4f1a3c
Tue Jun 25 11:41:24 1996 Richard Henderson <rth@tamu.edu>
...
* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
increment the .rela.plt size until after we're done creating the
.plt entry.
(elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
.rela.plt offset directly rather than calculating it.
1996-06-25 15:55:31 +00:00