H.J. Lu
9f1c3a0af7
2003-06-17 Roland McGrath <roland@redhat.com>
...
* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
segment-relative relocation between different segments.
2003-06-17 23:43:18 +00:00
Alan Modra
1cf1f67042
* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
...
optimizations earlier.
2003-06-17 14:22:46 +00:00
Alan Modra
734b6cf9ae
* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
...
Restore previous input_list type.
(ppc64_elf_link_hash_table_create): Undo last change.
(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
per output section, but don't bother with bfd_abs_section marker.
(ppc64_elf_next_input_section): Adjust for multiple input section
lists.
(group_sections): Likewise.
2003-06-17 13:43:02 +00:00
Jakub Jelinek
23fbd6fa70
* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
...
*r_offset == r_addend for RELATIVE relocs against .got.
2003-06-17 12:39:41 +00:00
Alan Modra
dad27d18ac
* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
2003-06-17 12:37:26 +00:00
Nick Clifton
b613960add
(elf_gc_record_vtentry): Allocate an extra element in the vtable_entries_used
...
array to allow for the accessing the largest element.
2003-06-17 09:57:18 +00:00
Alan Modra
3d6f9012bb
* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
...
input_list.
(ppc64_elf_link_hash_table_create): Init input_list here.
(ppc64_elf_setup_section_lists): Remove code setting up input lists
per output section. Set toc_off for abs and other standard sections.
(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
(ppc64_elf_next_input_section): Adjust for single input section list.
Don't set toc_curr from input bfds that haven't set elf_gp.
(group_sections): Adjust for single input section list.
2003-06-17 09:10:41 +00:00
Alan Modra
000732f753
* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
2003-06-17 00:25:45 +00:00
Alan Modra
6a3b19105f
daily update
2003-06-17 00:00:04 +00:00
Alan Modra
81407a69a5
* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
...
tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
got section for RELATIVE relocs. Fix wrong comment. Change condition
under which dynamic relocs update the section contents.
2003-06-16 10:50:22 +00:00
Alan Modra
0e6b25ec0e
daily update
2003-06-16 00:00:05 +00:00
Alan Modra
3f8b8186e9
daily update
2003-06-15 00:00:04 +00:00
Alan Modra
54da0153dd
daily update
2003-06-14 00:00:06 +00:00
Nick Clifton
a06a29f25f
Add i386-netbsd-gnu target.
2003-06-13 13:17:58 +00:00
Alan Modra
3732bf5de3
daily update
2003-06-13 00:00:06 +00:00
Nick Clifton
2593f09acc
Add new switch to objcopy: --add-gnu-debuglink=<file>
...
Allows packages to be shipped in two forms, a stripped executable and debug
info file.
2003-06-12 07:23:31 +00:00
Nick Clifton
7d1ebfb2ed
(i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]): New target (was i[3-7]86-*-openbsd* before).
...
(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
(vax-*-openbsd*): New target.
2003-06-12 07:21:50 +00:00
Alan Modra
7282305265
daily update
2003-06-12 00:00:06 +00:00
Thiemo Seufer
d80dcc6af4
* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
...
for n32, too.
(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
(mips_elf_rel_dyn_section): Use appropriate section alignment.
(mips_elf_create_got_section): Likewise.
(_bfd_mips_elf_create_dynamic_sections): Likewise.
* ld-mips-elf/multi-got-1.d: Adjust addresses.
* ld-mips-elf/rel32-n32.d: Likewise.
2003-06-11 21:01:50 +00:00
Thiemo Seufer
a7ebbfdf67
* elf32-mips.c (mips_elf_generic_reloc): New Function.
...
(elf_mips_howto_table_rel): Use it.
(gprel32_with_gp): Move prototype.
(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
Use mips_elf_generic_reloc.
(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
Code cleanup.
(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
zero addend.
(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
as in the other *_gprel*_reloc functions.
(gprel32_with_gp): Handle partial_inplace properly.
(mips32_64bit_reloc): Use mips_elf_generic_reloc.
(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
Do addend handling directly instead of calling
_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
of zero addend. Handle partial_inplace properly.
(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
addend.
(mips_elf64_gprel16_reloc): Likewise.
(mips_elf64_literal_reloc): Likewise.
(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
logic as in the other *_gprel*_reloc functions. Handle
partial_inplace properly.
(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
addend. Handle partial_inplace properly.
(mips16_gprel_reloc): Likewise. Do addend handling directly instead
of calling _bfd_mips_elf_gprel16_with_gp.
* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
of zero addend.
(mips_elf_shift6_reloc): Handle partial_inplace properly.
(mips16_gprel_reloc): Likewise. Do addend handling directly instead
of calling _bfd_mips_elf_gprel16_with_gp.
* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
partial_inplace properly. Fix wrong addend handling. Fix overflow
check.
(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
exported.
(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
(_bfd_mips_elf_relocate_section): Likewise.
(mips_elf_create_dynamic_relocation): Update sec_info_type access.
* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
(_bfd_mips_elf_sign_extend): New prototype.
* config/tc-mips.c (md_pcrel_from): Return actual pcrel address.
(md_apply_fix3): Ignore non-special relocations. Remove superfluous
exceptions from size assert. Remove most of the addend fixup
specialcasing. Remove value, use valP directly. simplify fx_addnumber
handling. Remove zero addend specialcases.
(tc_gen_reloc): Use appropriate value for reloc2 addend. Remove
the addend fixup specialcase.
* config/tc-mips.h (MD_APPLY_SYM_VALUE): Define as 0.
2003-06-11 16:22:26 +00:00
Nick Clifton
de6e5e1a72
* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
...
* configure: Regenerate.
2003-06-11 13:38:07 +00:00
Nick Clifton
49ba19a457
* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]): New target
...
(was sparc-*-openbsd* before).
(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
2003-06-11 13:34:50 +00:00
H.J. Lu
3b4433739c
bfd/
...
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
binutils/
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
gas/
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
gprof/
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
ld/
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
opcodes/
2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
* po/Make-in (DESTDIR): New.
(install-data-yes): Support $(DESTDIR).
(uninstall): Likewise.
2003-06-11 01:32:08 +00:00
Alan Modra
dacb1b5920
daily update
2003-06-11 00:00:05 +00:00
Alan Modra
795bb480ca
* bfd/Makefile.am (config.status): Depend on version.h.
...
Run "make dep-am" in bfd/ and elsewhere, and regen files.
2003-06-10 23:44:42 +00:00
Alan Modra
adadcc0cc9
Add "attn", "lq" and "stq" power4 insns.
2003-06-10 07:44:11 +00:00
Richard Sandiford
f4984206d8
include/elf/
...
* h8.h (E_H8_MACH_H8300SXN): New flag.
bfd/
* archures.c (bfd_mach_h8300sxn): New architecture.
* bfd-in2.h: Regenerate.
* cpu-h8300.c (h8300_scan): Check for 'sxn'.
(h8300sxn_info_struct): New.
(h8300sx_info_struct): Link to it.
* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
(elf32_h8_final_write_processing): Likewise.
gas/
* config/tc-h8300.c (h8300sxnmode): New.
(md_pseudo_table): Add .h8300sxn entry. Sync others with FSF version.
ld/
* configure.tgt (h8300*): Add h8300sxn emulations.
* Makefile.am (ALL_EMULATIONS): Add eh8300sxn.o and eh8300sxnelf.o.
(eh8300sxn.c, eh8300sxnelf.c): New rules.
* Makefile.in: Regenerate.
* emulparams/h8300sxnelf.sh, emulparams/h8300sxn.sh: New files.
2003-06-10 07:09:31 +00:00
Alan Modra
ea1eda6a1f
daily update
2003-06-10 00:00:05 +00:00
Alan Modra
2596047a51
daily update
2003-06-09 00:00:05 +00:00
Alan Modra
ad8e1ba599
* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
...
elfxx-target.h so that we can use elf_backend_got_header_size.
(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
(GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
associated macros.
(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
dst_mask.
(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
ppc_stub_plt_branch_r2off.
(struct ppc_stub_hash_entry): Reorganize.
(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
toc_curr, toc_off and emit_stub_syms.
(ppc64_elf_link_hash_table_create): Init them.
(ppc_stub_name): Correct string size.
(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
used.
(ppc_type_of_stub): Tweak root.type test.
(build_plt_stub): Remove glink code. Adjust for insn macro changes.
(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
ppc_stub_plt_branch_r2off.
(ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
Initialize elf_gp and toc_curr.
(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
(ppc64_elf_next_input_section): Set toc_off.
(group_sections): Ensure groups have the same TOC.
(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
Build new glink stub.
(ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
* section.c (struct sec): Rename flag12 to has_gp_reloc.
(STD_SECTION): Update.
* ecoff.c (bfd_debug_section): Update comment.
* bfd-in2.h: Regenerate.
2003-06-08 14:06:38 +00:00
Alan Modra
5f7adbf064
daily update
2003-06-08 00:00:06 +00:00
Alan Modra
789b97bf70
daily update
2003-06-07 00:00:05 +00:00
Daniel Jacobowitz
90fff0d44f
* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
...
NULL function pointers.
2003-06-06 02:12:04 +00:00
Alan Modra
3dc08f3180
daily update
2003-06-06 00:00:05 +00:00
Daniel Jacobowitz
c82b20e457
* simple.c (bfd_simple_get_relocated_section_contents): Call
...
_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
2003-06-05 14:07:52 +00:00
Svein Seldal
5a5b96513f
Moved the ticoff0/1 swaptables and coff0/1 bad format hooks to coffcode.h
2003-06-04 11:38:30 +00:00
Svein Seldal
53d4437ac6
Altered the CREATE_xxx_COFF_TARGET_VEC macro arguments -- changelog dropped out
2003-06-04 11:15:09 +00:00
Svein Seldal
3fa785190a
Altered the CREATE_xxx_COFF_TARGET_VEC macro arguments
2003-06-04 10:47:33 +00:00
Svein Seldal
736694c89e
Fixed initialization bug
2003-06-04 10:11:02 +00:00
Jakub Jelinek
9ee5e4996f
binutils/
...
* readelf.c (get_segment_type): Handle PT_GNU_STACK.
bfd/
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
(bfd_section_from_phdr): Likewise.
(map_sections_to_segments): Create PT_GNU_STACK segment header.
(get_program_header_size): Count with PT_GNU_STACK.
* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
include/
* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
* elf/common.h (PT_GNU_STACK): Define.
ld/
* ldgram.y (phdr_type): Grok PT_GNU_STACK.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
-z execstack and -z noexecstack.
(gld${EMULATION_NAME}_list_options): Likewise.
* scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
2003-06-03 22:27:24 +00:00
H.J. Lu
6f6f27f842
bfd/
...
2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* elflink.h (elf_link_input_bfd): Call linker error_handler
for discarded definitions.
include/
2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
ld/
2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* ldmisc.c: Include "bfdlink.h".
(error_handler): Handle LD_DEFINITION_IN_DISCARDED_SECTION
and -LD_DEFINITION_IN_DISCARDED_SECTION.
* Makefile.am: Rebuild dependency.
* Makefile.in: Regenerated.
ld/testsuite/
2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* ld-discard/extern.d: Updated.
* ld-discard/start.d: Likewise.
* ld-discard/static.d: Likewise.
2003-06-03 18:15:05 +00:00
Nick Clifton
a3b6428fe7
Return 'n' if section flags are SEC_HAS_CONTENTS && SEC_READONLY.
2003-06-03 17:45:49 +00:00
Nick Clifton
e30ddb24b3
Add pc-relative 32-bit reloc to v850 port. Fixes ld-elf/merge test failure.
2003-06-03 16:24:06 +00:00
Kaz Kojima
2558b9a9f0
* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
...
and DT_DEBUG dynamic tag even for position independent executables.
* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2003-06-03 04:50:20 +00:00
Daniel Jacobowitz
f15398ef83
* config.bfd: Move obsolete entries out of the range of the
...
targmatch sed script.
2003-06-02 19:25:51 +00:00
Daniel Jacobowitz
cad2898553
* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2003-06-02 18:59:49 +00:00
Alan Modra
12be538b0b
daily update
2003-06-02 00:00:05 +00:00
Alan Modra
e8898e69f1
daily update
2003-06-01 00:00:05 +00:00
Jakub Jelinek
f2c822e386
* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
...
plt entries, not just 8191.
2003-05-31 07:55:10 +00:00
Alan Modra
081933c009
daily update
2003-05-31 00:57:55 +00:00