Nick Clifton
1ed89aa92e
Do not include empty sections in loadable segments.
2002-06-06 10:03:38 +00:00
Jeff Law
1abffd82ca
* configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,
...
HOSTING_CRT0 and HOSTING_LIBS.
2002-06-06 06:45:54 +00:00
Joern Rennecke
7a33bc1016
gcc:
...
* config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
(shl*-*-elf*): Add.
* config/sh/t-be (MULTILIB_ENDIAN): Set.
* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
* t-sh (MULTILIB_ENDIAN): Set.
(MULTILIB_OPTIONS): Use it.
* t-sh64 (MULTILIB_OPTIONS): Likewise.
(MULTILIB_DIRNAMES): Likewise.
bfd:
* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
ld:
configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
2002-06-05 19:54:28 +00:00
Jason Thorpe
4a5e698dbf
* emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.
...
(NONPAGED_TEXT_START_ADDR): Set to 0x1000.
2002-06-05 16:59:12 +00:00
Alan Modra
1d475d825e
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
...
SEC_EXCLUDE sections when doing a relocatable link.
2002-06-05 14:07:29 +00:00
Jason Thorpe
5b0e55b627
bfd:
...
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
* Makefile.in: Regenerate.
* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
* configure: Regenerate.
* elf32-sh64-nbsd.c: New file.
* elf64-sh64-nbsd.c: New file.
* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
bfd_elf64_sh64lnbsd_vec.
gas:
* configure.in (sh5*): Set cpu_type to sh64 and endian to big.
(sh5le*, sh64le*): Set cpu_type to sh64 and endian to little.
(sh5*-*-netbsd*, sh64*-*-netbsd*): New targets.
* configure: Regenerate.
* config/tc-sh64.c (sh64_target_format): Add support for NetBSD
environment.
ld:
* Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
(eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
(eshlelf64_nbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
(sh64-*-netbsd*): New targets.
* emulparams/shelf32_nbsd.sh: New file.
* emulparams/shelf64_nbsd.sh: New file.
* emulparams/shlelf32_nbsd.sh: New file.
* emulparams/shlelf64_nbsd.sh: New file.
opcodes:
* configure.in: Add "sh5*-*" to list of targets which include
sh64 support.
* configure: Regenerate.
2002-06-04 02:57:44 +00:00
Alan Modra
9ad85d9b01
* ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix.
2002-06-04 01:07:29 +00:00
H.J. Lu
bfba206a7e
2005-06-02 H.J. Lu <hjl@gnu.org>
...
* ld-srec/sr3.cc (__dso_handle): Added for gcc 3.1 with
-fuse-cxa-atexit.
(__cxa_atexit): Likewise.
2002-06-03 04:56:52 +00:00
Marek Michalkiewicz
0c9b4fee1c
* scripttempl/avr.sc: Changes to support current GCC and avr-libc,
...
C++ constructors/destructors, loosely based on the m68hc11 port.
2002-06-01 23:28:59 +00:00
Alan Modra
2c538bdec9
* Makefile.in: Regenerate.
...
* aclocal.m4: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
2002-05-31 04:33:55 +00:00
Alan Modra
a0cb91c657
* Makefile.am (ALL_EMULATIONS): Add ei386nto.o.
...
(ei386nto.c): Add rule.
* Makefile.in: Regenerate.
* configure.tgt: Add i[3456]86-*-nto-qnx*.
* emulparams/i386nto.sh: New file.
2002-05-31 03:02:35 +00:00
Richard Henderson
0085b5a8ab
* ld-bootstrap/bootstrap.exp: Test --relax.
2002-05-30 21:39:41 +00:00
Jason Thorpe
37020578cf
* NEWS: Add entry for VAX ELF support.
2002-05-30 02:58:04 +00:00
Jason Thorpe
ab68f3e06f
2002-05-29 Matt Thomas <matt@3am-software.com>
...
Jason Thorpe <thorpej@wasabisystems.com>
* Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o.
(eelf32vax.c)
(evaxnbsd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (vax-*-netbsdelf*)
(vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* emulparams/elf32vax.sh: New file.
* emulparams/vaxnbsd.sh: New file.
2002-05-30 02:40:03 +00:00
Nick Clifton
8afb0e028c
Fix genreation of arm <->thumb glue stubs by ensuring that they are in the last section linked.
2002-05-29 16:03:04 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Hans-Peter Nilsson
69de2f8959
* ld-cris/libdso-2.d: Tweak for combreloc now default on.
2002-05-28 01:44:46 +00:00
Nick Clifton
b4477fa895
Install new elf_chaos.sc script.
2002-05-27 17:52:56 +00:00
Richard Sandiford
ee3cc2e2ee
* ldlang.c (lang_size_sections_1): Move check for conflicting load
...
addresses and regions from here...
(lang_get_regions): ...to this new function.
(lang_leave_output_section_statement): Use lang_get_regions.
(lang_leave_overlay): Likewise.
* mri.c (mri_draw_tree): Pass null as last argument to
lang_leave_output_section_statement.
* emultempl/elf32.em (gld*_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
* emultempl/pe.em (gld*_place_orphan): Likewise.
2002-05-27 08:22:08 +00:00
Jason Thorpe
aa501e5cee
gas:
...
* configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
* configure: Regenerate.
ld:
* configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
2002-05-26 05:04:53 +00:00
Kazu Hirata
658957dba8
* ldemul.c: Fix formatting.
...
* ldfile.c: Likewise.
* pe-dll.c: Likewise.
* pe-dll.h: Likewise.
2002-05-25 20:39:25 +00:00
Alan Modra
0d6d936fc1
* ldlang.c (lang_process): Formatting, grammar.
2002-05-25 13:10:11 +00:00
Alan Modra
3511b5956d
* ldlex.l: Use #include "" instead of <> for local header files.
2002-05-25 12:54:12 +00:00
Nick Clifton
436e8db0b7
Add a target for i386-netbsdpe.
2002-05-24 09:26:58 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Alan Modra
68b2fc7af6
* configure.in: Correct spelling of AC_PREREQ.
2002-05-23 08:17:10 +00:00
Christopher Faylor
70b0be7903
* pe-dll.c (autofilter_liblist): Add more system libs excluded by default.
...
(autofilter_objlist): Add crtbegin.o, crtend.o.
* emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
(longopts): Add new option --exclude-libs.
(gld_${EMULATION_NAME}_list_options): Give quick help about it.
(gld_${EMULATION_NAME}_parse_args): Use it.
* pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
* pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from
whole archives.
(pe_dll_add_excludes): Set excludes->type.
(auto_export): Add new variable libname and set to archive basename if abfd.
Use it when filtering default and user-specified libarary excludes. Let string
"ALL" mean all libs when filtering user-specified libs.
* ld.texinfo: Document --exclude-libs.
2002-05-22 18:03:09 +00:00
Alan Modra
fac1652d6b
* ldemul.c (ldemul_new_vers_pattern): New function.
...
* ldemul.h (ldemul_new_vers_pattern): Declare.
(struct ld_emulation_xfer_struct): Add new_vers_pattern.
* ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
* emultempl/ppc64elf.em (dotsyms): New static var.
(gld${EMULATION_NAME}_new_vers_pattern): New function.
(LDEMUL_NEW_VERS_PATTERN): Define.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
(PARSE_AND_LIST_LONGOPTS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
initialiser.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf_oabi.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/generic.em: Likewise.
* emultempl/gld960.em: Likewise.
* emultempl/gld960c.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vanilla.em: Likewise.
2002-05-22 09:04:48 +00:00
Alan Modra
eb3d6bb8dc
* genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
...
and $NATIVE_LIB_DIRS. Add $tool_lib before other libs.
(LIB_SEARCH_DIRS): No need to use "tr".
(COMPILE_IN): Only set for native targets.
* configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
* configure.tgt (powerpc*): Set tdir_*.
(powerpcle*): Correct targ_extra_emuls.
* emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
* emulparams/elf64ppc.sh (LIB_PATH): Likewise.
2002-05-22 08:44:53 +00:00
Alan Modra
54f24647c7
* emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
...
calling lang_add_entry.
2002-05-22 08:21:27 +00:00
H.J. Lu
aa713662e8
2002-05-21 H.J. Lu (hjl@gnu.org)
...
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
"-z muldefs".
(gld${EMULATION_NAME}_list_options): Add "-z muldefs".
* ld.texinfo: Updated for --allow-multiple-definition and
"-z muldefs".
* ldmain.c (main): Initialize the allow_multiple_definition
field to false.
* lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
(ld_options): Add --allow-multiple-definition.
(parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2002-05-22 05:08:31 +00:00
Jason Thorpe
658f25883a
bfd:
...
* config.bfd (armeb-*-netbsdelf*): New target.
ld:
* Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
(earmelfb_nbsd.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt (armeb-*-netbsdelf*): New target.
(arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
(arm-*-netbsd*): Likewise.
* emulparams/armelfb_nbsd.sh: New file.
2002-05-21 15:11:04 +00:00
Tom Rix
ca10c62d56
Add -bnortl and -bnortllib support for AIX.
2002-05-18 16:56:27 +00:00
Marek Michalkiewicz
fae1e84fb6
* Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
...
* Makefile.in: Regenerate.
* configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
2002-05-17 05:55:14 +00:00
Marek Michalkiewicz
7c8bf1e82a
* emulparams/avr1.sh: New file.
...
* emulparams/avr2.sh: New file.
* emulparams/avr3.sh: New file.
* emulparams/avr4.sh: New file.
* emulparams/avr5.sh: New file.
* scripttempl/avr.sc: New file.
2002-05-16 19:51:08 +00:00
Alan Modra
c2c01aa78c
* ldlang.c (section_already_linked): Call bfd_link_just_syms.
...
(lang_place_orphans): Abort if just_syms_flag.
2002-05-15 00:19:23 +00:00
Tom Rix
f1f0d9ab14
XCOFF64 fixes. For setting arch/mach and for R_BR relocations.
2002-05-10 21:20:16 +00:00
Jakub Jelinek
f4d733664a
* ldmain.c (main): Enable -z combreloc by default.
2002-05-10 09:49:25 +00:00
Nick Clifton
d3d8a9ee19
Honour DESTDIR
2002-05-07 17:22:20 +00:00
Richard Sandiford
3e3f011f93
* lib/ld-lib.exp (run_dump_test): Add -L$srcdir/$subdir.
...
(is_elf_format): New, extracted from...
* ld-scripts/weak.exp: ...here.
* ld-scripts/overlay-size.exp: New test.
* ld-scripts/overlay-size.[tsd],
* ld-scripts/overlay-size-map.d: New files for it.
2002-05-07 11:08:57 +00:00
Richard Sandiford
9f88b410a0
* ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
...
(lang_enter_overlay): Remove the last two parameters.
(lang_leave_overlay): Take them here instead.
* ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
(section): Pass LMA and crossref flag to lang_leave_overlay rather
than lang_enter_overlay.
* ldlang.c (lang_memory_region_lookup): Return null for null names.
(lang_output_section_statement_lookup): Initialize update_dot_tree.
(lang_size_sections_1): Evaluate it.
(lang_leave_output_section_statement): Rework LMA lookup.
(overlay_lma, overlay_nocrossrefs): Remove.
(lang_enter_overlay): Remove LMA and corssref arguments.
(lang_enter_overlay_section): Don't set the LMA here.
(lang_leave_overlay): Take LMA and crossref arguments. Move the '.'
assignment to the last section's update_dot_tree. Unconditionally
use the load and run-time regions specified in the OVERLAY statement.
Likewise the first section's LMA. Only set the other sections' LMAs
when no load region is given.
2002-05-07 11:04:54 +00:00
Nick Clifton
b9a743c80b
New Swedish translation
2002-05-06 10:09:24 +00:00
Alan Modra
a3d60be3b8
* emultempl/hppaelf.em (build_section_lists): New function.
...
(gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
and build_section_lists.
2002-05-04 02:06:43 +00:00
Kazu Hirata
b7a26f91f4
* ld.h: Fix formatting.
...
* ldexp.c: Likewise.
* ldfile.c: Likewise.
* ldlang.c: Likewise.
* ldmain.c: Likewise.
* lexsup.c: Likewise.
* pe-dll.c: Likewise.
2002-05-03 13:48:55 +00:00
Richard Sandiford
a155881bab
* ld-scripts/map-address.exp: Quote conditions.
2002-05-02 16:03:41 +00:00
Alan Modra
805fc79928
* elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
...
(ppc64_elf_ha_reloc): New function.
(ppc64_elf_brtaken_reloc): New function.
(ppc64_elf_sectoff_reloc): New function.
(ppc64_elf_sectoff_ha_reloc): New function.
(ppc64_elf_toc_reloc): New function.
(ppc64_elf_toc_ha_reloc): New function.
(ppc64_elf_toc64_reloc): New function.
(ppc64_elf_unhandled_reloc): New function.
(ppc64_elf_howto_raw): Use the above.
<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
<R_PPC64_SECTOFF_DS>: Likewise.
(IS_ABSOLUTE_RELOC): Update.
(struct ppc_link_hash_table): Add have_undefweak.
(ppc64_elf_link_hash_table_create): Init.
(func_desc_adjust): Set have_undefweak.
(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
add the .sfpr blr when have_undefweak.
(ppc64_elf_setup_section_lists): Check hash table flavour.
(ppc64_elf_next_input_section): Move output_section->owner test to
ppc64elf.em.
(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
and relocatable test. Return TOCstart and don't set elf_gp.
(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
offset calculation. Add assert on weak sym branch tweaks.
* elf64-ppc.h (ppc64_elf_set_toc): Delete.
(ppc64_elf_toc): Declare.
(ppc64_elf_next_input_section): Update.
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
Adjust for ppc64_elf_set_toc change. #include libbfd.h.
(build_section_lists): Do output_section tests here.
2002-05-02 09:48:15 +00:00
Tom Rix
cc7e59b280
Formatting fix.
2002-05-01 02:52:17 +00:00
Alan Modra
9c1d81c102
Long branch stubs, multiple stub sections.
...
* emultempl/ppc64elf.em: Include ldctor.h.
(stub_file): New var.
(group_size): New var.
(ppc_create_output_section_statements): New function.
(struct hook_stub_info): New.
(hook_in_stub): New function.
(ppc_add_stub_section): New function.
(ppc_layout_sections_again): New function.
(build_section_lists): New function.
(gld${EMULATION_NAME}_finish): Rewrite.
(real_func): New var.
(ppc_for_each_input_file_wrapper): New function.
(ppc_lang_for_each_input_file): New function.
(lang_for_each_input_file): Define.
(PARSE_AND_LIST_PROLOGUE): Define.
(PARSE_AND_LIST_LONGOPTS): Define.
(PARSE_AND_LIST_OPTIONS): Define.
(PARSE_AND_LIST_ARGS_CASES): Define.
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
2002-05-01 02:34:54 +00:00
Tom Rix
aa67bccfe2
Add support for AIX -blibpath and -bnolibpath.
2002-04-30 23:29:21 +00:00
Mark Mitchell
94349e12d2
* Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
...
(eelf32ppcwindiss.c): New target.
* Makefile.in: Regenerated.
* configure.tgt: Add support for powerpc-*-windiss.
* emulparams/elf32ppcwindiss.sh: New file.
2002-04-30 17:49:01 +00:00
Richard Sandiford
33a301baa7
* ld-scripts/map-address.exp: New test.
...
* ld-scripts/map-address.[td]: New files for it.
2002-04-30 09:23:14 +00:00
Richard Sandiford
7b17f854f7
* ldlang.c (print_assignment): Update print_dot for assignments to ".".
...
* ldexp.c (exp_print_token): Add "infix_p" argument.
(exp_print_tree): Update accordingly.
2002-04-30 09:21:27 +00:00
Alan Modra
596dafeba1
* Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
...
* Makefile.in: Regenerate.
* mpw-elfmips.c: Delete.
* mpw-eppcmac.c: Delete.
* mpw-esh.c: Delete.
* mpw-idtmips.c: Delete.
2002-04-28 12:05:07 +00:00
Richard Henderson
212a6b8ef7
* ld-elfvsb/elfvsb.exp: Mirror ia64 non-pic xfails for alpha.
...
* ld-shared/shared.exp: Likewise.
* ld-selective/selective.exp: Disable for alpha.
* ld-undefined/undefined.exp: Add alpha to dwarf2 xfails.
2002-04-19 19:28:09 +00:00
Joern Rennecke
a44d7f9cfb
Re-enable linking for sh5:
...
ld:
* emulparams/shelf32.sh (MACHINE): Now sh5.
bfd:
* cpu-sh.c (scan_mach): Delete.
(arch_info_struct): Replace scan_mach with bfd_default_scan.
(bfd_sh_arch): Likewise.
2002-04-17 19:31:53 +00:00
Thiemo Seufer
944cd72c7e
* arparse.y: Fix syntax warning.
...
* ldgram.y: Fix syntax warning.
2002-04-17 13:05:55 +00:00
Nick Clifton
5835c2123d
Add 'n' in order to prevent "-n" from being taken as an abbreviation for
...
"--no-pipeline-knowledge".
2002-04-11 16:55:27 +00:00
Alan Modra
d08a14c385
* ldlang.c (lang_size_sections_1): Don't complain about
...
SEC_NEVER_LOAD sections having no memory region specified.
2002-04-08 01:01:43 +00:00
Alan Modra
024531e2e5
* ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix.
2002-04-08 00:24:02 +00:00
Matthew Green
c657a1f082
* ld/configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
2002-04-07 13:57:53 +00:00
Hans-Peter Nilsson
32d279374d
* ld-cris/libdso-2.d, ld-cris/dso-2.s, ld-cris/hide1: New test.
2002-04-05 23:13:09 +00:00
Alan Modra
61bef6f1a0
* dep-in.sed: Cope with absolute paths.
...
* Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
Run "make dep-am".
* Makefile.in: Regenerate.
2002-04-04 14:07:57 +00:00
Thiemo Seufer
49ba2791b8
* emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options.
2002-04-04 07:21:39 +00:00
Jakub Jelinek
50e60fb578
* ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
...
is smaller than maximum, round dot up to common page boundary.
2002-04-03 10:25:41 +00:00
Alan Modra
6f12f4cad7
* configure.host: Set up for generic hosts first, then tweak as
...
necessary in more specific targets.
(HOSTING_LIBS): Include libgcc_eh.a if found.
2002-03-27 14:07:50 +00:00
Andreas Jaeger
a8f1f017eb
* emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it.
2002-03-23 18:15:32 +00:00
Alan Modra
1d3fdf38d3
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
2002-03-21 09:42:38 +00:00
Alan Modra
79b1faa874
* genscripts.sh (LIB_SEARCH_DIRS): Quote path.
2002-03-21 05:35:39 +00:00
Alan Modra
fcf0e35b46
* ldlang.c (ldlang_add_undef): If the output bfd has been opened,
...
add the symbol to the linker hash table immediately.
(lang_place_undefineds): Split symbol creation out..
(insert_undefined): ..to here.
2002-03-20 07:49:53 +00:00
Hans-Peter Nilsson
442e4424a0
* ld-cris/ldsym1.d: New test.
2002-03-19 23:49:51 +00:00
Hans-Peter Nilsson
f854883482
* ld-mmix/bpo-1.d: Tweak for type of linker-script-symbols no
...
longer set to object.
* ld-mmix/undef-3.d, ld-mmix/start-1.d, ld-mmix/locto-1.d,
ld-mmix/loct-1.d, ld-mmix/locdo-1.d, ld-mmix/local7.d,
ld-mmix/local5.d, ld-mmix/local3.d, ld-mmix/local1.d,
ld-mmix/loc6.d, ld-mmix/loc4.d, ld-mmix/loc3.d, ld-mmix/loc2.d,
ld-mmix/loc1.d, ld-mmix/greg-7.d, ld-mmix/greg-6.d,
ld-mmix/greg-5.d, ld-mmix/greg-4.d, ld-mmix/greg-3.d,
ld-mmix/greg-2.d, ld-mmix/greg-19.d, ld-mmix/greg-1.d,
ld-mmix/bspec2.d, ld-mmix/bspec1.d, ld-mmix/bpo-9.d,
ld-mmix/bpo-6.d, ld-mmix/bpo-5.d, ld-mmix/bpo-4.d,
ld-mmix/bpo-3.d, ld-mmix/bpo-2.d, ld-mmix/bpo-19.d,
ld-mmix/bpo-18.d, ld-mmix/bpo-17.d, ld-mmix/bpo-16.d,
ld-mmix/bpo-14.d, ld-mmix/bpo-11.d, ld-mmix/bpo-10.d: Ditto.
2002-03-19 22:48:15 +00:00
David O'Brien
fed2999dfb
2002-03-18 David O'Brien <obrien@FreeBSD.org>
...
* emultempl/elf32.em: Use lbasename vs. basename to fix problem where
the contents of the buffer returned from basename function will are
getting overwritten while still being used.
Approved by: Alan Modra <amodra@bigpond.net.au>
Message-ID: <20020318032031.GD1089@bubble.sa.bigpond.net.au>
2002-03-19 21:03:43 +00:00
Jan Hubicka
beb43bb9f4
* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
...
* configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.
* elf_x86_64.sh (ARCH): Set to i386:x86-64
set libraries to default to lib64 paths.
2002-03-18 16:42:43 +00:00
Nick Clifton
eb1e0e807a
Add AIX 64 shared library support and emulation layer for binutils
2002-03-18 12:46:27 +00:00
Nick Clifton
a1c259a138
Updated French translations
2002-03-18 09:44:22 +00:00
Alan Modra
862120bdbe
* ldmain.c (main): Move .text readonly flag fudges from here..
...
* ldlang.c (lang_process): ..to here.
2002-03-18 02:55:51 +00:00
Alan Modra
d35a52e2a7
* ldlang.c (lang_check): Remove the word size check added in last
...
change. Treat emitrelocations case as for relocatable links.
2002-03-14 10:39:46 +00:00
Nick Clifton
9ce88e60f3
Updated French translations
2002-03-13 10:35:17 +00:00
Alan Modra
30cba02509
* ldlang.c (lang_check): Do relocatable link checks first, so that
...
warn_mismatch can't override. Check compatible and word size too.
2002-03-13 02:56:36 +00:00
Andreas Jaeger
91c903ab76
* ld-elfweak/strongdata.sym: Allow bss section for GCC 3.2 that
...
places zero initialized data in the bss.
* ld-elfweak/dsodata.dsym: Likewise.
2002-03-11 09:26:20 +00:00
Daniel Jacobowitz
84ec0e6d80
2002-03-07 Daniel Jacobowitz <drow@mvista.com>
...
* ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
2002-03-08 04:07:21 +00:00
Hans-Peter Nilsson
61c53cc298
* ld-cris/expdyn1.d: Tweak for change in elf.sc.
2002-03-07 14:03:05 +00:00
Jakub Jelinek
2d13d8c5ee
* scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
...
DATA_SEGMENT_ALIGN.
2002-03-05 11:56:23 +00:00
H.J. Lu
b5090659de
2002-03-04 H.J. Lu <hjl@gnu.org>
...
* scripttempl/elf.sc: Put .preinit_array, .init_array and
.fini_array in the data segment.
2002-03-04 20:40:14 +00:00
Alan Modra
f42ce16e2f
* scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
2002-03-04 01:37:52 +00:00
Richard Henderson
de77b6ac8b
* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
...
.init_array, and .fini_array.
2002-03-02 01:25:26 +00:00
Hans-Peter Nilsson
acbd2de6c6
* ld-sh/ld-r-1.d: Adjust to changes in readelf output.
...
* ld-sh/shared-1.d, ld-sh/sh64/crangerel1.rd, ld-sh/crangerel2.rd,
ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Ditto.
2002-02-24 16:44:45 +00:00
Andreas Schwab
997e08c061
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
...
.IA64_unwind* in a relocatable link.
2002-02-20 10:48:25 +00:00
Nick Clifton
9a66911f91
Mark 2.12 branch
2002-02-20 10:46:54 +00:00
David O'Brien
6a7f963b84
match reality
2002-02-20 06:53:29 +00:00
David O'Brien
28912fd9fb
2002-02-18 David O'Brien <obrien@FreeBSD.org>
...
* Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd,
eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
and eelf64alpha_fbsd.
(left this out of last patch)
2002-02-20 06:52:34 +00:00
Martin Schwidefsky
d86bcc1089
2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
...
* emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit".
* emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit".
2002-02-19 18:58:04 +00:00
Tom Rix
69f284c74e
Add support for -brtl, run time linking, to AIX ld.
2002-02-19 05:01:40 +00:00
Daniel Jacobowitz
4bcc9fa440
2002-02-18 Daniel Jacobowitz <drow@mvista.com>
...
* ld-elfvsb/sh1.c: Fix typo in last change.
2002-02-18 22:42:55 +00:00
Alan Modra
82bd7b59c9
* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
...
(struct ppc_link_hash_table): Add sfpr.
(ppc64_elf_link_hash_table_create): Init it.
(ppc64_elf_create_dynamic_sections): Split creation of .stub and
.glink out to..
(create_linkage_sections): ..here. Make .sfpr too.
(ppc64_elf_check_relocs): Call create_linkage_sections, and set
dynobj early.
(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
._restf* functions, and create as needed.
(func_desc_adjust): Only force_local for shared libs.
* emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
2002-02-18 12:40:28 +00:00
David O'Brien
ac3e50bf05
2002-02-18 David O'Brien <obrien@FreeBSD.org>
...
* Makefile.in: Add new files earmelf_fbsd, eelf32ppc_fbsd,
eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
and eelf64alpha_fbsd.
* configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd,
x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd):
use a FreeBSD-specific emulation rather than the psABI one.
* emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value
for all FreeBSD ELF systems.
* emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI
emulation.
* emulparams/elf32ppc_fbsd.sh: Likewise.
* emulparams/elf64_ia64_fbsd.sh: Likewise.
* emulparams/elf64_sparc_fbsd.sh: Likewise.
* emulparams/elf64alpha_fbsd.sh: Likewise.
* emulparams/elf_i386_fbsd.sh: Likewise.
* emulparams/elf_x86_64_fbsd.sh: Likewise.
Approved by: Nick Clifton <nickc@cambridge.redhat.com>
<m3pu33yy0b.fsf@north-pole.nickc.cambridge.redhat.com>
2002-02-18 09:38:01 +00:00
Nick Clifton
6ad738c5d9
Updated translations
2002-02-18 08:40:03 +00:00
Daniel Jacobowitz
aa3932f699
2002-02-17 Daniel Jacobowitz <drow@mvista.com>
...
* ld-elfvsb/sh1.c: Use #pragma weak.
2002-02-18 04:49:17 +00:00
Daniel Jacobowitz
3b0f0b37aa
2002-02-17 Daniel Jacobowitz <drow@mvista.com>
...
* vers.exp: Do not call diff -q.
2002-02-18 03:23:28 +00:00
Alan Modra
9673c93c26
* ld.texinfo (Output Section Fill): Fix amateur texinfo.
...
(FILL): Likewise.
2002-02-17 22:15:40 +00:00