Alan Modra
7ff1a5b533
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
* config.in: Regenerate.
2006-06-05 12:28:18 +00:00
Alan Modra
f0b5bb34d5
bfd/
...
PR ld/2723
* elflink.c (bfd_elf_final_link): Don't output section symbols
for special ELF sections.
ld/testsuite/
Update for removal of some section syms.
2006-06-02 00:32:00 +00:00
Alan Modra
117ed4f8d5
* stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
...
instead of bfd_make_section*.
* aix386-core.c: Likewise.
* aix5ppc-core.c: Likewise.
* aout-adobe.c: Likewise.
* aoutf1.h: Likewise.
* binary.c: Likewise.
* cisco-core.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* elf.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-m32c.c: Likewise.
* hppabsd-core.c: Likewise.
* hpux-core.c: Likewise.
* i386linux.c: Likewise.
* ieee.c: Likewise.
* ihex.c: Likewise.
* irix-core.c: Likewise.
* lynx-core.c: Likewise.
* m68klinux.c: Likewise.
* mach-o.c: Likewise.
* netbsd-core.c: Likewise.
* nlmcode.h: Likewise.
* opncls.c: Likewise.
* osf-core.c: Likewise.
* peXXigen.c: Likewise.
* ppcboot.c: Likewise.
* ptrace-core.c: Likewise.
* rs6000-core.c: Likewise.
* sco5-core.c: Likewise.
* sparclinux.c: Likewise.
* srec.c: Likewise.
* sunos.c: Likewise.
* trad-core.c: Likewise.
* xcofflink.c: Likewise.
* xsym.c: Likewise.
2006-06-01 03:45:58 +00:00
Daniel Jacobowitz
20e95c23ab
Configury changes: update src repository (binutils, gdb, and rda) to use
...
config/gettext-sister.m4 instead of the old gettext.m4. Regenerate all
affected autotools files. Include intl in gdb releases again.
2006-05-31 15:14:46 +00:00
H.J. Lu
24718e3ba5
bfd/
...
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* bfd.c (bfd_emul_get_maxpagesize): New.
(bfd_elf_set_pagesize): Likewise.
(bfd_emul_set_maxpagesize): Likewise.
(bfd_emul_get_commonpagesize): Likewise.
(bfd_emul_set_commonpagesize): Likewise.
* bfd-in2.h: Regenerated.
* elf-bfd.h (elf_backend_data): Add commonpagesize.
(xvec_get_elf_backend_data): New.
(get_elf_backend_data): Use xvec_get_elf_backend_data.
* elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
* elfxx-target.h (elfNN_bed): Likewise.
* elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
* elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
* elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
* elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
* elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
(elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
* targets.c (bfd_find_target): Support NULL abfd.
ld/
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/arcelf.sh (MAXPAGESIZE): Changed to
"CONSTANT (MAXPAGESIZE)".
* emulparams/armelf_nbsd.sh: Likewise.
* emulparams/armelf_vxworks.sh: Likewise.
* emulparams/armnto.sh: Likewise.
* emulparams/armsymbian.sh: Likewise.
* emulparams/crislinux.sh: Likewise.
* emulparams/elf32_i860.sh: Likewise.
* emulparams/elf32_i960.sh: Likewise.
* emulparams/elf32am33lin.sh: Likewise.
* emulparams/elf32bfinfd.sh: Likewise.
* emulparams/elf32bmipn32-defs.sh: Likewise.
* emulparams/elf32frvfd.sh: Likewise.
* emulparams/elf32i370.sh: Likewise.
* emulparams/elf32lppcnto.sh: Likewise.
* emulparams/elf32mcore.sh: Likewise.
* emulparams/elf32openrisc.sh: Likewise.
* emulparams/elf32ppcnto.sh: Likewise.
* emulparams/elf32ppcwindiss.sh: Likewise.
* emulparams/elf32vax.sh: Likewise.
* emulparams/elf32xc16x.sh: Likewise.
* emulparams/elf32xc16xl.sh: Likewise.
* emulparams/elf32xc16xs.sh: Likewise.
* emulparams/elf64_aix.sh: Likewise.
* emulparams/elf64hppa.sh: Likewise.
* emulparams/elf64mmix.sh: Likewise.
* emulparams/elf_i386_be.sh: Likewise.
* emulparams/elf_i386_chaos.sh: Likewise.
* emulparams/elf_i386_ldso.sh: Likewise.
* emulparams/hppa64linux.sh: Likewise.
* emulparams/hppalinux.sh: Likewise.
* emulparams/hppaobsd.sh: Likewise.
* emulparams/i386lynx.sh: Likewise.
* emulparams/i386moss.sh: Likewise.
* emulparams/i386nto.sh: Likewise.
* emulparams/i386nw.sh: Likewise.
* emulparams/m32relf_linux.sh: Likewise.
* emulparams/m68kpsos.sh: Likewise.
* emulparams/or32elf.sh: Likewise.
* emulparams/pjelf.sh: Likewise.
* emulparams/pjlelf.sh: Likewise.
* emulparams/ppclynx.sh: Likewise.
* emulparams/ppcnw.sh: Likewise.
* emulparams/shelf32_nbsd.sh : Likewise.
* emulparams/shelf_nbsd.sh: Likewise.
* emulparams/shelf_nto.sh: Likewise.
* emulparams/shlelf_nto.sh: Likewise.
* emulparams/xtensa-config.sh: Likewise.
* emulparams/armelf_linux.sh (MAXPAGESIZE): Changed to
"CONSTANT (MAXPAGESIZE)".
(COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)".
* emulparams/elf32_sparc.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise.
* emulparams/elf32ppccommon.sh: Likewise.
* emulparams/elf64_ia64.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf64_sparc.sh: Likewise.
* emulparams/elf64alpha.sh: Likewise.
* emulparams/elf64ppc.sh: Likewise.
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_i386_vxworks.sh: Likewise.
* emulparams/elf_s390.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/shlelf32_linux.sh: Likewise.
* emulparams/shlelf_linux.sh: Likewise.
* emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Changed to
"CONSTANT (COMMONPAGESIZE)".
* emulparams/elf32btsmipn32.sh: Likewise.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
"-z max-page-size=" and "-z common-page-size=".
(gld${EMULATION_NAME}_list_options): Likewise.
* ld.h (ld_config_type): Add maxpagesize and commonpagesize.
* ld.texinfo: Document "-z max-page-size=" and
"-z common-page-size=".
* ldexp.c (exp_print_token): Handle CONSTANT.
(fold_name): Likewise.
* ldgram.y: Likewise.
* ldlex.l: Likewise.
* ldmain.c (main): Initiliaze config.maxpagesize and
config.commonpagesize. Call bfd_emul_set_maxpagesize if
config.maxpagesize isn't 0. Call bfd_emul_set_commonpagesize if
config.commonpagesize config.maxpagesize isn't 0.
ld/testsuite/
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/binutils.exp: New file.
* ld-elf/commonpage1.d: Likewise.
* ld-elf/maxpage1.d: Likewise.
* ld-elf/maxpage1.s: Likewise.
2006-05-30 16:45:32 +00:00
Nick Clifton
eebf07fbf5
Update Spanish translation
2006-05-30 11:01:59 +00:00
Alan Modra
3f570048d7
bfd/
...
* elf.c (assign_file_positions_for_load_sections): Retrieve
maxpagesize from m->p_align if it is valid. Set p_vaddr,
p_paddr and p_align earlier. Revert 2006-05-19 change to p_align.
(copy_elf_program_header): Copy p_align. Set p_align_valid.
include/elf/
* internal.h (elf_segment_map): Add p_align and p_align_valid.
2006-05-27 00:47:45 +00:00
H.J. Lu
2043964ee2
2006-05-26 H.J. Lu <hongjiu.lu@intel.com>
...
* elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
2006-05-26 14:01:08 +00:00
H.J. Lu
f7661549c7
bfd/
...
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
ld/
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/elf_x86_64.sh (MAXPAGESIZE): Updated to 0x200000.
ld/testsuite/
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/tlsbin.dd: Updated for 2MB maximum page size.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-x86-64/tlsbin.sd: Likewise.
* ld-x86-64/tlsbin.td: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsbindesc.rd: Likewise.
* ld-x86-64/tlsbindesc.sd: Likewise.
* ld-x86-64/tlsbindesc.td: Likewise.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlsdesc.pd: Likewise.
* ld-x86-64/tlsdesc.rd: Likewise.
* ld-x86-64/tlsdesc.sd: Likewise.
* ld-x86-64/tlsdesc.td: Likewise.
* ld-x86-64/tlsgdesc.dd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
* ld-x86-64/tlspic.sd: Likewise.
* ld-x86-64/tlspic.td: Likewise.
2006-05-26 02:44:19 +00:00
Alan Modra
5372391bf5
* elf.c (sym_is_global): Return a bfd_boolean.
...
(ignore_section_sym): New function.
(elf_map_symbols): Use ignore_section_sym to discard some syms.
(_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
bfd before using elf_section_syms.
2006-05-25 15:08:28 +00:00
H.J. Lu
6566b43c4a
2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
...
* config.bfd: (sh-*-linux*): Treat as 64bit target.
(sh*l*-*-netbsdelf*): Likewise.
(sh-*-netbsdelf*): Likewise.
(shl*-*-elf*): Likewise.
(sh[1234]l*-*-elf*): Likewise.
(sh3el*-*-elf*): Likewise.
(shl*-*-kaos*): Likewise.
(sh-*-elf*): Likewise.
(sh[1234]*-elf*): Likewise.
(sh-*-rtems*): Likewise.
(sh-*-kaos*): Likewise.
2006-05-25 13:59:25 +00:00
H.J. Lu
314e9a4e32
bfd/
...
2006-05-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1485
* config.bfd: Set want64 to true if 64bit bfd is used.
(sh-*-linux*): Use targ64_selvecs for 64bit targets.
(sh*l*-*-netbsdelf*): Likewise.
(sh-*-netbsdelf*): Likewise.
(shl*-*-elf*): Likewise.
(sh[1234]l*-*-elf*): Likewise.
(sh3el*-*-elf*): Likewise.
(shl*-*-kaos*): Likewise.
(sh-*-elf*): Likewise.
(sh[1234]*-elf*): Likewise.
(sh-*-rtems*): Likewise.
(sh-*-kaos*): Likewise.
ld/
2006-05-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1485
* configure.in: Use ${srcdir}/../bfd/config.bfd to check 64bit
bfd. Support 64bit host for --enable-targets=all.
* configure: Regenerated.
2006-05-25 01:03:09 +00:00
Paul Brook
4e617b1e97
2006-05-24 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
* elf32-arm.c (output_arch_syminfo): Define.
(elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
elf32_arm_output_arch_local_syms): New functions.
(elf_backend_output_arch_local_syms): Define.
* elflink.c (bfd_elf_final_link): Call
elf_backend_output_arch_local_syms.
* elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
definition.
(elfNN_bed): Add elf_backend_output_arch_local_syms.
ld/testsuite/
* ld-arm/arm-app-abs32.d: Update expected output.
* ld-arm/arm-app.d: Ditto.
* ld-arm/arm-lib-plt32.d: Ditto.
* ld-arm/arm-lib.d: Ditto.
* ld-arm/mixed-app-v5.d: Ditto.
* ld-arm/mixed-app.d: Ditto.
* ld-arm/mixed-lib.d: Ditto.
2006-05-24 17:10:02 +00:00
Paul Brook
52ab56c201
2006-05-24 Paul Brook <paul@codesourcery.com>
...
* elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
(elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
elf32_arm_finish_dynamic_symbol): Use them.
2006-05-24 16:23:50 +00:00
Nick Clifton
9b52905e69
Add TLS support for hppa-linux
2006-05-24 11:05:42 +00:00
Nick Clifton
28c9d252b4
Add support for AVR6 family
2006-05-24 07:36:12 +00:00
H.J. Lu
a34a056a10
2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2655
PR ld/2657
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
update CIE/FDE length. Don't pad to the section alignment.
2006-05-24 02:37:47 +00:00
Jie Zhang
8aafe8b463
* elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
...
deteted entries in .eh_frame section.
2006-05-23 05:45:22 +00:00
Jie Zhang
5592d7ec4e
* elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
...
instead of _GLOBAL_OFFSET_TABLE_.
(bfin_relocate_section): Ditto.
(_bfin_create_got_section): Ditto.
(elf32_bfinfdpic_create_dynamic_sections): Use
__PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
(bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
2006-05-23 03:58:33 +00:00
Alan Modra
4d35a0aa88
* elf64-ppc.c (compare_symbols): Prefer strong dynamic global
...
function syms over other syms.
2006-05-23 01:36:07 +00:00
Daniel Jacobowitz
943284cc7c
bfd/
...
* elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
check.
(bfd_elf_final_link): Add a late DT_TEXTREL check.
* elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
(mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
(_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
Use MIPS_ELF_READONLY_SECTION.
(_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
creating DT_TEXTREL.
(_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
if no text relocations were generated.
ld/testsuite/
* ld-mips-elf/textrel-1.d: Relax some patterns.
2006-05-22 15:06:23 +00:00
Nick Clifton
7ff7c29e1f
Remove ChangeLog entries, since the template files were already up to date.
2006-05-22 08:30:57 +00:00
Nick Clifton
5002adadc5
Update translation templates
2006-05-22 08:25:15 +00:00
H.J. Lu
4d345610f7
2006-05-19 H.J. Lu <hongjiu.lu@intel.com>
...
* elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
2006-05-19 14:08:02 +00:00
Alan Modra
1ea63fd215
* elf.c (elf_fake_sections): Formatting.
...
(assign_file_positions_for_load_sections): Only add SEC_ALLOC
sections to p_memsz. Remove hack for PT_NOTE sections. Allow
section alignment to increase p_align for PT_LOAD.
(assign_file_positions_for_non_load_sections): Remove ARM BPABI
hack for PT_DYNAMIC. Instead, set p_filesz for all segments
other than PT_LOAD, and PT_NOTE in core.
2006-05-19 00:51:28 +00:00
Daniel Jacobowitz
27106ff0dd
Fix a typo.
2006-05-17 14:57:33 +00:00
Alan Modra
f3520d2f1d
* elf.c (assign_file_positions_for_segments): Split into..
...
(assign_file_positions_for_load_sections): ..this, and..
(assign_file_positions_for_non_load_sections): ..this new function,..
(assign_file_positions_except_relocs): ..writing program headers here.
2006-05-17 05:09:24 +00:00
Alan Modra
dea5f36af5
* elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
...
non-load sections if they have relocs.
2006-05-17 00:36:30 +00:00
Paul Brook
b079691183
2006-05-15 Paul Brook <paul@codesourcery.com>
...
bfd/
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
(bfd_is_arm_special_symbol_name): ... to this. Add type argument.
Check symbol name is of specified type.
* elf32-arm.c (elf32_arm_is_target_special_symbol,
arm_elf_find_function, elf32_arm_output_symbol_hook): Use
bfd_is_arm_special_symbol_name.
* bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
(bfd_is_arm_mapping_symbol_name): Remove prototype.
(bfd_is_arm_special_symbol_name): Add prototype.
* bfd-in2.h: Regenerate.
gas/
* config/tc-arm.c (arm_adjust_symtab): Use
bfd_is_arm_special_symbol_name.
ld/testsuite/
* ld-arm/arm-be8.d: New test.
* ld-arm/arm-be8.s: New test.
* ld-arm/arm-elf.exp: Add arm-be8.
2006-05-15 19:57:35 +00:00
Bob Wilson
64b607e61b
bfd:
...
* elf32-xtensa.c (check_loop_aligned): Fix reversed check for
undefined opcode. Clean up assertions.
(narrow_instruction, widen_instruction): Remove "do_it" parameters.
Factor most of the code into separate functions....
(can_narrow_instruction, can_widen_instruction): New.
(prev_instr_is_a_loop): New.
(compute_ebb_proposed_actions): Combine error handling code for
decode errors. Replace call to insn_decode_len with inline code.
Use can_narrow_instruction and can_widen_instruction. Handle errors
from call to xtensa_opcode_is_loop.
(relax_section): Adjust calls to narrow_instruction and
widen_instruction.
gas:
* config/tc-xtensa.c (is_direct_call_opcode, is_branch_jmp_to_next,
xg_assemble_vliw_tokens, xtensa_mark_narrow_branches,
xtensa_fix_short_loop_frags, is_local_forward_loop, relax_frag_immed):
Handle errors from calls to xtensa_opcode_is_* functions.
2006-05-15 17:03:15 +00:00
Alan Modra
7de713b9e5
PR 2658
...
* elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
-shared link.
2006-05-15 02:22:20 +00:00
H.J. Lu
83180ade02
2006-05-11 Michael Matz <matz@suse.de>
...
* elflink.c (match_group_member): Correctly iterate group
members.
2006-05-11 15:55:40 +00:00
Paul Brook
b6895b4f37
2006-05-11 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
(elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
* reloc.c: Ditto.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
gas/
* config/tc-arm.c (parse_half): New function.
(operand_parse_code): Remove OP_Iffff. Add OP_HALF.
(parse_operands): Ditto.
(do_mov16): Reject invalid relocations.
(do_t_mov16): Ditto. Use Thumb reloc numbers.
(insns): Replace Iffff with HALF.
(md_apply_fix): Add MOVW and MOVT relocs.
(tc_gen_reloc): Ditto.
* doc/c-arm.texi: Document relocation operators
ld/testsuite/
* ld-arm/arm-elf.exp: Add arm-movwt.
* ld-arm/arm-movwt.d: New test.
* ld-arm/arm-movwt.s: New test.
* ld-arm/arm.ld: Add .far.
2006-05-11 15:17:34 +00:00
Alan Modra
8b95791f5b
* elf.c (_bfd_elf_init_private_section_data): Don't change
...
section type if already set.
2006-05-11 12:34:46 +00:00
Nick Clifton
5e1b4a6d17
PR ld/2607
...
* elfcode.h (valid_section_index_p): New function: Checks for a valid section
index. Allows indicies in the range SHN_LOPROC to SHN_HIOS.
(elf_object_p): Use valid_section_index_p.
2006-05-11 08:57:08 +00:00
Nick Clifton
53baae4870
Apply fixes to allow arm WinCE toolchain to produce working executables.
2006-05-11 08:48:58 +00:00
Alan Modra
69d54b1bfa
PR 2342
...
* elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
2006-05-10 04:55:43 +00:00
Nick Clifton
337ff0a5af
* config/tc-arm.c (arm_fix_adjustable): For COFF, convert fixups against
...
symbols which are not going to be placed into the symbol table.
* coffcode.h (coff_write_relocs): Produce an error message if a an
out-of-range symbol index is detected in a reloc.
2006-05-09 11:47:48 +00:00
Ben Elliston
e4d4d200c0
* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
...
local variable `dynobj'.
2006-05-09 03:38:30 +00:00
H.J. Lu
336e5de1c9
Remove bfd/ in ChangeLog entry.
2006-05-08 14:17:11 +00:00
Nick Clifton
731608473a
* gas/config/tc-avr.h (TC_VALIDATE_FIX): Define. Disable fixups for PMEM
...
related expressions.
* bfd/elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all of the
bfd's sections for the reloc-addend adjustments.
2006-05-05 17:46:47 +00:00
Martin Schwidefsky
77df29685b
* elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
...
(elf_s390_relocate_section): Add code to do the GD->LE and
LD->LE TLS linker optimizations if a brasl instruction is used
for the __tls_get_offset function call.
* elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
2006-05-05 13:21:34 +00:00
Alan Modra
30038c5930
* elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
...
R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
the .toc and referenced by a TLS code sequence.
(ppc64_elf_edit_toc): Cater for the unlikely situation that
.toc is the first section in a file.
2006-05-05 13:07:30 +00:00
Andreas Schwab
ff8b75c71e
* aoutf1.h (struct external_sparc_core): Declare c_regs as struct
...
regs instead of an array of int.
(struct external_solaris_bcp_core): Likewise.
(swapcore_sun3): Use offsetof instead of computing the offset
manually.
(swapcore_sparc): Likewise. Simplify reference to c_regs.
(swapcore_solaris_bcp): Likewise.
2006-05-04 21:25:52 +00:00
Daniel Jacobowitz
003b8e1dad
* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
...
for missing GOTs.
2006-05-04 19:03:24 +00:00
Daniel Jacobowitz
efacb0fb73
* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
...
mapping symbols.
2006-05-04 18:15:21 +00:00
Ben Elliston
9578239d3e
* coff-or32.c (bfd_section_from_shdr): Remove unused local
...
variable `ptr'.
* cofflink.c (process_embedded_commands): Remove unused local
variables `had_read' and `had_shared'.
* ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
variable `fdr_adr'.
* ihex.c (ihex_read_section): Remove unused local variable `addr'.
2006-05-04 05:05:25 +00:00
Alan Modra
f592407e4d
bfd/
...
* libbfd-in.h (_bfd_generic_new_section_hook): Declare.
* section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
(bfd_und_symbol, bfd_ind_symbol): Delete.
(BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
&SEC.symbol.
(STD_SECTION): Adjust.
(_bfd_generic_new_section_hook): New function, extracted from..
(bfd_section_init): ..here.
(bfd_make_section_old_way): Call new_section_hook for abs, com,
und and ind sections.
* elf.c (_bfd_elf_large_com_section): Adjust.
* aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
* pdp11.c (new_section_hook): Likewise.
* coffcode.h (coff_new_section_hook): Likewise.
* ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
* elf.c (_bfd_elf_new_section_hook): Likewise.
* vms.c (vms_new_section_hook): Likwise.
* elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
already set.
* elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
* elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
* elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
* elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
* elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
* ieee.c (ieee_new_section_hook): Likewise. Call
_bfd_generic_new_section_hook too.
* mmo.c (mmo_new_section_hook): Likewise.
* oasys.c (oasys_new_section_hook): Likewise.
* som.c (som_new_section_hook): Likewise.
* coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* subsegs.c (subseg_get): Don't call obj_sec_set_private_data.
* config/obj-elf.h (obj_sec_set_private_data): Delete.
* config/tc-hppa.c (tc_gen_reloc): Don't use bfd_abs_symbol.
* config/tc-mn10300.c (tc_gen_reloc): Likewise.
2006-05-03 14:26:41 +00:00
Alan Modra
bd75c995a7
* hash.c (DEFAULT_SIZE): Revert last change.
...
(higher_prime_number): Correct test for no larger prime. Don't
abort on error, instead return 0. Depopulate primes[].
(bfd_hash_lookup): If we overflow size, refuse to grow table.
2006-05-03 04:20:52 +00:00
Paul Brook
a8bc6c780e
2006-05-02 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
for R_ARM_REL32.
gas/
* config/tc-arm.c (arm_optimize_expr): New function.
* config/tc-arm.h (md_optimize_expr): Define
(arm_optimize_expr): Add prototype.
(TC_FORCE_RELOCATION_SUB_SAME): Define.
ld/testsuite/
* ld-arm/arm-elf.exp: Add thumb-rel32.
* ld-arm/thumb-rel32.d: New test.
* ld-arm/thumb-rel32.s: New test.
2006-05-02 13:09:18 +00:00
Ben Elliston
b48c61bccb
* archive.c (bfd_generic_archive_p): Remove unused local variable
...
`fail'.
* dwarf2.c (decode_line_info): Remove unused local variable
`basic_block'.
* elfcode.h (elf_slurp_reloc_table_from_section): Remove unsed
local varibale `s'.
* tekhex.c (tekhex_write_object_contents): Remove unused local
variable `bytes_written'.
* aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
variable `r_addend'.
* elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
* elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
(_bfd_ns32k_relocate_contents): Remove break after return.
* elf.c (bfd_section_from_shdr): Remove breaks after returns.
2006-05-02 10:01:56 +00:00
Nick Clifton
63f2fc3083
Rename DEBUG to SYMBIAN_DEBUG to avoid conflicts with global DEBUG definition
2006-05-02 09:56:00 +00:00
Alan Modra
e460dd0d29
* dwarf2.c: Formatting.
...
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
output section check.
* elf32-i370.c: Warning fixes inside #ifdef DEBUG.
* elf32-m32c.c: Similarly.
* elf32-ppc.c: Similarly.
* elf32-v850.c: Similarly.
* nlm32-sparc.c: Similarly.
* elfcode.h: Similarly.
(elf_symbol_flags): Delete.
* elflink.c (elf_link_input_bfd): Comment typo.
2006-05-02 01:41:20 +00:00
DJ Delorie
aa149cf7d1
* bfd-in.h (bfd_hash_table): Add count field.
...
* bfd-in2.h: Regenerate.
* hash.c (higher_prime_number): New.
(bfd_hash_table_inint_n): Init count field.
(bfd_hash_lookup): Grow table as needed.
2006-05-01 19:36:27 +00:00
Kaz Kojima
75b8939e07
PR binutils/2584
...
* tekhex.c (getvalue): Change return type to bfd_boolean and
add the new parameter. Return false if the unexpected character
is found.
(getsym): Likewise.
(first_phase): Change return type to bfd_boolean and return
false if the unexpected character is found. Replace abort
with returning false.
(pass_over): Change return type to bfd_boolean and the type of
the second argument to bfd_boolean (*) (bfd *, int, char *).
Return false if FUNC returns false.
(tekhex_object_p): Return NULL if pass_over fails.
2006-04-27 05:57:09 +00:00
Alan Modra
f05742e672
* coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
2006-04-27 01:19:35 +00:00
H.J. Lu
e843e0f880
2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/2593
* elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
and flags if its BFD flags have been set.
(_bfd_elf_init_private_section_data): Don't copy the output ELF
section type from input if it has been set to something
different.
2006-04-26 13:32:26 +00:00
Andreas Jaeger
9ca26584e9
Add missing changelog entry
2006-04-26 09:24:07 +00:00
H.J. Lu
b25e3d8745
2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/2467
* elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
is NULL first.
* elf32-arm.c (elf32_arm_close_and_cleanup): Check if
abfd->sections is NULL.
(elf32_arm_bfd_free_cached_info): New.
(bfd_elf32_bfd_free_cached_info): Defined.
* elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
to _bfd_free_cached_info.
* libbfd-in.h (_bfd_free_cached_info): New.
* libbfd: Regenerated.
* opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
(_bfd_free_cached_info): New.
2006-04-25 17:46:15 +00:00
Alan Modra
5c182d5fce
* elf.c (assign_file_positions_except_relocs): Move code setting
...
file position of non-loaded sections..
(assign_file_positions_for_segments): ..to here.
2006-04-21 07:26:09 +00:00
H.J. Lu
3eb70a79d6
2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2537
* elf.c (bfd_section_from_shdr): Allow sections reserved for
applications. Issue an error on sections we don't know how
to handle.
2006-04-21 03:42:47 +00:00
Alan Modra
ec3fcc5688
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
2006-04-19 12:10:21 +00:00
Alan Modra
241a6c40c8
bfd/
...
* warning.m4 (--enable-werror, -build-warnings): Format help messages.
* configure: Regenerate.
binutils/
* configure: Regenerate.
gas/
* configure.in (--enable-targets): Indent help message.
* configure: Regenerate.
gprof/
* configure: Regenerate.
ld/
* configure: Regenerate.
opcodes/
* configure: Regenerate.
2006-04-19 02:06:15 +00:00
Nick Clifton
0b49d37123
PR 2257
...
* elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx fields to
still be handled as ELF files.
* readelf.c (SECTION_NAME): Cope with a missing string table.
(process_file_header): Cope with a corrupt e_shstrndx field.
(process_section_headers): Correctly handle an e_shstrndx value of SHF_UNDEF.
2006-04-18 09:41:36 +00:00
Daniel Jacobowitz
e740356690
Update POTFILES.in.
2006-04-16 18:25:11 +00:00
Daniel Jacobowitz
ffdc4eeddf
* configure.in: Update version to 2.17.50.
...
* configure: Regenerated.
2006-04-16 18:01:02 +00:00
Bob Wilson
cb33714832
* elf32-xtensa.c (build_reloc_opcodes): New.
...
(compute_text_actions): Use it to decode opcodes outside inner loop.
(check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
it is set, use it to get the opcodes for relocations.
(move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
2006-04-14 23:01:19 +00:00
H.J. Lu
cb878726df
2006-04-08 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2513
* elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
(GOT_TLS_IE_IE): Likewise.
(GOT_TLS_IE_GD): Likewise.
(GOT_TLS_IE_MASK): Likewise.
(elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
respectively.
(allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
are set, treat tls_type as GOT_TLS_IE_BOTH.
(elf_i386_relocate_section): Likewise.
2006-04-08 22:57:22 +00:00
Nick Clifton
235ecfbc5e
* elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
...
(elf64_hppa_grok_psinfo): Likewise.
(elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
2006-04-07 14:55:29 +00:00
DJ Delorie
35520cb708
* elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
...
each plt entry we create.
2006-04-07 01:08:34 +00:00
Carlos O'Donell
108a6f8eb4
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
...
* Makefile.tpl: Add install-html target.
* Makefile.def: Add install-html target.
* Makefile.in: Regenerate.
* configure.in: Add --with-datarootdir, --with-docdir,
and --with-htmldir options.
* configure: Regenerate.
bfd/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add install-html target.
* Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
htmldir. Add install-html and install-html-recursive targets.
* Makefile.in: Regenerate.
* configure.in: AC_SUBST for datarootdir, docdir and htmldir.
* configure: Regenerate.
bfd/doc/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add install-html and install-html-am targets.
Define datarootdir, docdir and htmldir.
* Makefile.in: Regenerate.
binutils/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add install-html target.
* Makefile.am: Add install-html and install-html-recursive targets.
* Makefile.in: Regenerate.
* configure.in: AC_SUBST datarootdir, docdir and htmldir.
* configure: Regenerate.
* doc/Makefile.am: Add install-html and install-html-am targets.
* doc/Makefile.in: Regenerate.
etc/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.in: Add install-html target. Add htmldir,
docdir and datarootdir.
* configure.texi: Document install-html target.
* configure.in: AC_SUBST datarootdir, docdir, htmldir.
* configure: Regenerate.
gas/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add install-html target.
* Makefile.am: Add install-html and install-html-recursive targets.
* Makefile.in: Regenerate.
* configure.in: AC_SUBST datarootdir, docdir, htmldir.
* configure: Regenerate.
* doc/Makefile.am: Add install-html and install-html-am targets.
* doc/Makefile.in: Regenerate.
gprof/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add install-html target.
* Makefile.am: Add install-html, install-html-am and
install-html-recursive targets.
* Makefile.in: Regenerate.
* configure.in: AC_SUBST datarootdir, docdir, htmldir.
* configure: Regenerate.
intl/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* intl/Makefile.in: Add html info and dvi and install-html to .PHONY
Add install-html target.
ld/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add install-html, install-html-am, and
install-html-recursive targets.
* Makefile.in: Regenerate.
* configure.in: AC_SUBST datarootdir, docdir, htmldir.
* configure: Regenerate.
* po/Make-in: Add install-html target.
opcodes/
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add install-html target.
* Makefile.in: Regenerate.
2006-04-06 21:49:35 +00:00
H.J. Lu
fbbc375958
bfd/
...
2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
section structure.
include/
2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
* bfdlink.h (bfd_link_info): Replace need_relax_finalize with
relax_pass.
ld/
2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
* emultempl/ia64elf.em: Set link_info.relax_pass to 2. Remove
link_info.need_relax_finalize.
* ldlang.c (relax_sections): New.
(lang_process): Use. Call relax_sections link_info.relax_pass
times.
* ldmain.c (main): Set link_info.relax_pass to 1. Remove
link_info.need_relax_finalize.
2006-04-06 18:52:46 +00:00
Bernd Schmidt
17e226a87f
* elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
...
eliminate warnings.
2006-04-06 11:45:01 +00:00
H.J. Lu
396a682d83
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
...
James E Wilson <wilson@specifixinc.com>
PR ld/2442
* elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
(elfNN_ia64_local_hash_entry): Add count, sorted_count and
size.
(elfNN_ia64_link_hash_entry): Likewise.
(elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
and size.
(elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
processing.
(elfNN_ia64_hash_hide_symbol): Likewise.
(elfNN_ia64_global_dyn_sym_thunk): Likewise.
(elfNN_ia64_local_dyn_sym_thunk): Likewise.
(elfNN_ia64_global_dyn_info_free): New function.
(elfNN_ia64_local_dyn_info_free): Likewise.
(elfNN_ia64_hash_table_free): Free local and global
elfNN_ia64_dyn_sym_info.
(addend_compare): New function.
(sort_dyn_sym_info): Likewise.
(get_dyn_sym_info): Updated to use binary search for addend.
(elfNN_ia64_check_relocs): Scan relocations to create dynamic
relocation arrays first.
2006-04-05 21:12:06 +00:00
Bernd Schmidt
0781db9f10
* elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
...
symbol.
2006-04-05 19:57:36 +00:00
H.J. Lu
c0d5a53d52
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2411
* elflink.c (check_dynsym): New.
(elf_link_output_extsym): Use it.
(bfd_elf_final_link): Likewise.
2006-04-05 13:37:32 +00:00
H.J. Lu
580a2b6ef3
2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2404
* elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
symbol from the dynamic definition with the default version if
its type and the type of existing regular definition mismatch.
2006-04-05 13:36:32 +00:00
Richard Sandiford
910600e9c7
bfd/
...
* config.bfd (sparc-*-vxworks*): New stanza.
* configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
(bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
* configure: Regenerate.
* elf32-sparc.c: Include elf-vxworks.h.
(elf32_sparc_vxworks_link_hash_table_create: New.
(elf32_sparc_vxworks_final_write_processing): New.
(TARGET_BIG_SYM): Override for VxWorks.
(TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
(bfd_elf32_bfd_link_hash_table_create): Likewise.
(elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
(elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
(elf_backend_link_output_symbol_hook): Likewise.
(elf_backend_emit_relocs): Likewise.
(elf_backend_final_write_processing, elf32_bed): Likewise.
* elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
(sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
(sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
(_bfd_sparc_elf_link_hash_table_create): Don't initialize
build_plt_entry here.
(create_got_section): Initialize sgotplt for VxWorks.
(_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
plt_header_size and plt_entry_size, with new VxWorks-specific settings.
Call elf_vxworks_create_dynamic_sections for VxWorks.
(allocate_dynrelocs): Use plt_header_size and plt_entry_size.
Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
(_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
for VxWorks. Check for the .got.plt section.
(sparc_vxworks_build_plt_entry): New function.
(_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
absolute on VxWorks.
(sparc32_finish_dyn): Add special handling for DT_RELASZ
and DT_PLTGOT on VxWorks.
(sparc_vxworks_finish_exec_plt): New.
(sparc_vxworks_finish_shared_plt): New.
(_bfd_sparc_elf_finish_dynamic_sections): Call them.
Use plt_header_size and plt_entry_size.
* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
* Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
(elf32-sparc.lo): Likewise.
* Makefile.in: Regenerate.
* targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
(_bfd_target_vector): Add a pointer to it.
gas/
* config/tc-sparc.c (sparc_target_format): Handle TE_VXWORKS.
(GOTT_BASE, GOTT_INDEX): New.
(tc_gen_reloc): Don't alter relocations against GOTT_BASE and
GOTT_INDEX when generating VxWorks PIC.
* configure.tgt (sparc*-*-vxworks*): Remove this special case;
use the generic *-*-vxworks* stanza instead.
gas/testsuite/
* gas/sparc/vxworks-pic.s, gas/sparc/vxworks-pic.d: New test.
* gas/sparc/sparc.exp: Run it. Remove sparc*-*-vxworks* XFAILs.
ld/
* configure.tgt (sparc*-*-vxworks*): New stanza.
* emulparams/elf32_sparc_vxworks.sh: New file.
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_vxworks.o.
(eelf32_sparc_vxworks.c): New rule.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-sparc/vxworks1.dd, ld-sparc/vxworks1.ld, ld-sparc/vxworks1-lib.dd,
* ld-sparc/vxworks1-lib.nd, ld-sparc/vxworks1-lib.rd,
* ld-sparc/vxworks1-lib.s, ld-sparc/vxworks1.rd, ld-sparc/vxworks1.s,
* ld-sparc/vxworks1-static.d, ld-sparc/vxworks2.s,
* ld-sparc/vxworks2.sd, ld-sparc/vxworks2-static.sd: New tests.
* ld-sparc/sparc.exp: Run them.
2006-04-05 12:41:59 +00:00
Ben Elliston
b761a20733
PR ld/2267
...
* elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
special section number that exceeds the number of ELF sections
(eg. SHN_MIPS_SCOMMON).
2006-03-30 00:22:20 +00:00
Richard Sandiford
ead49a57e8
* elfxx-mips.c (mips_got_entry): Add more commentary.
...
(mips_elf_local_got_index): Use the hash table entry to record
the GOT index of forced-local symbols.
(mips_elf_initialize_tls_index): Rearrange code. Store the index
in either the hash table entry or the mips_got_entry, not both.
Add more commentary.
(mips_elf_multi_got): Make sure the g->next is nonnull when calling
mips_elf_initialize_tls_index.
* ld-mips-elf/tls-hidden3a.s, ld-mips-elf/tls-hidden3b.s,
* ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
* ld-mips-elf/tls-hidden3.ld, ld-mips-elf/tls-hidden3.r,
* ld-mips-elf/tls-hidden4a.s, ld-mips-elf/tls-hidden4b.s,
* ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-hidden4.r: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
2006-03-27 11:30:54 +00:00
Bernd Schmidt
48d502e18e
* config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
...
* configure.in: Likewise.
* configure: Regenerate.
* elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
(BFIN_RELOC_MAX): Now 0x21.
(bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
(bfd_elf32_bfinfdpic_vec): Declare.
(IS_FDPIC): New macro.
(struct bfinfdpic_elf_link_hash_table): New struct.
(bfinfdpic_hash_table, bfinfdpic_got_section,
bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
bfinfdpic_plt_initial_offset): Accessor macros for it.
(BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
(struct bfinfdpic_relocs_info): New struct.
(LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
DEFAULT_STACK_SIZE): New macros.
(bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
_bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
_bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
_bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
_bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
_bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
_bfinfdpic_resolve_final_relocs_info,
elf32_bfinfdpic_size_dynamic_sections,
elf32_bfinfdpic_always_size_sections,
elf32_bfinfdpic_modify_segment_map,
_bfinfdpic_count_got_plt_entries,
elf32_bfinfdpic_finish_dynamic_sections,
elf32_bfinfdpic_adjust_dynamic_symbol,
elf32_bfinfdpic_finish_dynamic_symbol,
elf32_bfinfdpic_elf_use_relative_eh_frame,
elf32_bfinfdpic_elf_encode_eh_address,
elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
elf32_bfinfdpic_copy_private_bfd_data,
(struct _bfinfdpic_dynamic_got_info,
struct _bfinfdpic_dynamic_got_plt_info): New structs.
(elf32_bfin_print_private_bfd_data): Print PIC flags.
(elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
bfd_elf32_bfd_copy_private_bfd_data,
elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
elf_backend_omit_section_dynsym): Redefine these macros and include
"elf32-target.h" again to create the elf32-bfinfdpic target.
* reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
BFD_RELOC_BFIN_GOTOFFLO): New.
* targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
(_bfd_target_vector): Add it.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
2006-03-26 00:38:42 +00:00
Bernd Schmidt
3b55e94a3e
* elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
...
RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
bfin_areloc_howto_table): Delete. All
uses deleted as well.
(bfin_reloc_map): Delete all stack relocs.
(bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
bfin_reloc_type_lookup): Don't support them.
(bfin_relocate_section): Don't try to handle them.
2006-03-25 18:17:42 +00:00
Richard Sandiford
a9d3488055
bfd/
...
* cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
incompatible. Likewise MAC and EMAC code.
* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
bfd_get_compatible to set the new bfd architecture. Rely on it
to detect incompatibilities.
gas/
* config/tc-m68k.c (m68k_cpus): Change cpu_cf5208 entries to use
mcfemac instead of mcfmac.
ld/testsuite/
* ld-m68k/merge-error-1a.s, ld-m68k/merge-error-1b.s,
* ld-m68k/merge-error-1a.d, ld-m68k/merge-error-1b.d,
* ld-m68k/merge-error-1c.d, ld-m68k/merge-error-1d.d,
* ld-m68k/merge-error-1e.d, ld-m68k/merge-ok-1a.d,
* ld-m68k/merge-ok-1b.d: New tests.
* ld-m68k/m68k.exp: Run them.
2006-03-25 10:24:27 +00:00
Bob Wilson
2a23c2c5e5
* elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
...
rel->r_addend is zero.
2006-03-22 21:46:16 +00:00
Richard Sandiford
6d79d2ed41
* elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
...
of "loc".
2006-03-22 17:15:08 +00:00
Richard Sandiford
0a44bf6950
Richard Sandiford <richard@codesourcery.com>
...
Daniel Jacobowitz <dan@codesourcery.com>
Phil Edwards <phil@codesourcery.com>
Zack Weinberg <zack@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
bfd/
* bfd-in2.h: Regenerate.
* config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
* configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
(bfd_elf32_littlemips_vxworks_vec): Likewise.
(bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
(bfd_elf32_littlemips_vec): Likewise.
(bfd_elf32_nbigmips_vec): Likewise.
(bfd_elf32_nlittlemips_vec): Likewise.
(bfd_elf32_ntradbigmips_vec): Likewise.
(bfd_elf32_ntradlittlemips_vec): Likewise.
(bfd_elf32_tradbigmips_vec): Likewise.
(bfd_elf32_tradlittlemips_vec): Likewise.
(bfd_elf64_bigmips_vec): Likewise.
(bfd_elf64_littlemips_vec): Likewise.
(bfd_elf64_tradbigmips_vec): Likewise.
(bfd_elf64_tradlittlemips_vec): Likewise.
* elf32-mips.c: Include elf-vxworks.h.
(mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
instead of calling mips_elf32_rtype_to_howto directly.
(mips_vxworks_copy_howto_rela): New reloc howto.
(mips_vxworks_jump_slot_howto_rela): Likewise.
(mips_vxworks_bfd_reloc_type_lookup): New function.
(mips_vxworks_rtype_to_howto): Likewise.
(mips_vxworks_final_write_processing): Likewise.
(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
(TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
(elf_backend_want_got_plt): Likewise.
(elf_backend_want_plt_sym): Likewise.
(elf_backend_got_symbol_offset): Likewise.
(elf_backend_want_dynbss): Likewise.
(elf_backend_may_use_rel_p): Likewise.
(elf_backend_may_use_rela_p): Likewise.
(elf_backend_default_use_rela_p): Likewise.
(elf_backend_got_header_size: Likewise.
(elf_backend_plt_readonly): Likewise.
(bfd_elf32_bfd_reloc_type_lookup): Likewise.
(elf_backend_mips_rtype_to_howto): Likewise.
(elf_backend_adjust_dynamic_symbol): Likewise.
(elf_backend_finish_dynamic_symbol): Likewise.
(bfd_elf32_bfd_link_hash_table_create): Likewise.
(elf_backend_add_symbol_hook): Likewise.
(elf_backend_link_output_symbol_hook): Likewise.
(elf_backend_emit_relocs): Likewise.
(elf_backend_final_write_processing: Likewise.
(elf_backend_additional_program_headers): Likewise.
(elf_backend_modify_segment_map): Likewise.
(elf_backend_symbol_processing): Likewise.
* elfxx-mips.c: Include elf-vxworks.h.
(mips_elf_link_hash_entry): Add is_relocation_target and
is_branch_target fields.
(mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
(MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
(MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
Return 3 for VxWorks.
(ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
mips_elf_link_hash_table. Return 0 for VxWorks.
(MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET.
(mips_vxworks_exec_plt0_entry): New variable.
(mips_vxworks_exec_plt_entry): Likewise.
(mips_vxworks_shared_plt0_entry): Likewise.
(mips_vxworks_shared_plt_entry): Likewise.
(mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
(mips_elf_rel_dyn_section): Change the bfd argument to a
mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get
the name of the section.
(mips_elf_initialize_tls_slots): Update the call to
mips_elf_rel_dyn_section.
(mips_elf_gotplt_index): New function.
(mips_elf_local_got_index): Add an input_section argument.
Update the call to mips_elf_create_local_got_entry.
(mips_elf_got_page): Likewise.
(mips_elf_got16_entry): Likewise.
(mips_elf_create_local_got_entry): Add bfd_link_info and input_section
arguments. Create dynamic relocations for each entry on VxWorks.
(mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
(mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
and MIPS_RESERVED_GOTNO.
(mips_elf_create_got_section): Update the uses of
MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks.
(is_gott_symbol): New function.
(mips_elf_calculate_relocation): Use a dynobj local variable.
Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
mips_elf_got_page_entry. Set G to the .got.plt entry when calculating
VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT
relocations on VxWorks. Add dynamic relocations for references
to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't
create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
in VxWorks executables.
(mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
Don't allocate a null entry on VxWorks.
(mips_elf_create_dynamic_relocation): Update the call to
mips_elf_rel_dyn_section. Use absolute rather than relative
relocations for VxWorks, and make them RELA rather than REL.
(_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
read-only on VxWorks. Update the call to mips_elf_rel_dyn_section.
Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
Call elf_vxworks_create_dynamic_sections for VxWorks and
initialize the plt_header_size and plt_entry_size fields.
(_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
used in VxWorks executables. Don't allocate dynamic relocations
for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
Set is_relocation_target for each symbol referenced by a relocation.
Allocate .rela.dyn entries for relocations against the special
VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT
entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate
a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls
to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
relocations. Don't set no_fn_stub on VxWorks.
(_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
mips_elf_allocate_dynamic_relocations.
(_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
(_bfd_mips_elf_always_size_sections): Do not allocate GOT page
entries for VxWorks, and do not create multiple GOTs.
(_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
Handle .got specially for VxWorks. Update the uses of
MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
Check for sgotplt and splt. Allocate the .rel(a).dyn contents last,
once its final size is known. Set DF_TEXTREL for VxWorks. Add
DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
tags on VxWorks. Do not add the MIPS-specific tags for VxWorks.
(_bfd_mips_vxworks_finish_dynamic_symbol): New function.
(mips_vxworks_finish_exec_plt): Likewise.
(mips_vxworks_finish_shared_plt): Likewise.
(_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
to mips_elf_rel_dyn_section. Use a VxWorks-specific value of
DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO
and mips_elf_rel_dyn_section. Use a different GOT header for
VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks.
(_bfd_mips_elf_link_hash_table_create): Initialize the new
mips_elf_link_hash_table fields.
(_bfd_mips_vxworks_link_hash_table_create): New function.
(_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
on VxWorks. Update the call to ELF_MIPS_GP_OFFSET.
* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
(_bfd_mips_vxworks_link_hash_table_create): Likewise.
* libbfd.h: Regenerate.
* Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
(elf32-mips.lo): Likewise.
* Makefile.in: Regenerate.
* reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
* targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
(bfd_elf32_littlemips_vxworks_vec): Likewise.
(_bfd_target_vector): Add entries for them.
gas/
* config/tc-mips.c (mips_target_format): Handle vxworks targets.
(md_begin): Complain about -G being used for PIC. Don't change
the text, data and bss alignments on VxWorks.
(reloc_needs_lo_p): Don't return true for R_MIPS_GOT16 when
generating VxWorks PIC.
(load_address): Extend SVR4_PIC handling to VXWORKS_PIC.
(macro): Likewise, but do not treat la $25 specially for
VxWorks PIC, and do not handle jal.
(OPTION_MVXWORKS_PIC): New macro.
(md_longopts): Add -mvxworks-pic.
(md_parse_option): Don't complain about using PIC and -G together here.
Handle OPTION_MVXWORKS_PIC.
(md_estimate_size_before_relax): Always use the first relaxation
sequence on VxWorks.
* config/tc-mips.h (VXWORKS_PIC): New.
gas/testsuite/
* gas/mips/vxworks1.s, gas/mips/vxworks1.d,
* gas/mips/vxworks1-xgot.d: New tests.
* gas/mips/mips.exp: Run them. Do not run other tests on VxWorks.
include/elf/
* mips.h (R_MIPS_COPY, R_MIPS_JUMP_SLOT): New relocs.
ld/
* configure.tgt (mips*el-*-vxworks*, mips*-*-vxworks*): Use
separate VxWorks emulations.
* emulparams/elf32ebmipvxworks.sh: New file.
* emulparams/elf32elmipvxworks.sh: New file.
* Makefile.am (ALL_EMULATIONS): Add eelf32ebmipvxworks.o and
eelf32elmipvxworks.o.
(eelf32ebmipvxworks.c, eelf32elmipvxworks.c): New rules.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-mips/vxworks1.dd, ld-mips/vxworks1.ld, ld-mips/vxworks1-lib.dd,
* ld-mips/vxworks1-lib.nd, ld-mips/vxworks1-lib.rd,
* ld-mips/vxworks1-lib.s, ld-mips/vxworks1.rd, ld-mips/vxworks1.s,
* ld-mips/vxworks1-static.d, ld-mips/vxworks2.s, ld-mips/vxworks2.sd,
* ld-mips/vxworks2-static.sd: New tests.
* ld-mips/mips-elf.exp: Run them.
2006-03-22 09:28:15 +00:00
Dave Anglin
a2199086d1
* elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
...
section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
(elf_backend_special_sections): Remove #undef.
2006-03-20 01:12:30 +00:00
Dave Anglin
af7cfa3311
* elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
...
for undefined weak symbols.
2006-03-18 18:53:46 +00:00
H.J. Lu
a46767362a
2006-03-17 Daniel Jacobowitz <dan@codesourcery.com>
...
PR ld/2462
* elflink.c (bfd_elf_final_link): Remove
bed->elf_backend_emit_relocs from emit_relocs.
2006-03-17 18:37:21 +00:00
Alexandre Oliva
e1710606c9
bfd/ChangeLog:
...
* elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
first relocation to the second when relaxing TLS GD to LE;
zero it out when relaxing to IE.
ld/testsuite/ChangeLog:
* ld-powerpc/tls32.s: Verify that +32768 @plt addend is
discarded.
2006-03-17 06:44:37 +00:00
Alan Modra
2de922512d
PR 2434
...
* elflink.c (elf_link_add_object_symbols): Save and restore
warning sym's linked sym.
2006-03-17 03:19:56 +00:00
Alan Modra
66eb6687c9
PR 2434
...
bfd/
* elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
(elf_link_add_object_symbols): Delete unnecessary locals. Rename
hash_table -> htab. Formatting. Save entire symbol table
before loading as-needed syms, and restore afterwards if lib not
needed. Use bfd_hash_allocate rather than bfd_alloc for sym
name. Free some buffers earlier.
* bfd-in.h (struct bfd_hash_table): Add entsize.
(bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
* elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
* hash.c (bfd_hash_table_init_n): Add entsize param, save to
hash table.
(bfd_hash_table_init): Add param, adjust calls.
* aoutx.h: Adjust all hash_table_init functions and calls.
* bfd.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-ppc.c: Likewise.
* cofflink.c: Likewise.
* ecoff.c: Likewise.
* ecofflink.c: Likewise.
* elf-m10300.c: Likewise.
* elf-strtab.c: Likewise.
* elf.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-vax.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* i386linux.c: Likewise.
* libaout.h: Likewise.
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* linker.c: Likewise.
* m68klinux.c: Likewise.
* merge.c: Likewise.
* opncls.c: Likewise.
* pdp11.c: Likewise.
* sparclinux.c: Likewise.
* stabs.c: Likewise.
* sunos.c: Likewise.
* vms.c: Likewise.
* xcofflink.c: Likewise.
* section.c (struct section_hash_entry): Move to..
* libbfd-in.h: ..here.
* Makefile.am: Run "make dep-am"
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
binutils/
* ieee.c (write_ieee_debugging_info): Adjust bfd_hash_table_init calls.
* wrstabs.c (write_stabs_in_sections_debugging_info): Likewise.
ld/
* ldcref.c (add_cref): Adjust bfd_hash_table_init calls.
* ldlang.c (output_statement_table_init, lang_init): Likewise.
* ldmain.c (add_ysym, add_wrap, add_keepsyms_file): Likewise.
(undefined_symbol): Likewise.
2006-03-16 12:20:16 +00:00
Alan Modra
7123df0e80
* elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
...
against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak
last change to REL32 relocs so that they are counted as
possibly dynamic as per REL24 and REL14.
2006-03-15 14:30:19 +00:00
Alan Modra
fd38b44ca1
* elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
...
checks from REL32.
2006-03-15 13:52:58 +00:00
Ben Elliston
eb111b1f4e
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
...
in_list elements, not just the first.
2006-03-14 23:58:07 +00:00
Richard Sandiford
81d43bffb5
bfd/
...
* elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
out from...
(_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend
for final links too.
ld/testsuite/
* ld-mips/emit-relocs-1a.s, ld-mips/emit-relocs-1b.s,
* ld-mips/emit-relocs-1.ld, ld-mips/emit-relocs-1.d: New test.
* ld-mips/mips-elf.exp: Run it.
2006-03-14 07:47:49 +00:00
Richard Sandiford
d329bcd1df
bfd/
...
* elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
2006-03-13 19:14:23 +00:00
H.J. Lu
75a657ba49
2006-03-11 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2443
* dwarf2.c (concat_filename): Don't issue an error if file is
0.
2006-03-11 15:01:18 +00:00
Paul Brook
3a4a14e9ea
2006-03-10 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
(elf32_arm_print_private_bfd_data): Ditto.
binutils/
* readelf.c (decode_ARM_machine_flags): Handle EABIv5.
gas/
* config/tc-arm.c (md_begin): Handle EABIv5.
(arm_eabis): Add EF_ARM_EABI_VER5.
* doc/c-arm.texi: Document -meabi=5.
include/elf/
* arm.h (EF_ARM_EABI_VER5): Define.
2006-03-10 17:20:30 +00:00
Paul Brook
384060486d
2006-03-09 Paul Brook <paul@codesourcery.com>
...
bfd/
* cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
mapping symbols.
gas/testsuite/
* gas/arm/nomapping.d: New test.
* gas/arm/nomapping.s: New test.
2006-03-09 23:05:59 +00:00
Nick Clifton
eed62c48bf
* elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned char type.
2006-03-09 17:06:58 +00:00
H.J. Lu
6d2cf7d80b
2006-03-08 H.J. Lu <hongjiu.lu@intel.com>
...
* elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
2006-03-08 21:24:22 +00:00
Richard Sandiford
00a976722a
bfd/
...
* configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
(bfd_elf32_bigarm_symbian_vec): Likewise.
(bfd_elf32_bigarm_vxworks_vec): Likewise.
(bfd_elf32_littlearm_vec): Likewise.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(bfd_elf32_littlearm_vxworks_vec): Likewise.
* configure: Regenerate.
* elf32-arm.c: Include libiberty.h and elf-vxworks.h.
(RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
(elf32_arm_vxworks_bed): Add forward declaration.
(elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
(elf32_arm_vxworks_exec_plt0_entry): New table.
(elf32_arm_vxworks_exec_plt_entry): Likewise.
(elf32_arm_vxworks_shared_plt_entry): Likewise.
(elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
(reloc_section_p): New function.
(create_got_section): Use RELOC_SECTION.
(elf32_arm_create_dynamic_sections): Likewise. Call
elf_vxworks_create_dynamic_sections for VxWorks targets.
Choose between the two possible values of plt_header_size
and plt_entry_size.
(elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
(elf32_arm_abs12_reloc): New function.
(elf32_arm_final_link_relocate): Call it. Allow the creation of
dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p,
RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the
r_addend fields of relocs. On rela targets, skip any code that
adjusts in-place addends. When using _bfd_link_final_relocate
to perform a final relocation, pass rel->r_addend as the addend
argument.
(elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
object, ignore flags that are not standard on VxWorks.
(elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
relocs on VxWorks. Use reloc_section_p.
(elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
(allocate_dynrelocs): Use RELOC_SIZE. Account for the size of
.rela.plt.unloaded relocs on VxWorks targets.
(elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for
.rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags
instead of DT_REL* tags on RELA targets.
(elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks
PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
(elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ
like DT_RELSZ. Handle the VxWorks form of initial PLT entry.
Correct the .rela.plt.unreloaded symbol indexes.
(elf32_arm_output_symbol_hook): Call the VxWorks version of this
hook on VxWorks targets.
(elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
Minor formatting tweak.
(elf32_arm_vxworks_final_write_processing): New function.
(elf_backend_add_symbol_hook): Override for VxWorks and reset
for Symbian.
(elf_backend_final_write_processing): Likewise.
(elf_backend_emit_relocs): Likewise.
(elf_backend_want_plt_sym): Likewise.
(ELF_MAXPAGESIZE): Likewise.
(elf_backend_may_use_rel_p): Minor formatting tweak.
(elf_backend_may_use_rela_p): Likewise.
(elf_backend_default_use_rela_p): Likewise.
(elf_backend_rela_normal): Likewise.
* Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
gas/
* config/tc-arm.c (md_apply_fix): Install a value of zero into a
BFD_RELOC_ARM_OFFSET_IMM field if we're going to generate a RELA
R_ARM_ABS12 reloc.
(tc_gen_reloc): Keep the original fx_offset for RELA pc-relative
relocs, but adjust by md_pcrel_from_section. Create R_ARM_ABS12
relocations for BFD_RELOC_ARM_OFFSET_IMM on RELA targets.
gas/testsuite/
* gas/arm/abs12.s, gas/arm/abs12.d: New test.
* gas/arm/pic.d: Skip for *-*-vxworks*...
* gas/arm/pic_vxworks.d: ...use this version instead.
* gas/arm/unwind_vxworks.d: Fix expected output.
ld/
* emulparams/armelf_vxworks.sh: Include vxworks.sh.
(MAXPAGESIZE): Define.
* emulparams/vxworks.sh: Undefine.
* Makefile.am (earmelf_vxworks.c): Depend on vxworks.sh and vxworks.em.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-arm/vxworks1.dd, ld-arm/vxworks1.ld, ld-arm/vxworks1-lib.dd,
* ld-arm/vxworks1-lib.nd, ld-arm/vxworks1-lib.rd,
* ld-arm/vxworks1-lib.s, ld-arm/vxworks1.rd, ld-arm/vxworks1.s,
* ld-arm/vxworks1-static.d, ld-arm/vxworks2.s, ld-arm/vxworks2.sd,
* ld-arm/vxworks2-static.sd: New tests.
* ld-arm/arm-elf.exp: Run them.
2006-03-07 08:39:21 +00:00
Nathan Sidwell
0b2e31dc3b
bfd:
...
* archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
New. Adjust other variants.
(bfd_default_scan): Update.
* bfd-in2.h: Rebuilt.
* cpu-m68k.c: Adjust.
(bfd_m68k_compatible): New. Use it for architectures.
* elf32-m68k.c (elf32_m68k_object_p): Adjust.
(elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b
mismatch.
(elf32_m68k_print_private_bfd_data): Adjust.
* ieee.c (ieee_write_processor): Adjust.
binutils:
* readelf.c (get_machine_flags): Adjust.
gas:
* config/tc-m68k.c (m68k_extensions): Allow 'float' on both m68k
and cf.
(m68k_ip): <case 'J'> Check we have some control regs.
(md_parse_option): Allow raw arch switch.
(m68k_init_arch): Better detection of arch/cpu mismatch. Detect
whether 68881 or cfloat was meant by -mfloat.
(md_show_usage): Adjust extension display.
(m68k_elf_final_processing): Adjust.
gas/testsuite:
* gas/m68k/arch-cpu-1.s: Tweak.
* gas/m68k/arch-cpu-1.d: Tweak.
include/elf:
* m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A,
EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B, EF_M68K_ISA_C): Adjust.
(EF_M68K_ISA_A_NODIV, EF_M68K_ISA_B_NOUSP): New.
(EF_M68K_HW_DIV, EF_M68K_USP): Remove.
(EF_M68K_MAC, EF_M68K_EMAC, EF_M68K_FLOAT): Adjust.
(EF_M68K_EMAC_B): New.
ld/testsuite:
* ld-m68k: New tests.
2006-03-06 13:42:05 +00:00
Alan Modra
d8d1c398ee
* dwarf2.c: Formatting.
...
(add_line_info): Remove outer loop.
2006-03-06 04:52:03 +00:00
H.J. Lu
d4c32a815a
2006-03-05 H.J. Lu <hongjiu.lu@intel.com>
...
Alan Modra <amodra@bigpond.net.au>
PR binutils/2338
* dwarf2.c (loadable_section): New struct.
(dwarf2_debug): Add loadable_section_count and
loadable_sections.
(new_line_sorts_after): New.
(add_line_info): Use new_line_sorts_after to compare line
addresses.
(check_function_name): Removed.
(unset_sections): New.
(place_sections): New.
(_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
and unset_sections on relocatable files.
(_bfd_dwarf2_find_line): Likewise.
2006-03-06 01:36:52 +00:00
Nick Clifton
4cdc7696f5
Update formatting to ISO-C90
2006-03-03 15:54:23 +00:00
Nick Clifton
df406460e9
Add linker relaxation support for the AVR
2006-03-03 15:25:31 +00:00
DJ Delorie
a10138943b
* elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
...
calculations.
2006-03-03 03:13:49 +00:00
Richard Sandiford
7c4927199c
bfd/
...
* elf32-ppc.c (is_ppc_elf_target): Return true if the target is
bfd_elf32_powerpc_vxworks_vec.
ld/testsuite/
* ld-i386/vxworks1.ld (.data): New section.
* ld-i386/vxworks1-lib.s: Add a pointer to a local symbol.
* ld-i386/vxworks1-lib.rd: Test for the associated reloc.
* ld-powerpc/vxworks1.ld (.data): New section.
* ld-powerpc/vxworks1-lib.s: Add a pointer to a local symbol.
* ld-powerpc/vxworks1-lib.rd: Test for the associated reloc.
2006-03-02 09:44:23 +00:00
Nick Clifton
e970df31ca
Initialise 'gap'.
2006-03-02 09:38:57 +00:00
Richard Sandiford
711de32caa
bfd/
...
* elf32-i386.c (elf_i386_create_dynamic_sections): Use
elf_vxworks_create_dynamic_sections.
(elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
symbol handling.
* elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
elf_vxworks_create_dynamic_sections.
(ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
symbol handling.
* elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
* elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
ld/testsuite/
* ld-i386/ld-i386/vxworks1-lib.nd: New test.
* ld-i386/i386.exp: Run it.
* ld-powerpc/ld-powerpc/vxworks1-lib.nd: New test.
* ld-powerpc/powerc.exp: Run it.
2006-03-02 08:57:00 +00:00
Richard Sandiford
9c72ff8443
bfd/
...
* elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
(elf_backend_link_output_symbol_hook): Use
elf_vxworks_link_output_symbol_hook instead.
* elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
(elf_backend_link_output_symbol_hook): Use
elf_vxworks_link_output_symbol_hook instead.
* elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
same interface as elf_backend_link_output_symbol_hook.
* elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
prototype accordingly.
2006-03-02 08:52:49 +00:00
Richard Sandiford
4a3dc54359
bfd/
...
* elf32-ppc.c (ppc_elf_plt_type): New enumeration.
(ppc_elf_link_hash_table): Replace old_got and new_got with
plt_type and can_use_new_plt.
(ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
(ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
(ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that
this function should not be called for VxWorks targets.
(ppc_elf_tls_setup): Use plt_type instead of old_got.
(allocate_got): Likewise. Rearrange so that max_before_header
is only used for PLT_OLD and PLT_NEW.
(allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
(ppc_elf_size_dynamic_sections): Likewise.
(ppc_elf_relax_section): Likewise.
(ppc_elf_relocate_section): Likewise.
(ppc_elf_finish_dynamic_symbol): Likewise.
(ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
ld/
* emulparams/elf32ppccommon.sh: New file, extracted from...
* emulparams/elf32ppc.sh: ...here.
* emulparams/elf32ppcvxworks.sh: Include elf32ppccommon.sh
instead of elf32ppc.sh.
(BSS_PLT): Remove override.
* Makefile.am (eelf32lppc.c): Depend on elf32ppccommons.h.
(eelf32lppcnto.c, eelf32lppcsim.c, eelf32ppcnto.c): Likewise.
(eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppcsimm): Likewise.
(eelf32ppclinux.c): Likewise.
(eelf32ppcvxworks.c): Likewise. Add missing vxworks.sh dependency.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-powerpc/vxworks1-lib.s, ld-powerpc/vxworks1-lib.dd,
* ld-powerpc/vxworks1-lib.rd, ld-powerpc/vxworks1.s,
* ld-powerpc/vxworks1.dd, ld-powerpc/vxworks1.rd,
* ld-powerpc/vxworks1.ld, ld-powerpc/vxworks1.sd: New test.
* ld-powerpc/powerpc.exp: Run it.
2006-03-02 08:50:04 +00:00
Richard Sandiford
5ae0bfb60a
bfd/
...
* elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
(elf_i386_link_hash_table_create): Initialize it.
(elf_i386_compute_jump_table_size): Use it instead of
srelplt->reloc_count.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
ld/testsuite/
* ld-i386/emit-relocs.s, ld-i386/emit-relocs.d: New test.
* ld-i386/i386.exp: Run it.
2006-02-28 07:16:12 +00:00
Jakub Jelinek
63752a757f
bfd/
...
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
(_bfd_elf_write_section_eh_frame): Likewise.
gas/
* dw2gencfi.c (struct fde_entry, struct cie_entry): Add signal_frame
field.
(CFI_signal_frame): Define.
(cfi_pseudo_table): Add .cfi_signal_frame.
(dot_cfi): Handle CFI_signal_frame.
(output_cie): Handle cie->signal_frame.
(select_cie_for_fde): Don't share CIE if signal_frame flag is
different. Copy signal_frame from FDE to newly created CIE.
* doc/as.texinfo: Document .cfi_signal_frame.
2006-02-27 23:07:06 +00:00
Carlos O'Donell
f7d9e5c379
bfd/doc/
...
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add html target.
* Makefile.in: Regenerate.
bfd/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add html target.
binutils/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add html target.
gas/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* doc/Makefile.am: Add html target.
* doc/Makefile.in: Regenerate.
* po/Make-in: Add html target.
gprof/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add html target.
ld/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add html target.
* Makefile.in: Regenerate.
* po/Make-in: Add html target.
opcodes/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* po/Make-in: Add html target.
etc/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.in: TEXI2HTML uses makeinfo. Define
HTMLFILES. Add html targets.
* configure.texi: Use ifnottex. Add alternative
image format specifier as jpg.
* standards.texi: Use ifnottex.
intl/
2006-10-14 Carlos O'Donell <carlos@codesourcery.com>
* intl/Makefile.in: Add html target.
2006-02-27 16:26:26 +00:00
Richard Sandiford
22edb2f164
* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
...
cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
* elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
* elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
* elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
* elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
* elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use
the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
* elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
2006-02-27 08:48:28 +00:00
Richard Sandiford
7325306f39
bfd/
...
* elf-bfd.h (elf_link_hash_table): Add hplt field.
* elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
* elf32-frv.c (_frv_create_got_section): Likewise.
* elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
* elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
* elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
(elf_i386_link_hash_table_create): Don't initialize them.
(elf_i386_size_dynamic_sections): Use the generic ELF hplt and
hgot fields.
(elf_i386_finish_dynamic_symbol): Likewise.
* elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
(ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
(ppc_elf_finish_dynamic_symbol): Likewise.
2006-02-25 09:23:30 +00:00
DJ Delorie
6772dd07c4
[include/elf]
...
* m32c.h: Add relax relocs.
[cpu]
* m32c.cpu (RL_TYPE): New attribute, with macros.
(Lab-8-24): Add RELAX.
(unary-insn-defn-g, binary-arith-imm-dst-defn,
binary-arith-imm4-dst-defn): Add 1ADDR attribute.
(binary-arith-src-dst-defn): Add 2ADDR attribute.
(jcnd16-5, jcnd16, jcnd32, jmp16.s, jmp16.b, jmp16.w, jmp16.a,
jmp32.s, jmp32.b, jmp32.w, jmp32.a, jsr16.w, jsr16.a): Add JUMP
attribute.
(jsri16, jsri32): Add 1ADDR attribute.
(jsr32.w, jsr32.a): Add JUMP attribute.
[opcodes]
* m32c-desc.c: Regenerate with linker relaxation attributes.
* m32c-desc.h: Likewise.
* m32c-dis.c: Likewise.
* m32c-opc.c: Likewise.
[gas]
* config/tc-m32c.h (md_apply_fix): Define to m32c_apply_fix.
(tc_gen_reloc): Don't define.
* config/tc-m32c.c (rl_for, relaxable): New convenience macros.
(OPTION_LINKRELAX): New.
(md_longopts): Add it.
(m32c_relax): New.
(md_parse_options): Set it.
(md_assemble): Emit relaxation relocs as needed.
(md_convert_frag): Emit relaxation relocs as needed.
(md_cgen_lookup_reloc): Add LAB_8_8 and LAB_8_16.
(m32c_apply_fix): New.
(tc_gen_reloc): New.
(m32c_force_relocation): Force out jump relocs when relaxing.
(m32c_fix_adjustable): Return false if relaxing.
[bfd]
* elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
(m32c_elf_relocate_section): Don't relocate them.
(compare_reloc): New.
(relax_reloc): Remove.
(m32c_offset_for_reloc): New.
(m16c_addr_encodings): New.
(m16c_jmpaddr_encodings): New.
(m32c_addr_encodings): New.
(m32c_elf_relax_section): Relax jumps and address displacements.
(m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up
short jumps.
* reloc.c: Add m32c relax relocs.
* libbfd.h: Regenerate.
2006-02-24 22:10:36 +00:00
H.J. Lu
508c39462a
2006-02-24 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2218
* elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
(_bfd_elf_link_hash_fixup_symbol): New.
* elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
(_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
it isn't NULL.
* elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
* elfxx-target.h (elf_backend_fixup_symbol): New.
(elfNN_bed): Initialize elf_backend_fixup_symbol.
2006-02-24 15:47:25 +00:00
H.J. Lu
59cf82fe74
bfd/
...
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
* cpu-ia64-opc.c (ins_immu5b): New.
(ext_immu5b): Likewise.
(elf64_ia64_operands): Add IMMU5b.
gas/
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-ia64.c (operand_match): Handle IA64_OPND_IMMU5b.
gas/testsuite/
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/opc-i.s: Add tests for tf.
* gas/ia64/pseudo.s: Likewise.
* gas/ia64/opc-i.d: Updated.
* gas/ia64/pseudo.d: Likewise.
include/opcode/
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
* ia64.h (ia64_opnd): Add IA64_OPND_IMMU5b.
opcodes/
2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
* ia64-opc-i.c (bXc): New.
(mXc): Likewise.
(OpX2TaTbYaXcC): Likewise.
(TF). Likewise.
(TFCM). Likewise.
(ia64_opcodes_i): Add instructions for tf.
* ia64-opc.h (IMMU5b): New.
* ia64-asmtab.c: Regenerated.
2006-02-23 21:36:18 +00:00
Alan Modra
22d606e9c2
PR ld/2218
...
* elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
is dynamic.
* elf32-hppa.c (allocate_dynrelocs): Likewise.
* elf32-i386.c (allocate_dynrelocs): Likewise.
* elf32-s390.c (allocate_dynrelocs): Likewise.
* elf32-sh.c (allocate_dynrelocs): Likewise.
* elf64-s390.c (allocate_dynrelocs): Likewise.
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
* elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs
on undef weak with non-default visibility too.
* elfxx-sparc.c (allocate_dynrelocs): Ditto.
2006-02-21 01:51:59 +00:00
Alan Modra
3168356f3e
* bfd.c: (_bfd_default_error_handler): Don't call abort on
...
error, instead call _exit.
(_bfd_abort): Call _exit not xexit.
2006-02-21 00:14:49 +00:00
Kevin Buettner
888b45b888
* elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
...
New functions.
* elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
2006-02-17 18:08:00 +00:00
Nick Clifton
d70c5fc7c5
Add support for the Infineon XC16X.
2006-02-17 14:36:28 +00:00
Alan Modra
cab87ef999
* elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
...
* elf64-ppc.c (allocate_dynrelocs): Likewise.
2006-02-17 12:52:58 +00:00
Alan Modra
dfbb6ac933
PR ld/2218
...
* elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
dynamic.
(ppc64_elf_relocate_section): Check output reloc section size.
* elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
2006-02-17 04:49:34 +00:00
H.J. Lu
cedc298e35
2006-02-16 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2322
* elf.c (get_segment_type): New function.
(_bfd_elf_print_private_bfd_data): Use it.
(print_segment_map): New function.
(assign_file_positions_for_segments): Call print_segment_map
when there are not enough room for program headers.
2006-02-16 18:07:54 +00:00
Nick Hudson
aaa2ab3d61
bfd:
...
* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
traditional MIPS ELF targets.
gas:
* configure.tgt: set emulation for mips-*-netbsd*
ld:
* configure.tgt (mips*el-*-netbsd*, mips*-*-netbsd*):
Use the traditional target.
2006-02-16 08:05:02 +00:00
H.J. Lu
35ccda9e73
2006-02-15 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/2338
* dwarf2.c (check_function_name): New function.
(_bfd_dwarf2_find_nearest_line): Use check_function_name to
check if function is correct.
2006-02-15 22:29:42 +00:00
Alan Modra
e0ae6d6fe9
* elflink.c (_bfd_elf_default_action_discarded): Return 0 for
...
debug sections.
(elf_link_input_bfd): Adjust comments.
2006-02-15 14:12:54 +00:00
H.J. Lu
d55ce4e249
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
...
* elf.c (copy_private_bfd_data): Minor update.
2006-02-10 17:13:23 +00:00
H.J. Lu
84d1d6507c
bfd/
...
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* elf.c (copy_private_bfd_data): Renamed to ...
(rewrite_elf_program_header): This.
(copy_elf_program_header): New function.
(copy_private_bfd_data): Likewise.
binutils/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* readelf.c (process_program_headers): Use
ELF_IS_SECTION_IN_SEGMENT_MEMORY.
include/elf/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New.
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise.
2006-02-10 15:04:19 +00:00
Nathan Sidwell
266abb8f72
* bfd/archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
...
bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
(bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
bfd_mach_mcf_isa_b_usp_float_emac): New.
(bfd_default_scan): Update coldfire mapping.
* bfd/bfd-in.h (bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Declare.
* bfd/bfd-in2.h: Rebuilt.
* bfd/cpu-m68k.c (arch_info_struct): Add new coldfire machines,
adjust legacy names.
(m68k_arch_features): New.
(bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Define.
* bfd/elf32-m68k.c (elf32_m68k_object_p): New.
(elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
(elf32_m68k_print_private_bfd_data): Print the CF EF flags.
(elf_backend_object_p): Define.
* bfd/ieee.c (ieee_write_processor): Update coldfire machines.
* bfd/libbfd.h: Rebuilt.
* gas/config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
mcf5329_control_regs): New.
(not_current_architecture, selected_arch, selected_cpu): New.
(m68k_archs, m68k_extensions): New.
(archs): Renamed to ...
(m68k_cpus): ... here. Adjust.
(n_arches): Remove.
(md_pseudo_table): Add arch and cpu directives.
(find_cf_chip, m68k_ip): Adjust table scanning.
(no_68851, no_68881): Remove.
(md_assemble): Lazily initialize.
(select_control_regs): Adjust cpu names. Add 5208, 5213, 5329.
(md_init_after_args): Move functionality to m68k_init_arch.
(mri_chip): Adjust table scanning.
(md_parse_option): Reimplement 'm' processing to add -march & -mcpu
options with saner parsing.
(m68k_lookup_cpu, m68k_set_arch, m68k_set_cpu, m68k_set_extension,
m68k_init_arch): New.
(s_m68k_cpu, s_m68k_arch): New.
(md_show_usage): Adjust.
(m68k_elf_final_processing): Set CF EF flags.
* gas/config/tc-m68k.h (m68k_init_after_args): Remove.
(tc_init_after_args): Remove.
* gas/doc/c-m68k.texi (M68K-Opts): Document -march, -mcpu options.
(M68k-Directives): Document .arch and .cpu directives.
* gas/testsuite/gas/m68k/all.exp: Add arch-cpu-1 test.
* gas/testsuite/gas/m68k/arch-cpu-1.[sd]: New.
* include/elf/m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ...
(EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here.
(EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS,
EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC,
EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New.
* include/opcode/m68k.h (m68008, m68ec030, m68882): Remove.
(m68k_mask): New.
(cpu_m68k, cpu_cf): New.
(mcf5200, mcf5206e, mcf521x, mcf5249, mcf528x, mcf5307, mcf5407,
mcf5470, mcf5480): Rename to cpu_<foo>. Add m680x0 variants.
* opcodes/m68k-dis.c (print_insn_m68k): Use
bfd_m68k_mach_to_features.
* binutils/readelf.c (get_machine_flags): Add logic for EF_M68K flags.
2006-02-07 19:01:10 +00:00
Steve Ellcey
75eb734c5c
* elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
...
if SHF_TLS is set.
2006-02-06 21:55:39 +00:00
Arnold Metselaar
134dcee5bc
Cleanup of pseudo-ops for constants and new def24,def32 pseudo-ops on z80
2006-02-05 11:57:35 +00:00
Richard Sandiford
4005427f86
bfd/
...
* elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
has already been assigned a GOT index, copy that index to the
current hash table entry.
ld/testsuite/
* ld-mips-elf/tls-hidden2a.s, ld-mips-elf/tls-hidden2b.s,
* ld/testsuite/ld-mips-elf/tls-hidden2.d,
* ld/testsuite/ld-mips-elf/tls-hidden2-got.d: New test.
* ld-mips-elf/mips-elf.exp: Run it.
2006-02-04 08:29:58 +00:00
Eric Botcazou
bb29dfeaa6
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
...
for call-to-undefweak reloc overflow.
2006-02-01 22:03:38 +00:00
Eric Botcazou
dc669dc848
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
...
for 32-bit relocs overflow.
2006-01-31 22:42:21 +00:00
Paul Brook
1a0eb69375
2006-01-27 Paul Brook <paul@codesourcery.com>
...
* elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
objects.
2006-01-27 14:11:43 +00:00
Alexandre Oliva
67a4f2b710
include/elf/ChangeLog:
...
Introduce TLS descriptors for i386 and x86_64.
* common.h (DT_TLSDESC_GOT, DT_TLSDESC_PLT): New.
* i386.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC):
New.
* x86-64.h (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
R_X86_64_TLSDESC): New.
bfd/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
* libbfd.h, bfd-in2.h: Rebuilt.
* elf32-i386.c (elf_howto_table): New relocations.
(R_386_tls): Adjust.
(elf_i386_reloc_type_lookup): Map new relocations.
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
(struct elf_i386_link_hash_entry): Add tlsdesc_got field.
(struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
(elf_i386_local_tlsdesc_gotent): New macro.
(struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
(elf_i386_compute_jump_table_size): New macro.
(link_hash_newfunc): Initialize tlsdesc_got.
(elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
(elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf_i386_check_relocs): Likewise. Allocate space for
local_tlsdesc_gotent.
(elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(allocate_dynrelocs): Count function PLT relocations. Reserve
space for TLS descriptors and relocations.
(elf_i386_size_dynamic_sections): Reserve space for TLS
descriptors and relocations. Set up sgotplt_jump_table_size.
Don't zero reloc_count in srelplt.
(elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_.
(elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
(elf_backend_always_size_sections): Define.
* elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
(R_X86_64_standard): Adjust.
(x86_64_reloc_map): Map new relocs.
(elf64_x86_64_rtype_to_howto): New, split out of...
(elf64_x86_64_info_to_howto): ... this function, and...
(elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
(GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
(GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
(struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
(struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
(elf64_x86_64_local_tlsdesc_gotent): New macro.
(struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
tlsdesc_got and sgotplt_jump_table_size fields.
(elf64_x86_64_compute_jump_table_size): New macro.
(link_hash_newfunc): Initialize tlsdesc_got.
(elf64_x86_64_link_hash_table_create): Initialize new fields.
(elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
R_X86_64_TLSDESC_CALL.
(elf64_x86_64_check_relocs): Likewise. Allocate space for
local_tlsdesc_gotent.
(elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
R_X86_64_TLSDESC_CALL.
(allocate_dynrelocs): Count function PLT relocations. Reserve
space for TLS descriptors and relocations.
(elf64_x86_64_size_dynamic_sections): Reserve space for TLS
descriptors and relocations. Set up sgotplt_jump_table_size,
tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero
reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT
and DT_TLSDESC_GOT.
(elf64_x86_64_always_size_sections): New. Set up
_TLS_MODULE_BASE_.
(elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL.
(elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
(elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry.
(elf_backend_always_size_sections): Define.
binutils/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* readelf.c (get_dynamic_type): Handle DT_TLSDESC_GOT and
DT_TLSDESC_PLT.
gas/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* config/tc-i386.c (tc_i386_fix_adjustable): Handle
BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC_CALL,
BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL.
(optimize_disp): Emit fix up for BFD_RELOC_386_TLS_DESC_CALL and
BFD_RELOC_X86_64_TLSDESC_CALL immediately, and clear the
displacement bits.
(build_modrm_byte): Set up zero modrm for TLS desc calls.
(lex_got): Handle @tlsdesc and @tlscall.
(md_apply_fix, tc_gen_reloc): Handle the new relocations.
ld/testsuite/ChangeLog:
Introduce TLS descriptors for i386 and x86_64.
* ld-i386/i386.exp: Run on x86_64-*-linux* and amd64-*-linux*.
Add new tests.
* ld-i386/pcrel16.d: Add -melf_i386.
* ld-i386/pcrel8.d: Likewise.
* ld-i386/tlsbindesc.dd: New.
* ld-i386/tlsbindesc.rd: New.
* ld-i386/tlsbindesc.s: New.
* ld-i386/tlsbindesc.sd: New.
* ld-i386/tlsbindesc.td: New.
* ld-i386/tlsdesc.dd: New.
* ld-i386/tlsdesc.rd: New.
* ld-i386/tlsdesc.s: New.
* ld-i386/tlsdesc.sd: New.
* ld-i386/tlsdesc.td: New.
* ld-i386/tlsgdesc.dd: New.
* ld-i386/tlsgdesc.rd: New.
* ld-i386/tlsgdesc.s: New.
* ld-x86-64/x86-64.exp: Run new tests.
* ld-x86-64/tlsbindesc.dd: New.
* ld-x86-64/tlsbindesc.rd: New.
* ld-x86-64/tlsbindesc.s: New.
* ld-x86-64/tlsbindesc.sd: New.
* ld-x86-64/tlsbindesc.td: New.
* ld-x86-64/tlsdesc.dd: New.
* ld-x86-64/tlsdesc.pd: New.
* ld-x86-64/tlsdesc.rd: New.
* ld-x86-64/tlsdesc.s: New.
* ld-x86-64/tlsdesc.sd: New.
* ld-x86-64/tlsdesc.td: New.
* ld-x86-64/tlsgdesc.dd: New.
* ld-x86-64/tlsgdesc.rd: New.
* ld-x86-64/tlsgdesc.s: New.
2006-01-18 21:07:51 +00:00
H.J. Lu
6dd55cb711
2006-01-17 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/2096
* dwarf2.c (comp_unit_contains_address): Update comment.
(_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
lma. Return TRUE only if both comp_unit_contains_address and
comp_unit_find_nearest_line return TRUE.
(_bfd_dwarf2_find_line): Use section's vma, instead of lma.
2006-01-17 17:12:58 +00:00
Alan Modra
64d03ab565
* elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
...
(bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
elf_gc_mark_dynamic_ref_symbol. Make global.
(bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
* elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
(elfNN_bed): Init new field.
* elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
(ppc64_elf_gc_mark_dynamic_ref): New function.
2006-01-17 15:32:41 +00:00
Alan Modra
b56cbdb94b
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
2006-01-17 13:00:16 +00:00
Nick Clifton
6c10990dfd
PR binutils/2159
...
* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused parameters.
2006-01-17 10:34:43 +00:00
Alan Modra
e88d958a4f
split changelogs
2006-01-16 23:15:07 +00:00
Nick Clifton
d7f735daf4
* elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry into the
...
newly (re)allocated map array.
2006-01-11 18:11:43 +00:00
Nick Clifton
2bfd55cab3
Add comma after HIGH3ADJ
2006-01-09 12:55:01 +00:00
Jakub Jelinek
bce50a28c0
* elf64-ppc.c (ppc64_elf_action_discarded): Return 0
...
for .toc1 section.
2006-01-01 00:06:24 +00:00
Kaz Kojima
f50ad433e8
* elf32-sh.c (sh_elf_relocate_section): Don't reset relocation
...
for R_SH_REL32 in shared objects if the symbol is locally called.
2005-12-31 16:23:13 +00:00
Alan Modra
4cc603a56e
* elf64-ppc.c (ppc64_elf_relocate_section): Adjust relocs against
...
opd section sym when opd has been edited. Use correct addend
when determining branch 'y' bit and branch overflow. Adjust and
save opd relocs for ld -r too.
2005-12-31 12:55:10 +00:00
Eric Christopher
86324f906b
2005-12-30 Eric Christopher <echristo@apple.com>
...
* elfxx-mips.c (mips_elf_record_global_got_symbol): Add assert
to verify we have a got.
(_bfd_mips_elf_check_relocs): Add R_MIPS_TLS_GOTTPREL to relocs
needing a GOT.
2005-12-31 05:02:22 +00:00
Dave Anglin
db8274e6b9
* configure.host (hppa*64*-*-hpux*): Set host64 to true.
2005-12-30 22:25:57 +00:00
Nick Clifton
faaad84b0e
(bfd_hash_set_default_size): Add more entries to the hash_size_primes table.
2005-12-29 10:33:40 +00:00
Nick Clifton
88a670df3c
(_bfd_link_section_stabs): Use bfd_hash_table_init rather than
...
bfd_hash_table_init_n(...,251) so that the size of the hash table can be
controlled by the user.
2005-12-29 10:29:23 +00:00
Dave Anglin
3c27d5511c
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Use info->executable
...
instead of !info->shared.
2005-12-27 22:50:08 +00:00
Jan-Benedict Glaw
ef98136453
2005-12-27 Jan-Benedict Glaw <jbglaw@lug-owl.de>
...
* vaxlinux.h: New file. (TRAD_CORE_EXTRA_SIZE_ALLOWED): Define.
(HOST_MACHINE_ARCH): Define. This allows cross-building vax-linux
hosted binutils.
2005-12-27 22:17:25 +00:00
Nathan Sidwell
e510ff9728
* elf32-mt.c (mt_elf_merge_private_bfd_data): Do not allow mixing
...
object files from different mt variants.
2005-12-27 17:47:42 +00:00
Nick Clifton
b59bea8a13
Add support for RDOS targets.
2005-12-27 17:42:45 +00:00
Nick Clifton
650f284e0d
(lookup_symbol_in_function_table): Check for a function name before passing
...
it to strcmp.
2005-12-27 16:07:36 +00:00
Alan Modra
a192385803
* elf.c (elf_find_function): Don't ignore section syms.
...
Simplify filename logic.
2005-12-27 09:22:59 +00:00
Alan Modra
ac39eb42f4
* elf32-ppc.c (add_stub_sym): Pass info rather than htab.
...
Use different names for pic vs non-pic, '.' instead of '_'.
(allocate_dynrelocs): Adjust add_stub_sym call.
2005-12-27 03:54:33 +00:00
Alan Modra
185ef66d06
* elf.c (bfd_section_from_shdr): Treat invalid reloc sections as
...
normal sections rather than returning false.
2005-12-27 03:45:30 +00:00
Alan Modra
44da2da10b
* coff-h8300.c (h8300_reloc16_extra_cases): Use input section
...
"output_offset" instead of link order "offset".
* coff-h8500.c (extra_case): Likewise.
* coff-w65.c (w65_reloc16_extra_cases): Likewise.
* coff-z80.c (extra_case): Likewise.
* coff-z8k.c (extra_case): Likewise.
* linker.c (default_indirect_link_order): Likewise, "size" too.
* ecoff.c (ecoff_indirect_link_order): Likewise.
2005-12-27 03:06:27 +00:00
Alan Modra
ec45615693
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
2005-12-27 01:19:01 +00:00
Alan Modra
9bf46c0040
* aix5ppc-core.c: Remove duplicate prototypes.
...
(xcoff64_core_file_matches_executable_p): Provide implementation
for !AIX_5_CORE.
* corefile.c (generic_core_file_matches_executable_p): Correct
syntax error in prototype.
* libbfd-in.h (generic_core_file_matches_executable_p): Delete.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2005-12-24 08:37:38 +00:00
Nick Clifton
12ac1cf537
PR 1150
...
* elf-bfd.h (struct elf_backend_data): New field 'elf_backend_ignore_undef_symbol'.
* elfxx-target.h (elf_backend_ignore_undef_symbol): Define to NULL if not
already defined.
(elfNN_bed): Initialise the elf_backend_ignore_undef_symbol field.
* elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): New function.
* elfxx-mips.h (elf_backend_ignore_undef_symbol): Define and prototype.
* elflink.c (elf_link_output_extsym): Check elf_backend_ignore_undef_symbol
before reporting an undefined symbol in a shared library.
2005-12-23 12:29:36 +00:00
Joel Brobecker
69d246d933
* corefile.c (generic_core_file_matches_executable_p): New function.
...
* libbfd-in.h (generic_core_file_matches_executable_p): Add
declaration.
* libbfd.h: Regenerate.
* hpux-core.c: ANSIfy function declarations and prototypes.
(thread_section_p): Manually expand bfd_section_name macro
to make it clear that parameter ABFD is not used.
(hpux_core_core_file_matches_executable_p): Delete, replaced
by macro pointing to generic_core_file_matches_executable_p.
* aix386-core.c: Replace core_file_matches_executable_p null
implementation by generic_core_file_matches_executable_p by
using a macro.
* aix5ppc-core.c: Likewise.
* cisco-core.c: Likewise.
* hppabsd-core.c: Likewise.
* irix-core.c: Likewise.
* lynx-core.c: Likewise.
* mach-o.c: Likewise.
* netbsd-core.c: Likewise.
* osf-core.c: Likewise.
* ptrace-core.c: Likewise.
* sco5-core.c: Likewise.
* trad-core.c: Likewise.
2005-12-23 10:19:40 +00:00
Bob Wilson
03e94c089a
* elf32-xtensa.c (action_list_count, xlate_map_entry, xlate_map,
...
xlate_offset_with_removed_text, build_xlate_map, free_xlate_map): New.
(check_section_ebb_pcrels_fit): Build new xlate_map, use it and free it
when finished.
2005-12-20 01:30:11 +00:00
Nathan Sidwell
d031aafbfe
Second part of ms1 to mt renaming.
...
* bfd/archures.c (bfd_arch_mt): Renamed.
(bfd_mt_arch): Renamed.
(bfd_archures_list): Adjusted.
* bfd/bfd-in2.h: Rebuilt.
* bfd/config.bfd (mt): Remove special case targ_archs.
(mt-*-elf): Rename bfd_elf32_mt_vec.
* bfd/configure: Rebuilt.
* bfd/configure.in (bfd_elf32_mt_vec): Renamed.
(selarchs) Remove mt special case.
* bfd/cpu-mt.c (arch_info_struct): Adjust.
(bfd_mt_arch): Renamed, adjust.
* bfd/elf32-mt.c (mt_reloc_type_lookup, mt_info_to_howto_rela,
mt_elf_relocate_hi16, mt_final_link_relocate, mt_relocate_section,
mt_elf_howto_table): Renamed, adjusted.
(mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook, mt_elf_check_relocs,
elf32_mt_machine, mt_elf_object_p, mt_elf_set_private_flags,
mt_elf_copy_private_bfd_data, mt_elf_merge_private_bfd_data,
mt_elf_print_private_bfd_data): Renamed, adjusted.
(TARGET_BIG_SYM, TARGET_BIG_NAME, ELF_ARCH, ELF_MACHINE_CODE,
ELF_MAXPAGESIZE, elf_info_to_howto, elf_backend_relocate_section,
bfd_elf32_bfd_reloc_type_lookup, elf_backend_gc_mark_hook,
elf_backend_gc_sweep_hook, elf_backend_check_relocs,
eld_backend_object_p, bfd_elf32_bfd_set_private_flags,
bfd_elf32_bfd_copy_private_bfd_data,
bfd_elf32_bfd_merge_private_bfd_data,
bfd_elf32_bfd_print_private_bfd_data): Adjusted.
* bfd/libbfd.h: Regenerated.
* bfd/reloc.c (BFD_RELOC_MT_PC16, BFD_RELOC_MT_HI16,
BFD_RELOC_MT_LO16, BFD_RELOC_MT_GNU_VTINHERIT,
BFD_RELOC_MT_GNU_VTENTRY, BFD_RELOC_MT_PCINSN8): Renamed.
* bfd/targets.c (bfd_elf32_mt_vec): Renamed.
(_bfd_target_vector): Adjusted.
* binutils/readelf.c (guess_is_rela): Use EM_MT.
(dump_relocations, get_machine_name): Adjust.
* cpu/mt.cpu (define-arch, define-isa): Set name to mt.
(define-mach): Adjust.
* cpu/mt.opc (CGEN_ASM_HASH): Update.
(mt_asm_hash, mt_cgen_insn_supported): Renamed.
(parse_loopsize, parse_imm16): Adjust.
* gas/configure: Rebuilt.
* gas/configure.in (mt): Remove special case.
* gas/config/tc-mt.c (opcodes/mt-desc.h, opcodes/mt-opc.h): Change
#includes.
(mt_insn, mt_mach, mt_mach_bitmask, mt_flags, mt_architectures):
Rename, adjust.
(md_parse_option, md_show_usage, md_begin, md_assemble,
md_cgen_lookup_reloc, md_atof): Adjust.
(mt_force_relocation, mt_apply_fix, mt_fix_adjustable): Rename, adjust.
* gas/config/tc-mt.h (TC_MT): Rename.
(LISTING_HEADER, TARGET_ARCH, TARGET_FORMAT): Adjust.
(md_apply_fix): Adjust.
(mt_apply_fix, mt_fix_adjustable, mt_force_relocation): Rename.
(TC_FORCE_RELOCATION, tc_fix_adjustable): Adjust.
* gdb/mt-tdep.c (mt_arch_constants, mt_gdb_regnums): Rename, adjust.
(mt_register_name, mt_register_type, mt_register_reggroup_p,
mt_return_value, mt_skip_prologue, mt_breapoint_from_pc,
mt_pseudo_register_read, mt_pseudo_register_write, mt_frame_align,
mt_registers_info, mt_push_dummy_call, mt_unwind_cache,
mt_frame_unwind_cache, mt_unwind_pc, mt_unwind_dummy_id,
mt_frame_this_id, mt_frame_prev_register, mt_frame_base_address,
mt_frame_unwind, mt_frame_sniffer, mt_frame_base, mt_gdbarch_init,
_initialize_mt_tdep): Rename & adjust.
* include/dis-asm.h (print_insn_mt): Renamed.
* include/elf/common.h (EM_MT): Renamed.
* include/elf/mt.h: Rename relocs, cpu & other defines.
* ld/emulparams/elf32mt.sh (ARCH, OUTPUT_FORMAT): Adjust.
* opcodes/Makefile.am (HFILES, CFILES, ALL_MACHINES): Adjust.
(stamp-mt): Adjust rule.
(mt-asm.lo, mt-desc.lo, mt-dis.lo, mt-ibld.lo, mt-opc.lo): Rename &
adjust.
* opcodes/Makefile.in: Rebuilt.
* opcodes/configure: Rebuilt.
* opcodes/configure.in (bfd_mt_arch): Rename & adjust.
* opcodes/disassemble.c (ARCH_mt): Renamed.
(disassembler): Adjust.
* opcodes/mt-asm.c: Renamed, rebuilt.
* opcodes/mt-desc.c: Renamed, rebuilt.
* opcodes/mt-desc.h: Renamed, rebuilt.
* opcodes/mt-dis.c: Renamed, rebuilt.
* opcodes/mt-ibld.c: Renamed, rebuilt.
* opcodes/mt-opc.c: Renamed, rebuilt.
* opcodes/mt-opc.h: Renamed, rebuilt.
* sid/Makefile.in: Rebuilt.
* sid/aclocal.m4: Rebuilt.
* sid/configure: Rebuilt.
* sid/sid.spec: Adjust.
* sid/bsp/Makefile.am: Adjust.
* sid/bsp/Makefile.in: Rebuilt.
* sid/bsp/aclocal.m4: Rebuilt.
* sid/bsp/configrun-sid.in: Adjust.
* sid/bsp/pregen/Makefile.in: Rebuilt.
* sid/bsp/pregen/mt-gdb.conf: Renamed & rebuilt.
* sid/bsp/pregen/mt-gloss.conf: Renamed & rebuilt.
* sid/bsp/pregen/pregen-configs.in: Adjust.
* sid/component/aclocal.m4: Rebuilt.
* sid/component/configure: Rebuilt.
* sid/component/tconfig.in: Adjust.
* sid/component/bochs/aclocal.m4: Rebuilt.
* sid/component/cache/Makefile.in: Rebuilt.
* sid/component/cgen-cpu/Makefile.in: Rebuilt.
* sid/component/cgen-cpu/aclocal.m4: Rebuilt.
* sid/component/cgen-cpu/compCGEN.cxx: Adjust.
* sid/component/cgen-cpu/configure: Rebuilt.
* sid/component/cgen-cpu/configure.in: Rebult.
* sid/component/cgen-cpu/mt/Makefile.am: Adjust.
* sid/component/cgen-cpu/mt/Makefile.in: Rebuilt.
* sid/component/cgen-cpu/mt/hw-cpu-mt.txt: Adjust.
* sid/component/cgen-cpu/mt/mt-cpu.h: Rebuilt.
* sid/component/cgen-cpu/mt/mt-decode.cxx: Rebuilt.
* sid/component/cgen-cpu/mt/mt-decode.h: Rebuilt.
* sid/component/cgen-cpu/mt/mt-defs.h: Rebuilt.
* sid/component/cgen-cpu/mt/mt-desc.h: Rebuilt.
* sid/component/cgen-cpu/mt/mt-sem.cxx: Rebuilt.
* sid/component/cgen-cpu/mt/mt-write.cxx: Rebuilt.
* sid/component/cgen-cpu/mt/mt.cxx: Adjust.
* sid/component/cgen-cpu/mt/mt.h: Adjust.
* sid/component/consoles/Makefile.in: Rebuilt.
* sid/component/families/aclocal.m4: Rebuilt.
* sid/component/families/configure: Rebuilt.
* sid/component/gdb/Makefile.in: Rebuilt.
* sid/component/gloss/Makefile.in: Rebuilt.
* sid/component/glue/Makefile.in: Rebuilt.
* sid/component/ide/Makefile.in: Rebuilt.
* sid/component/interrupt/Makefile.in: Rebuilt.
* sid/component/lcd/Makefile.in: Rebuilt.
* sid/component/lcd/testsuite/Makefile.in: Rebuilt.
* sid/component/loader/Makefile.am: Rebuilt.
* sid/component/loader/Makefile.in: Rebuilt.
* sid/component/mapper/Makefile.in: Rebuilt.
* sid/component/mapper/testsuite/Makefile.in: Rebuilt.
* sid/component/memory/Makefile.in: Rebuilt.
* sid/component/mmu/Makefile.in: Rebuilt.
* sid/component/parport/Makefile.in: Rebuilt.
* sid/component/profiling/Makefile.in: Rebuilt.
* sid/component/rtc/Makefile.in: Rebuilt.
* sid/component/sched/Makefile.in: Rebuilt.
* sid/component/testsuite/Makefile.in: Rebuilt.
* sid/component/timers/aclocal.m4: Rebuilt.
* sid/component/timers/configure: Rebuilt.
* sid/component/uart/Makefile.in: Rebuilt.
* sid/component/uart/testsuite/Makefile.in: Rebuilt.
* sid/config/config.sub: Adjust.
* sid/config/info.tcl.in: Adjust.
* sid/config/sidtargets.m4: Adjust.
* sid/doc/Makefile.in: Rebuilt.
* sid/main/dynamic/Makefile.am: Rebuilt.
* sid/main/dynamic/Makefile.in: Rebuilt.
* sid/main/dynamic/aclocal.m4: Rebuilt.
* sid/main/dynamic/configure: Rebuilt.
2005-12-16 10:23:12 +00:00
H.J. Lu
25bbc98480
2005-12-13 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/2008
* elf.c (_bfd_elf_setup_sections): Return FALSE if
elf_linked_to_section will be set to NULL.
* format.c (bfd_check_format_matches): Don't check the default
target twice.
2005-12-13 15:34:28 +00:00
Alan Modra
4fa1c2377a
* elf64-ppc.c (ppc64_elf_relocate_section): Force tail calls in
...
shared libs to resolve locally.
2005-12-13 05:39:34 +00:00
Paul Brook
39b41c9ca8
2005-12-12 Paul Brook <paul@codesourcery.com>
...
bfd/
* bfd-in2.h: Regenerate.
* elf32-arm.c (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(check_use_blx): New function.
(bfd_elf32_arm_process_before_allocation): Don't allocate glue if
using BLX.
(elf32_arm_final_link_relocate): Perform bl<->blx conversion for
R_ARM_CALL and R_ARM_THM.
(elf32_arm_get_eabi_attr_int): New function.
(elf32_arm_size_dynamic_sections): Call check_use_blx.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP.
gas/
* config/tc-arm.c (do_branch): Generate EABI branch relocations.
(do_bl): New function.
(do_blx): Generate BFD_RELOC_ARM_PCREL_CALL relocation.
(do_t_blx): Generate BFD_RELOC_THUMB_PCREL_BRANCH23.
(insns): Use do_bl.
(md_pcrel_from_section): Add BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(md_apply_fix): Merge BFD_RELOC_ARM_PCREL_BRANCH and
BFD_RELOC_ARM_PCREL_BLX cases. Handle BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
(tc_gen_reloc): Handle BFD_RELOC_ARM_PCREL_CALL and
BFD_RELOC_ARM_PCREL_JUMP.
gas/testsuite/
* gas/arm/pic.d: Allow R_ARM_CALL relocations.
include/elf/
* arm.h (elf32_arm_get_eabi_attr_int): Add prototype.
ld/testsuite/
* ld-arm/arm-call.d: New test.
* ld-arm/arm-call1.s: New file.
* ld-arm/arm-call1.s: New file.
* ld-arm/arm-elf.exp: Add arm-call and mixed-app-v5.
* ld-arm/arm.ld: Add .glue_7 and .ARM.attribues.
* ld-arm/mixed-app-v5.d: New file.
* ld-arm/mixed-app.r: Tweak expected output.
2005-12-12 17:03:40 +00:00
Nathan Sidwell
4970f871a7
Rename ms1 to mt, part 1
...
* config.sub: Replace ms1 arch with mt. Allow ms1 as alias.
* configure.in: Replace ms1 arch with mt.
* configure: Rebuilt.
* bfd/Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES,
BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace ms1 with mt.
(cpu_mt.lo, elf32-mt.lo): Update target and dependency names.
* bfd/Makefile.in: Rebuilt.
* bfd/config.bfd: Replace ms1 arch with mt.
* bfd/configure.in: Replace ms1 files with mt files.
* bfd/configure: Rebuilt.
* bfd/elf32-mt.c: Renamed from elf32-ms1.c. Update include files.
* bfd/cpu-mt.c: Renamed from cpu-ms1.c.
* cpu/mt.cpu: Rename from ms1.cpu.
* cpu/mt.opc: Rename from ms1.opc.
* binutils/Makefile.am: Replace ms1 files with mt files.
* binutils/Makefile.in: Rebuilt.
* binutils/readelf.c (elf/mt.h): Adjust #include.
* gas/configure.in: Replace ms1 arch with mt arch.
* gas/configure: Rebuilt.
* gas/configure.tgt: Replace ms1 arch with mt arch.
* gas/config/tc-mt.c: Renamed from tc-ms1.c: Update include files.
* gas/doc/Makefile.am (CPU_DOCS): Replace ms1 files with mt files.
* gas/doc/Makefile.in: Rebuilt.
* gas/testsuite/gas/mt: Renamed from ms1 dir. Update file names as
needed.
* gas/testsuite/gas/mt/errors.exp: Replace ms1 arch with mt arch.
* gas/testsuite/gas/mt/mt.exp: Replace ms1 arch with mt arch.
* gas/testsuite/gas/mt/relocs.exp: Replace ms1 arch with mt arch.
* gdb/configure.tgt: Replace ms1 arch with mt arch.
* gdb/config/mt: Renamed from ms1 dir. Update file names as needed.
* gdb/config/mt/mt.mt (TDEPFILES): Replace ms1 file with mt file.
* include/elf/mt.h: Renamed from ms1.h
* ld/Makefile.am (ALL_EMULATIONS): Replace ms1 files with mt files.
(eelf32mt.c): Update target name and dependencies.
* ld/Makefile.in: Rebuilt.
* ld/configure.tgt: Replace ms1 arch with mt arch.
* ld/emulparams/elf32mt.sh: Renamed from elf32ms1.sh. Update
comment.
* libgloss/configure.in: Replace ms1 arch with mt arch.
* libgloss/configure: Rebuilt.
* libgloss/mt: Renamed from ms1 dir.
* newlib/configure.host: Replace ms1 arch with mt arch.
* newlib/libc/machine/mt: Renamed from ms1 dir.
* opcodes/Makefile.am (CLEANFILES, CGEN_CPUS, MT_DEPS): Replace ms1
with mt.
* opcodes/Makefile.in: Rebuilt.
* opcodes/configure.in: Replace ms1 files with mt files.
* opcodes/configure: Rebuilt.
* sid/component/cgen-cpu/mt: Renamed from ms1 dir. Update file
names as appropriate.
* sid/component/cgen-cpu/mt/Makefile.am: Replace ms1 files with mt
files.
* sid/component/cgen-cpu/mt/Makefile.in: Rebuilt.
2005-12-12 11:25:08 +00:00
Alan Modra
67f93c31bb
* elf64-ppc.c (ppc64_elf_size_stubs): Don't consider non-ppc64 input.
2005-12-12 03:59:52 +00:00
Alan Modra
5adcfd8b2c
* elflink.c (elf_gc_mark_dynamic_ref_symbol): Use !info-executable
...
to test for linking shared libs, not info->shared.
2005-12-10 03:31:03 +00:00
Alan Modra
0ba079102f
bfd/
...
* elf32-ppc.c (struct ppc_elf_link_hash_table): Add emit_stub_syms.
(ppc_elf_select_plt_layout): Add emit_stub_syms param, save to htab.
(add_stub_sym): New function.
(allocate_dynrelocs): Call add_stub_sym.
(ppc_elf_size_dynamic_sections): Emit __glink and __glink_PLTresolve
when emit_stub_syms.
* elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
ld/
* emultempl/ppc32elf.em (emit_stub_syms): New var.
(ppc_after_open): Pass it to ppc_elf_select_plt_layout.
(PARSE_AND_LIST_PROLOGUE <OPTION_STUBSYMS>): Define.
(PARSE_AND_LIST_LONGOPTS): Add emit-stub-syms.
(PARSE_AND_LIST_OPTIONS): Describe emit-stub-syms.
(PARSE_AND_LIST_OPTIONS): Handle it.
2005-12-08 11:41:12 +00:00
Alan Modra
a7985d7382
* reloc.c (enum complain_overflow): Correct comments.
...
(bfd_check_overflow): Combine complain_overflow_bitfield and
complain_overflow_signed code.
(_bfd_relocate_contents): Likewise.
(bfd_howto_32): Use complain_overflow_dont.
* elf32-d10v.c (elf_d10v_howto_table): Revert 2002-06-17 change.
* bfd-in2.h: Regenerate.
2005-12-08 11:05:36 +00:00
H.J. Lu
e424ecc89d
2005-12-07 H.J. Lu <hongjiu.lu@intel.com>
...
* elf.c (assign_section_numbers): Remove extra code in the last
change.
2005-12-08 01:34:13 +00:00
H.J. Lu
f287603758
2005-12-07 H.J. Lu <hongjiu.lu@intel.com>
...
Andreas Schwab <schwab@suse.de>
PR binutils/1991
* elf.c (assign_section_numbers): Always use the output section
when setting up sh_link for SHF_LINK_ORDER.
2005-12-07 19:21:44 +00:00
H.J. Lu
fe21a8fc74
bfd/
...
2005-12-07 Thiemo Seufer <ths@networkno.de>
H.J. Lu <hongjiu.lu@intel.com>
PR ld/1932
* bfd-in.h (bfd_elf_record_link_assignment): Add output_bfd
and hidden arguments.
* bfd.c (bfd_hide_symbol): Removed.
* bfd-in2.h: Regenerated.
* elflink.c (bfd_elf_record_link_assignment): Handle hidden
symbols which were provided by a linker script.
ld/
2005-12-07 Thiemo Seufer <ths@networkno.de>
H.J. Lu <hongjiu.lu@intel.com>
PR ld/1932
* emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
Adjust bfd_elf_record_link_assignment call.
* ldexp.c (exp_fold_tree_1): Remove call to bfd_hide_symbol.
2005-12-07 14:43:54 +00:00
Alan Modra
1ca81d7218
* cpu-powerpc.c (bfd_powerpc_archs): Add ppc 750.
2005-12-06 12:10:26 +00:00
Mark Kettenis
927e625f4b
* elf64-hppa.c (elf64_hppa_section_from_phdr): Create .kernel
...
pseudo-section. Make sure .reg section comes after the proc
section it's generated from.
2005-12-04 14:58:11 +00:00
Nick Clifton
8ce757c498
* elf32-m32r.c (m32r_elf_sweep_hook): Fix an illegal duplicate check.
...
(m32r_elf_relocate_section): Fix R_M32R_10_PCREL_RELA linkage bug.
(m32r_elf_gc_sweep_hook): Likewise.
(m32r_elf_check_relocs): Likewise.
2005-12-01 04:48:13 +00:00
Alan Modra
390fbbf109
bfd/
...
* elf-bfd.h (_bfd_generic_match_sections_by_type): Don't define.
* libbfd-in.h (_bfd_generic_match_sections_by_type): Delete.
* libbfd.c (_bfd_generic_match_sections_by_type): Delete.
* targets.c (bfd_match_sections_by_type): Don't define.
(BFD_JUMP_TABLE_LINK): Remove _bfd_generic_match_sections_by_type.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
ld/
* ldlang.c (lang_output_section_find_by_flags): Add match_type param.
Run two passes, first using match_type, second without.
* ldlang.h (lang_match_sec_type_func): New typedef.
(lang_output_section_find_by_flags): Update prototype.
bfd_match_sections_by_type and lang_output_section_find_by_flags.
* emultempl/pe.em (place_orphan): Likewise.
2005-11-24 06:02:08 +00:00
Daniel Jacobowitz
bad36eacda
bfd/
...
* elf32-mips.c (elf_mips_howto_table_rel): Use rightshift 2 for
R_MIPS_PC16.
(mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16.
(bfd_elf32_bfd_reloc_type_lookup): Don't handle
BFD_RELOC_16_PCREL_S2.
* elf64-mips.c (mips_elf64_howto_table_rel): Use rightshift 2 for
R_MIPS_PC16.
(mips_elf64_howto_table_rela): Likewise.
(mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16.
(bfd_elf64_bfd_reloc_type_lookup): Don't handle
BFD_RELOC_16_PCREL_S2.
* elfn32-mips.c (elf_mips_howto_table_rel): Use rightshift 2 for
R_MIPS_PC16.
(elf_mips_howto_table_rela): Likewise.
(mips_reloc_map): Map BFD_RELOC_16_PCREL_S2 to R_MIPS_PC16.
(bfd_elf32_bfd_reloc_type_lookup): Don't handle
BFD_RELOC_16_PCREL_S2.
* elfxx-mips.c: Formatting fixes.
(mips_elf_calculate_relocation): Handle R_MIPS_GNU_REL16_S2
and R_MIPS_PC16 identically.
gas/
* config/tc-mips.c (append_insn): Handle BFD_RELOC_16_PCREL_S2.
(macro_build): Complain for invalid branch displacements.
(mips_validate_fix): Delete.
(md_apply_fix): Re-add pcrel support for branches. Use consistent
text for misaligned branch targets.
(tc_gen_reloc: Re-add pcrel support for branches. Handle strange
BFD pcrel processing. Remove error for unresolved branches.
* config/tc-mips.h (TC_VALIDATE_FIX, mips_validate_fix): Delete.
gas/testsuite/
* gas/mips/bge.d, gas/mips/bge.s, gas/mips/bgeu.d, gas/mips/bgeu.s,
gas/mips/blt.d, gas/mips/blt.s, gas/mips/bltu.d,
gas/mips/bltu.s: Reactivate external branch tests.
* gas/mips/branch-misc-2.d, gas/mips/branch-misc-2pic.d,
gas/mips/branch-misc-2-64.d, gas/mips/branch-misc-2pic-64.d: New
tests.
* gas/mips/branch-misc-2.l, gas/mips/branch-misc-2pic.l,
gas/testsuite/gas/mips/branch-misc-2pic.s: Remove.
* gas/mips/mips.exp: Adjust branch-misc-2 tests. Add 64-bit
variants.
2005-11-23 14:04:18 +00:00
Alan Modra
a14199dbd5
* elfcode.h (elf_object_p): Delay the setting of start_address
...
until we're sure the backend matches the binary.
2005-11-23 11:46:01 +00:00
Dave Anglin
f29ba31228
* som.c (som_decode_symclass): Decode BSF_WEAK symbols in the same
...
manner as bfd_decode_symclass.
2005-11-20 19:21:06 +00:00
Alan Modra
220c76ddc0
* elf64-ppc.c (ppc64_elf_check_relocs): Don't set has_14bit_branch
...
on branches to same section.
2005-11-18 04:52:57 +00:00
Dave Anglin
d97a892405
* elf64-hppa.c (elf64_hppa_object_p): Recognize corefiles under
...
hppa64-hp-hpux11.11.
(elf64_hppa_section_from_phdr): New function.
(elf_backend_section_from_phdr): Define.
2005-11-18 00:48:50 +00:00
Nick Clifton
5e2b0d475e
PR 1150
...
* readelf.c (get_mips_symbol_other): New function.
(get_symbol_other): New function.
(process_symbol_table): Call get_symbol_other() to get a description of the
st_other field if it contains more information than just the visibility.
* elfxx-mips.c (mips_elf_calculate_relocation): Ignore an undefined symbol if
it is optional.
(_bfd_mips_elf_merge_symbol_attribute): Make sure that the optional flag is
merged as well as the visibility.
* elfxx-mips.h (_bfd_mips_elf_merge_symbol_attribute): Prototype.
(elf_backend_merge_symbol_attribute): Define.
* mips.h (STO_OPTIONAL): Define.
(ELF_MIPS_IS_OPTIONAL): Define.
2005-11-11 11:06:34 +00:00
Nathan Sidwell
6f84a2a649
bfd:
...
Add ms2.
* archures.c (bfd_mach_ms2): Define.
* cpu-ms1.c (arch_info_struct): Add ms2 stanza.
* elf32-ms1.c (elf32_ms1_machine): Add ms2 case.
(ms1_elf_merge_private_bfd_data): Remove unused variables. Add
correct merging logic, with workaround.
(ms1_elf_print_private_bfd_data): Add ms2 case.
* reloc.c (BFD_RELOC_MS1_PCINSN8): Add ms2 specific reloc.
* libbfd.h: Regenerated.
* bfd-in2.h: Regenerated.
cpu:
Add ms2
* ms1.cpu (ms2, ms2bf): New architecture variant, cpu, machine and
model.
(f-uu8, f-uu1, f-imm16l, f-loopo, f-cb1sel, f-cb2sel, f-cb1incr,
f-cb2incr, f-rc3): New fields.
(LOOP): New instruction.
(JAL-HAZARD): New hazard.
(imm16o, loopsize, imm16l, rc3, cb1sel, cb2sel, cb1incr, cb2incr):
New operands.
(mul, muli, dbnz, iflush): Enable for ms2
(jal, reti): Has JAL-HAZARD.
(ldctxt, ldfb, stfb): Only ms1.
(fbcb): Only ms1,ms1-003.
(wfbinc, mefbinc, wfbincr, mwfbincr, fbcbincs, mfbcbincs,
fbcbincrs, mfbcbincrs): Enable for ms2.
(loop, loopu, dfbc, dwfb, fbwfb, dfbr): New ms2 insns.
* ms1.opc (parse_loopsize): New.
(parse_imm16): hi16/lo16 relocs are applicable to IMM16L.
(print_pcrel): New.
gas:
Add ms2.
* config/tc-ms1.c (ms1_mach_bitmask): Initialize to MS1.
(ms1_architectures): Add ms2.
(md_parse_option): Add ms2.
(md_show_usage): Add ms2.
(md_assemble): Add JAL_HAZARD detection logic.
(md_cgen_lookup_reloc): Add MS1_OPERAND_LOOPSIZE case.
* doc/c-ms1.texi: New.
* doc/all.texi: Add MS1.
* doc/Makefile.am (CPU_DOCS): Add c-ms1.texi.
* doc/Makefile.in: Rebuilt.
* doc/Makefile: Rebuilt.
gas/testsuite:
Add ms2.
* gas/ms1/allinsn.d: Adjust pcrel disassembly.
* gas/ms1/errors.exp: Fix target triplet.
* gas/ms1/ms1-16-003.d: Adjust pcrel disassembly.
* gas/ms1/ms1-16-003.s: Tweak label.
* gas/ms1/ms1.exp: Adjust target triplet. Add ms2 test.
* gas/ms1/ms2.d, gas/ms1/ms2.s: New.
* gas/ms1/relocs.d: Adjust expected machine name and pcrel
disassembly.
* gas/ms1/relocs.exp: Adjust target triplet.
include:
Add ms2.
* elf/ms1.h (EF_MS1_CPU_MS2): New.
opcodes:
Add ms2.
* ms1-asm.c, ms1-desc.c, ms1-desc.h, ms1-dis.c, ms1-ibld.c,
ms1-opc.c, ms1-opc.h: Regenerated.
2005-11-08 11:15:13 +00:00
Steve Ellcey
49c96104aa
* warning.m4 (AM_BINUTILS_WARNINGS): Default to empty string
...
if compiler is not GCC.
* configure: Regenerate
2005-11-07 22:14:12 +00:00
Steve Ellcey
76f703bfeb
* configure.host (ia64-*-hpux*): Set _LARGEFILE64_SOURCE.
2005-11-07 21:55:14 +00:00
Daniel Jacobowitz
2e6f4fae07
* configure.in: Check for fopen64.
...
* libbfd-in.h (real_fopen): New prototype.
* configure, config.in, libbfd.h: Regenerated.
* bfdio.c (real_fopen): New function.
* opncls.c (bfd_fopen, bfd_fill_in_gnu_debuglink_section): Use it.
* cache.c (bfd_open_file): Likewise.
2005-11-03 16:06:11 +00:00
Thiemo Seufer
6ece8836a6
* elfxx-mips.c (mips_elf_calculate_relocation): Handle only
...
forced local symbols here.
(mips_elf_create_dynamic_relocation): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol): Fix typo in comment.
2005-11-03 11:45:14 +00:00
Alan Modra
3a800eb947
* elf.c (elf_fake_sections): When calculating tbss size, just use
...
the last link_order.
(assign_file_positions_for_segments): Likewise.
* elflink.c (bfd_elf_final_link): Likewise.
(elf_reloc_link_order): Correct comment.
2005-11-03 02:53:38 +00:00
Alan Modra
966972ec70
PR ld/1775
...
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Add required
parentheses.
2005-11-01 22:57:23 +00:00
H.J. Lu
be69087561
2005-10-29 H.J. Lu <hongjiu.lu@intel.com>
...
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerated.
* dep-in.sed: Replace " ./" with " ".
2005-10-29 23:47:42 +00:00
H.J. Lu
9b8181460d
2005-10-29 H.J. Lu <hongjiu.lu@intel.com>
...
* hpux-core.c: Include <machine/reg.h> only if HPUX_CORE is
define.
* osf-core.c: Include <sys/core.h> only if OSF_CORE is defined.
* sco5-core.c: Include <sys/paccess.h> and <sys/region.h> only
if SCO5_CORE is defined.
2005-10-29 23:00:12 +00:00
Mark Kettenis
62d8ad4fd4
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
2005-10-29 21:16:20 +00:00
Joel Brobecker
e9adafe3f3
From Eric Botcazou <botcazou@adacore.com>
...
* coffcode.h (coff_compute_section_file_positions): Fix small
error in preprocessor directives.
2005-10-28 16:25:48 +00:00
Joel Brobecker
cc429f578c
Mostly from Eric Botcazou <botcazou@adacore.com>
...
* rs6000-core.c: ANSIfy all function definitions.
Add missing function prototypes.
(ptr_to_uint): New type.
(rs6000coff_core_p): Use it as intermediate step in casts.
(rs6000coff_core_file_matches_executable_p): Likewise.
* xcoff-target.h (rs6000coff_core_p): Fix prototype.
(rs6000coff_core_file_matches_executable_p): Likewise.
2005-10-28 16:24:35 +00:00
H.J. Lu
74d26813fe
2005-10-28 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/1472
* aoutx.h (NAME (aout, machine_type)): Handle
bfd_mach_sparc_v8plus, bfd_mach_sparc_v8plusa,
bfd_mach_sparc_v8plusb, bfd_mach_sparc_v9, bfd_mach_sparc_v9a
and bfd_mach_sparc_v9b.
2005-10-28 13:50:57 +00:00
Hans-Peter Nilsson
b2efcd3652
PR ld/1567
...
* elf32-cris.c (cris_elf_howto_table) <R_CRIS_32>: Set
complain_on_overflow field to complain_overflow_dont.
2005-10-28 00:29:44 +00:00
Alan Modra
95560129db
PR 973
...
* cache.c (enum cache_flag): New.
(close_one): Save file mtime.
(bfd_cache_lookup): Add flag arg, adjust all users.
(bfd_cache_lookup_worker): Likewise.
(cache_btell): Use CACHE_NO_OPEN and return abfd->where if file
not open.
(cache_bflush): Similarly, and return success of file not open.
(cache_bseek): Use CACHE_NO_SEEK if SEEK_SET or SEEK_END.
(cache_bstat): Use CACHE_NO_SEEK_ERROR.
2005-10-27 05:31:16 +00:00
Alan Modra
182a009999
* bfdwin.c (bfd_get_file_window): Seek into file in place of
...
using bfd_cache_lookup.
2005-10-27 04:06:35 +00:00
Alan Modra
d00967c705
* cache.c (BFD_CACHE_MAX_OPEN): Make private to this file.
...
(bfd_last_cache, bfd_cache_lookup, bfd_cache_lookup_worker): Likewise.
* libbfd-in.h (bfd_cache_lookup_worker, bfd_last_cache): Delete.
* libbfd.h: Regenerate.
2005-10-27 03:36:57 +00:00
Alan Modra
b677b8c0b9
* hppabsd-core.c (hppabsd_core_core_file_p): Use bfd_stat, not fstat.
...
* sco5-core.c (sco5_core_file_p): Likewise.
* trad-core.c (trad_unix_core_file_p): Likewise.
2005-10-27 03:35:30 +00:00
Alan Modra
d0fdd288c7
* cache.c: Reorganize file to avoid forward reference.
2005-10-27 03:22:13 +00:00
Alan Modra
3dff57e847
* cache.c (bfd_cache_lookup_worker): Don't abort on failing to
...
reopen file.
(cache_btell, cache_bseek, cache_bflush, cache_bstat): Return -1 on
bfd_cache_lookup failure.
(cache_bread, cache_bwrite): Return 0 on the same.
* bfdwin.c (bfd_get_file_window): Likewise.
* hppabsd-core.c (hppabsd_core_core_file_p): Likewise.
* sco5-core.c (sco5_core_file_p): Likewise.
* trad-core.c (trad_unix_core_file_p): Likewise.
2005-10-26 12:17:42 +00:00
Alan Modra
d53e85d8ff
* cache.c (bfd_cache_lookup_worker): Use bfd_error_handler
...
rather than bfd_perror. Print file name. Internationalise.
2005-10-26 07:38:25 +00:00
Alan Modra
5c91cdfb25
* cache.c (bfd_open_file): Set bfd_error_system_call on failure
...
to open file.
(bfd_cache_lookup_worker): Remove check that file pos is in
unsigned long range. Print system error before aborting.
2005-10-26 04:29:53 +00:00
Nick Clifton
3c9b82baee
Add support for the Z80 processor family
2005-10-25 17:40:19 +00:00
Alan Modra
fcfa13d2b2
PR ld/1540
...
* elf-bfd.h (elf_backend_copy_indirect_symbol): Replace pointer to
elf_backend_data with pointer to bfd_link_info.
(_bfd_elf_link_hash_copy_indirect): Likewise.
* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Handle
direct and indirect symbols both having dynamic link info.
* elf32-arm.c (elf32_arm_copy_indirect_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
* elf32-m32r.c (m32r_elf_copy_indirect_symbol): Likewise.
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
* elflink.c: Adjust all calls to bed->elf_backend_copy_indirect_symbol.
* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Update prototype.
* elfxx-sparc.h (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
2005-10-25 16:19:08 +00:00
Alan Modra
3caac5b897
Regenerate
2005-10-25 02:20:17 +00:00
Jie Zhang
9ba4c44513
bfd/
...
* elf32-bfin.c (bfd_bfin_elf32_create_embedded_relocs): Fix signedness
warning.
gas/
* Makefile.am (bfin-parse.h): Renamed from bfin-parse.tab.h.
(EXTRA_DIST): Add bfin-parse.h and bfin-lex.c.
* Makefile.in: Regenerate.
* config/bfin-lex.l: Include bfin-parse.h instead of bfin-parse.tab.h.
* config/tc-bfin.c (md_chars_to_number): Change the type of first
argument from unsigned char * to char * to remove signedness warnings.
2005-10-24 16:31:22 +00:00
Jie Zhang
f470759536
* elf32-bfin.c (bfin_howto_table): Set src_mask to 0 for all relocs.
...
(bfin_imm16_reloc): Always add in the addend. Don't fetch existing
contents from section.
(bfin_relocate_section): Rework so as to not call special_functions.
Handle the relocation stack here. Treat pcrel24 relocs specially.
2005-10-24 14:25:13 +00:00
Alan Modra
f02571c5d9
* elflink.c (elf_link_input_bfd): Don't use linker_mark and
...
SEC_EXCLUDE to test for sections dropped from output. Instead,
use bfd_section_removed_from_list on normal sections. Don't
attempt to handle symbols with unknown reserved section indices.
* linker.c (_bfd_generic_link_output_symbols): Don't use
linker_mark to test for symbols belonging to dropped sections.
Do allow absolute symbols.
2005-10-24 11:24:31 +00:00
Alan Modra
3e45f319ea
* elf32-i370.c (i370_elf_fake_sections): Don't set SHF_EXCLUDE on
...
group sections.
2005-10-24 11:18:03 +00:00
Jan Beulich
6a2375c6b2
include/opcode/
...
2005-10-24 Jan Beulich <jbeulich@novell.com>
* ia64.h (enum ia64_opnd): Move memory operand out of set of
indirect operands.
bfd/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* cpu-ia64-opc.c (elf64_ia64_operands): Move memory operand out of
set of indirect operands.
gas/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (enum reg_symbol): Delete IND_MEM.
(dot_rot): Change type of num_* variables. Check for positive count.
(ia64_optimize_expr): Re-structure.
(md_operand): Check for general register.
gas/testsuite/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* gas/ia64/index.[sl]: New.
* gas/ia64/rotX.[sl]: New.
* gas/ia64/ia64.exp: Run new tests.
opcodes/
2005-10-24 Jan Beulich <jbeulich@novell.com>
* ia64-asmtab.c: Regenerate.
2005-10-24 07:42:50 +00:00
Alan Modra
d30e8e7c0e
* elf32-ppc.c (ppc_elf_fake_sections): Don't set SHF_EXCLUDE on
...
group sections.
2005-10-24 04:32:50 +00:00
H.J. Lu
60b488501c
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
...
* coff-rs6000.c (rs6000coff_vec): Initialize
_bfd_init_private_section_data with
_bfd_generic_init_private_section_data.
(pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
(aix5coff64_vec): Likewise.
2005-10-24 02:50:27 +00:00
H.J. Lu
ccd2ec6a87
bfd/
...
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* elf-bfd.h (_bfd_generic_init_private_section_data): New.
(_bfd_elf_init_private_section_data): New.
* elf.c (elf_fake_sections): Don't set SHF_GROUP for
relocatable link.
(bfd_elf_set_group_contents): Don't handle relocatable link
specially.
(assign_section_numbers): If it isn't called by assembler,
use the output section of elf_linked_to_section for
SHF_LINK_ORDER.
(_bfd_elf_init_private_section_data): New.
(_bfd_elf_copy_private_section_data): Call it.
* libbfd-in.h (_bfd_generic_init_private_section_data): New.
* libbfd.c (_bfd_generic_init_private_section_data): New.
* targets.c (BFD_JUMP_TABLE_COPY): Add
_bfd_generic_init_private_section_data.
(bfd_init_private_section_data): Likewise.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
ld/
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
bfd_match_sections_by_type to match section types.
* ldlang.c (init_os): Take the input section. Call
bfd_init_private_section_data if the input section isn't NULL.
(exp_init_os): Pass NULL to init_os.
(map_input_to_output_sections): Likewise.
(lang_add_section): Pass the input section to init_os.
ld/testsuite/
2005-10-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1487
* ld-ia64/tlspic.rd: Updated.
2005-10-24 01:40:58 +00:00
Alan Modra
60124e1830
* elf64-ppc.c (dec_dynrel_count): Don't report errors for local
...
syms in gc'd sections.
(ppc64_elf_edit_opd): Don't adjust reloc counts when NO_OPD_RELOCS.
(elf_backend_action_discarded): Define.
(ppc64_elf_action_discarded): New function.
2005-10-23 13:12:09 +00:00
Nick Clifton
44444f50d6
* elf32-arm.c (find_arm_elf_section_entry): New function.
...
(get_arm_elf_section_data): Use it.
(unrecord_section_with_arm_elf_section_data): Use it.
2005-10-19 15:40:23 +00:00
H.J. Lu
66b920dc13
2005-10-15 H.J. Lu <hongjiu.lu@intel.com>
...
* coff-rs6000.c (rs6000coff_vec): Initialize
_bfd_match_sections_by_type with
_bfd_generic_match_sections_by_type.
(pmac_xcoff_vec): Likewise.
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
(aix5coff64_vec): Likewise.
2005-10-15 15:38:12 +00:00
H.J. Lu
ecca98713a
bfd/
...
2005-10-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1467
* elf-bfd.h (_bfd_elf_match_sections_by_type): New.
(_bfd_generic_match_sections_by_type): New. Defined.
* elf.c (_bfd_elf_match_sections_by_type): New.
* libbfd-in.h (_bfd_generic_match_sections_by_type): New.
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
* libbfd.c (_bfd_generic_match_sections_by_type): New.
* targets.c (BFD_JUMP_TABLE_LINK): Initialize
_bfd_match_sections_by_type with
_bfd_generic_match_sections_by_type.
(bfd_target): Add _bfd_match_sections_by_type.
ld/
2005-10-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1467
* emultempl/elf32.em: Include "elf-bfd.h".
(gld${EMULATION_NAME}_place_orphan): Check section type and
don't use section name for ELF input sections.
* ld.texinfo: Document orphan section processing.
* ldlang.c (lang_output_section_find_by_flags): Match section
types by calling bfd_match_sections_by_type.
2005-10-15 14:57:55 +00:00
Paul Brook
ee065d83ee
2005-10-08 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf32-arm.c: Move #include "elf/arm.h" after libbfd.h.
(NUM_KNOWN_ATTRIBUTES): Define.
(aeabi_attribute, aeabi_attribute_list): Define.
(elf32_arm_obj_tdata): Add known_eabi_attributes and
other_eabi_attributes.
(uleb128_size, is_default_attr, eabi_attr_size,
elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int,
elf32_arm_add_eabi_attr_compat, copy_eabi_attributes,
elf32_arm_merge_eabi_attributes): New functions.
(elf32_arm_copy_private_bfd_data): Copy EABI object attributes.
(elf32_arm_fake_sections): Handle .ARM.attributes.
(elf32_arm_parse_attributes): New function.
(elf32_arm_section_from_shdr): Use it.
(bfd_elf32_bfd_final_link): Define.
gas/
* config/tc-arm.c: Don't provide fallback default for CPU_DEFAULT.
(arm_arch_used, thumb_arch_used, selected_cpu, selected_cpu_name):
New variables.
(arm_cpu_option_table): Add canonical_name.
(arm_cpus): Populate canonical_name field.
(s_arm_eabi_attribute, s_arm_arch, s_arm_cpu, s_arm_fpu,
aeabi_set_public_attributes, arm_md_end): New functions.
(md_pseudo_table): Add "cpu", "arch", "fpu" and "eabi_attribute".
(md_assemble): Set thumb_arch_used and arm_arch_used.
(md_begin): Set defaut cpu if CPU_DEFAULT not defined.
* config/tc-arm.h (md_end): Define.
* doc/c-arm.texi: Document .cpu, .arch, .fpu and .eabi_attribute.
gas/testsuite/
* gas/arm/eabi_attr_1.s: New test.
* gas/arm/eabi_attr_1.d: New test.
* gas/arm/arm7t.d: Only disassemble code sections.
* gas/arm/bignum1.d: Ignore Arm object attribute sections.
* gas/arm/mapping.d: Ditto.
* gas/arm/unwind.d: Ditto.
* gas/elf/section0.d: Ditto.
* gas/elf/section1.d: Ditto.
* gas/elf/elf.exp: Set target_machine for Arm EABI based targets.
* gas/elf/section2.e-armeabi: New file.
include/elf/
* arm.h: Add prototypes for BFD object attribute routines.
ld/testsuite/
* ld-arm/arm-rel31.d: Ignore Arm object attribute sections.
* ld-arm/arm-target1-abs.d: Ditto.
* ld-arm/arm-target1-rel.d: Ditto.
* ld-arm/arm-target2-abs.d: Ditto.
* ld-arm/arm-target2-got-rel.d: Ditto.
* ld-arm/arm-target2-rel.d: Ditto.
2005-10-08 17:07:19 +00:00
Daniel Jacobowitz
6edfbbad08
bfd/
...
* elf32-arm.c (elf32_arm_check_relocs): Avoid aliasing warnings from
GCC.
(elf32_arm_size_dynamic_sections): Likewise.
* ecofflink.c (bfd_ecoff_debug_one_external): Likewise.
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
(elf_s390_size_dynamic_sections): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count)
(ppc64_elf_size_dynamic_sections): Likewise.
* elf64-s390.c (elf_s390_check_relocs): Likewise.
(elf_s390_size_dynamic_sections): Likewise.
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
(_bfd_sparc_elf_size_dynamic_sections): Likewise.
* ieee.c (ieee_slurp_section_data): Likewise.
* oasys.c (oasys_slurp_section_data): Likewise.
opcodes/
* ppc-dis.c (struct dis_private): Remove.
(powerpc_dialect): Avoid aliasing warnings.
(print_insn_big_powerpc, print_insn_little_powerpc): Likewise.
2005-10-06 19:21:14 +00:00
Bob Wilson
1b74d0942e
* archive.c: Add missing SUBSECTION for documentation.
...
* bfd.c: Likewise.
* cache.c: Likewise.
* corefile.c: Likewise.
* format.c: Likewise.
* init.c: Likewise.
* libbfd.c: Likewise.
* opncls.c: Likewise.
* elf.c: Remove blank line after SECTION heading.
* reloc.c: Change "howto manager" SECTION to a SUBSECTION.
2005-10-05 21:24:23 +00:00
Nick Clifton
bd4aae00cc
* elf32-arm.c (get_arm_elf_section_data): Cache the last pointer matched so
...
that the typical case of scanning for the previous section to last one can be
handled quickly.
2005-10-04 07:23:50 +00:00
Bob Wilson
d638e0acb3
* elf32-xtensa.c (relocations_reach): Skip range check for
...
absolute literals.
2005-10-03 21:49:17 +00:00
Alan Modra
65a7a66f3a
* elf.c (_bfd_elf_get_synthetic_symtab): Set BSF_GLOBAL on
...
synthetic syms.
2005-10-03 03:41:56 +00:00
H.J. Lu
5d038dee61
2005-09-30 H.J. Lu <hongjiu.lu@intel.com>
...
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
2005-09-30 18:38:50 +00:00
Catherine Moore
0f64bb0271
* Makefile.am: Bfin support.
...
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* archures.c (bfd_mach_bfin): New.
(bfd_arch_bfin): New.
bfd-in.h (bfd_bfin_elf32_create_embedded_relocs): New.
* bfd-in2.h: Regenerated.
* config.bfd: Bfin support.
* configure: Regenerated.
* configure.in: Bfin support.
* libbfd.h: Regenerated.
* reloc.c: Add BFD relocations for Bfin.
* targets.c (bfd_elf32_bfin_vec): New.
* cpu-bfin.c: New file.
* elf32-bfin.c: New file.
2005-09-30 15:36:41 +00:00
Alan Modra
7fe2b9a6a6
* elf64-ppc.c (ppc_type_of_stub): Check both func desc and func
...
entry sym before deciding no stub is needed.
(ppc64_elf_size_stubs): When calculating branch destination,
don't use func desc sym for old ABI objects unless func entry
is undefined.
2005-09-30 07:32:50 +00:00
H.J. Lu
dd86362472
2005-09-28 H.J. Lu <hongjiu.lu@intel.com>
...
PR binutils/1321
* elf-bfd.h (_bfd_elf_setup_group_pointers): Renamed to ...
(_bfd_elf_setup_sections): This.
* elf.c: Likewise.
* elfcode.h (elf_object_p): Likewise.
* elf.c (_bfd_elf_setup_sections): Process SHF_LINK_ORDER.
(_bfd_elf_copy_private_section_data): Likewise.
2005-09-28 14:53:24 +00:00
H.J. Lu
d33cdfe369
2005-09-28 H.J. Lu <hongjiu.lu@intel.com>
...
* elflink.c (elf_fixup_link_order): Report locations for mixed
ordered and unordered input sections.
2005-09-28 14:52:02 +00:00
Jim Wilson
c955f9cdcb
Fix addr2line -i problem; reports incorrect function nesting for inline funcs.
...
* dwarf2.c (struct funcinfo): Delete nesting_level field.
(lookup_address_in_function_table): Delete code to set funcinfo
caller_func field. Delete local curr_func.
(scan_unit_for_symbols): New locals nested_funcs, nested_funcs_size.
Delete code setting funcinfo nesting_level field. Add code to set
funcinfo caller_func field.
2005-09-22 19:50:27 +00:00
Jim Wilson
d5cbaa1554
Add mangled names to addr2line -i output.
...
* dwarf2.c (find_abstract_instance_name): Don't early exit when name
set. For DW_AT_name case, only set name if not already set. Handle
DW_AT_MIPS_linkage_name.
2005-09-20 18:13:32 +00:00
Alan Modra
707bba77b5
* elflink.c (_bfd_elf_merge_symbol): Simplify.
2005-09-19 23:30:05 +00:00
Alan Modra
5c3dead3ce
* elf64-ppc.c (ppc_build_one_stub): Replace assertion that long
...
branch offset is in range with an error. Print full stub name on
errors.
(ppc_size_one_stub): Print full stub name on errors.
(group_sections): Warn if section size exceeds group size.
(ppc64_elf_size_stubs): Continue relaxing when stub types change.
2005-09-19 09:35:26 +00:00
Kevin Buettner
6cfda9479f
* elf32-am33lin.c (bfd.h, sysdep.h, elf-bfd.h, elf/mn10300.h):
...
Include.
(elf32_am33lin_grok_prstatus, elf32_am33lin_grok_psinfo): New
functions.
(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
2005-09-09 18:26:03 +00:00
Richard Earnshaw
0951f0190e
* elf32-arm.c (elf32_arm_section_from_shdr): Accept SHT_ARM_PREEMPTMAP
...
and SHT_ARM_ATTRIBUTES.
2005-09-09 13:10:01 +00:00
H.J. Lu
e04bcc6d65
2005-09-08 H.J. Lu <hongjiu.lu@intel.com>
...
* elflink.c (elf_get_linked_section_vma): Fix a typo in comment.
* elfxx-ia64.c (elf_backend_link_order_error_handler): Likewise.
2005-09-09 05:11:51 +00:00
H.J. Lu
92fd189de1
2005-09-08 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/1263
* elflink.c (elf_link_add_object_symbols): Abort for
--just-symbols on DSO.
2005-09-08 14:24:22 +00:00
Paul Brook
3eb17e6bd2
2005-09-08 Paul Brook <paul@codesourcery.com>
...
bfd/
* reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
opcodes/
* arm-dis.c (arm_opcodes, thumb32_opcodes): Rename smi to smc.
gas/
* config/tc-arm.c (do_smi, do_t_smi): Rename ...
(do_smc, do_t_smc): ... to this.
(insns): Remane smi to smc.
(md_apply_fix, tc_gen_reloc): Rename BFD_RELOC_ARM_SMI to
BFD_RELOC_ARM_SMC.
gas/testsuite/
* gas/arm/arch6zk.d: Rename smi to smc.
* gas/arm/arch6zk.s: Ditto.
* gas/arm/thumb32.d: Ditto.
* gas/arm/thumb32.s: Ditto.
2005-09-08 12:49:27 +00:00
H.J. Lu
68f49ba335
2005-09-06 H.J. Lu <hongjiu.lu@intel.com>
...
PR ld/1301
* elflink.c (_bfd_elf_merge_symbol): Don't check undefined
symbol introduced by "ld -u" for TLS.
2005-09-07 05:01:16 +00:00