OSDN Git Service
Joern Rennecke [Mon, 9 Mar 2009 21:07:42 +0000 (21:07 +0000)]
file arc-asm.c was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 21:07:42 +0000 (21:07 +0000)]
file ChangeLog.codito was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 21:07:39 +0000 (21:07 +0000)]
file MANIFEST was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 20:36:11 +0000 (20:36 +0000)]
file arc.h was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 20:36:06 +0000 (20:36 +0000)]
file sh-sim.cpu was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 20:36:06 +0000 (20:36 +0000)]
file arc.opc was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 20:36:06 +0000 (20:36 +0000)]
file arc.cpu was initially added on branch arc-insight_6_8-branch.
Joern Rennecke [Mon, 9 Mar 2009 20:36:06 +0000 (20:36 +0000)]
file ARCompact.cpu was initially added on branch arc-insight_6_8-branch.
H.J. Lu [Mon, 9 Mar 2009 18:33:42 +0000 (18:33 +0000)]
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR gas/9915
* config/tc-i386.h (LOCAL_LABELS_DOLLAR): New. Defined as 0.
(LOCAL_LABELS_FB): Undefine befoe define.
Alan Modra [Mon, 9 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 8 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Dave Anglin [Sat, 7 Mar 2009 23:42:28 +0000 (23:42 +0000)]
* ld-elf/empty2.d: Remove xfail for hppa*-*-*.
* ld-elf/merge.d: Change xfail for hppa to hppa*64*-*-*.
Dave Anglin [Sat, 7 Mar 2009 23:38:13 +0000 (23:38 +0000)]
PR binutils/9921
* som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
for unknown symbols in absolute section.
Alan Modra [Sat, 7 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Cary Coutant [Fri, 6 Mar 2009 23:12:37 +0000 (23:12 +0000)]
* options.cc (parse_short_option): Keep dash_z from registering itself.
Nick Clifton [Fri, 6 Mar 2009 12:14:40 +0000 (12:14 +0000)]
Updated Spanish translations.
Christophe Lyon [Fri, 6 Mar 2009 08:57:58 +0000 (08:57 +0000)]
09-03-05 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (group_sections): Take next section size into
account before accepting to group it.
testsuite/
* ld-arm/arm-elf.exp: Add new farcall-group-limit test.
* ld-arm/farcall-group-limit.d: New file.
* ld-arm/farcall-group3.s: New file.
* ld-arm/farcall-group4.s: New file.
Alan Modra [Fri, 6 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Christophe Lyon [Thu, 5 Mar 2009 17:28:21 +0000 (17:28 +0000)]
2009-03-05 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (arm_type_of_stub): Handle long branches targetting
PLT entries.
(elf32_arm_final_link_relocate): Likewise.
testsuite/
* ld-arm/arm-elf.exp: Add 2 more tests to check long branch stubs
in PLT context.
* ld-arm/farcall-mixed-app-v5.d: New file.
* ld-arm/farcall-mixed-app.d: Likewise.
* ld-arm/farcall-mixed-app.r: Likewise.
* ld-arm/farcall-mixed-app.s: Likewise.
* ld-arm/farcall-mixed-app.sym: Likewise.
* ld-arm/farcall-mixed-lib.d: Likewise.
* ld-arm/farcall-mixed-lib.r: Likewise.
Nick Clifton [Thu, 5 Mar 2009 16:31:50 +0000 (16:31 +0000)]
* objdump.c (disassemble_section): If the computed next offset is
not beyond the current offset then just continue to the end.
Joseph Myers [Thu, 5 Mar 2009 15:27:59 +0000 (15:27 +0000)]
gas:
* read.c (s_fill, s_space, s_float_space, float_cons, stringer,
s_incbin): Call md_cons_align (1).
gas/testsuite:
* gas/arm/mapmisc.d, gas/arm/mapmisc.dat, gas/arm/mapmisc.s: New.
Alan Modra [Thu, 5 Mar 2009 01:04:56 +0000 (01:04 +0000)]
PR 9923
* peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
Alan Modra [Thu, 5 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Nick Clifton [Wed, 4 Mar 2009 16:15:43 +0000 (16:15 +0000)]
* config/tc-alpha.c (alpha_prologue_label): Only define for ELF
based targets.
(s_alpha_comm): Only define "temp" and "log_align" local variables
for EVAX targets.
Tristan Gingold [Wed, 4 Mar 2009 15:18:41 +0000 (15:18 +0000)]
2009-03-04 Tristan Gingold <gingold@adacore.com>
* MAINTAINERS: Add myself as VMS maintainer.
Ian Lance Taylor [Wed, 4 Mar 2009 06:46:27 +0000 (06:46 +0000)]
PR 9918
* target-reloc.h (relocate_section): Pass output_section to
relocate.
* i386.cc (Target_i386::should_apply_static_reloc): Add
output_section parameter. Change all callers.
(Target_i386::Relocate::relocate): Add output_section parameter.
* x86_64.cc (Target_x86_64::Relocate::relocate): Likewise.
* sparc.cc (Target_sparc::Relocate::relocate): Likewise.
* powerpc.cc (Target_powerpc::Relocate::relocate): Likewise.
* testsuite/two_file_shared.sh: New script.
* testsuite/Makefile.am (check_SCRIPTS): Add two_file_shared.sh.
(check_DATA): Add two_file_shared.dbg.
(two_file_shared.dbg): New target.
* testsuite/Makefile.in: Rebuild.
Alan Modra [Wed, 4 Mar 2009 05:50:50 +0000 (05:50 +0000)]
include/elf/
* ppc.h (R_PPC_TLSGD, R_PPC_TLSLD): Add new relocs.
* ppc64.h (R_PPC64_TLSGD, R_PPC64_TLSLD): Add new relocs.
bfd/
* reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
* section.c (struct bfd_section): Add has_tls_get_addr_call.
(BFD_FAKE_SECTION): Init new flag.
* ecoff.c (bfd_debug_section): Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
(ppc_elf_reloc_type_lookup): Handle new relocs.
(ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
without marker relocs.
(ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
if section has no old-style calls.
(ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
Don't try to optimize new-style __tls_get_addr call when handling
arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
relocs.
* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
(ppc64_elf_reloc_type_lookup): Handle new relocs.
(ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
without marker relocs.
(ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
if section has no old-style calls. Set toc_ref for new relocs as
appropriate.
(ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
Don't try to optimize new-style __tls_get_addr call when handling
arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
relocs.
gas/
* config/tc-ppc.c (ppc_elf_suffix): Error if ppc32 tls got relocs
have non-zero addend.
(md_assemble): Parse args of __tls_get_addr calls.
(md_apply_fix): Handle BFD_RELOC_PPC_TLSGD and BFD_RELOC_PPC_TLSLD.
ld/testsuite/
* ld-powerpc/tlsmark.s, * ld-powerpc/tlsmark.d: New test.
* ld-powerpc/tlsmark32.s, * ld-powerpc/tlsmark32.d: New test.
* ld-powerpc/powerpc.exp: Run them.
Alan Modra [Wed, 4 Mar 2009 02:10:34 +0000 (02:10 +0000)]
bfd/
PR 6768
* configure.in: Test for ld --as-needed support. Link shared
libbfd against libm.
* configure: Regenerate.
opcodes/
PR 6768
* configure.in: Test for ld --as-needed support. Link shared
libopcodes against libm.
* configure: Regenerate.
Alan Modra [Wed, 4 Mar 2009 01:16:15 +0000 (01:16 +0000)]
missing from make dep-am commit
Peter Bergner [Wed, 4 Mar 2009 01:00:53 +0000 (01:00 +0000)]
opcodes/
* ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
instructions from newer processors are listed before older ones.
Alan Modra [Wed, 4 Mar 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Dave Anglin [Tue, 3 Mar 2009 23:27:13 +0000 (23:27 +0000)]
* config/hppa.sed: Fix spelling.
Dave Anglin [Tue, 3 Mar 2009 23:21:52 +0000 (23:21 +0000)]
binutils/3807
* config/tc-hppa.h (tc_frob_symbol): Don't frob absolute symbols with
local scope for ELF targets.
Alan Modra [Tue, 3 Mar 2009 23:15:04 +0000 (23:15 +0000)]
* config/tc-ppc.c (md_assemble): APUinfo only for e500.
Dave Korn [Tue, 3 Mar 2009 18:22:11 +0000 (18:22 +0000)]
* emultempl/pe.em (debug_section_p): New bfd_map_over_sections hook.
(gld_${EMULATION_NAME}_after_open): Use it to iterate all sections
of all input BFDs, looking for debug info. Enable long section names
if any found.
* emultempl/pe.em (debug_section_p): Likewise.
(gld_${EMULATION_NAME}_after_open): Likewise.
* NEWS: Retrospectively adjust news announcement.
* ld.texinfo: Update documentation to mention new behaviour.
Tristan Gingold [Tue, 3 Mar 2009 10:04:58 +0000 (10:04 +0000)]
2009-03-03 Tristan Gingold <gingold@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
Douglas B Rupp <rupp@gnat.com>
* doc/as.texinfo (Overview): Mention -replace/-noreplace options
for Alpha.
* doc/c-alpha.texi (Alpha Options): Document -replace/-noreplace.
* config/tc-alpha.h (TC_VALIDATE_FIX_SUB): Define to 1 (evax).
(OBJ_SYMFIELD_TYPE): Remove.
(tc_canonicalize_symbol_name): Define to evax_shorten_name.
(TC_IMPLICIT_LCOMM_ALIGNMENT): For alignment to 3 on evax.
(tc_frob_file_before_fix): Do not defined on evax.
* config/tc-alpha.c: Always includes dwarf2dbg.h.
Include vms.h if OBJ_EVAX.
(struct alpha_fixup): Add xtrasym and procsym (evax only).
(enum alpha_macro_arg): Remove trailing comma.
(md_longopts): Add replace and noreplace arguments (evax only).
(alpha_evax_proc_hash): New variable.
(alpha_link_section): Make it global.
(alpha_ctors_section, alpha_dtors_section): Removed.
(alpha_ctors_symbol, alpha_dtors_symbol): Ditto.
(alpha_lit8_section): Ifndef'ed on evax.
(alpha_lit8_symbol): Ditto.
(alpha_prologue_label): New variable.
(alpha_linkage_symbol): New variable (evax only).
(alpha_flag_replace): Ditto.
(struct alpha_evax_procs): Add handler and handler_data field.
(alpha_evax_proc): Now of type pointer.
(alpha_linkage_fixup_root, alpha_linkage_fixup_tail): New variables.
(struct alpha_reloc_tag): Add sym and psym fields (evax only).
(get_alpha_reloc_tag): Initialize sym and psym fields (evax only).
(alpha_adjust_relocs): Ifndef'ed on evax.
(load_expression): Add opname argument.
Implement LDA/BSR optimization for evax.
(emit_lda): Adjust for new prototype of load_expression.
(emit_ir_load): Ditto. Do not nothing for GP if ..lk symbols.
(emit_loadstore): Likewise.
(emit_ldXu): Likewise.
(emit_stX): Likewise.
(emit_jsrjmp): Likewise. Implement LDA/BSR optimization for evax.
(emit_ldgp): Avoid warning in evax case.
(add_to_link_pool): Make it static. Return symbolic expression rather
than number expression for the offset.
(s_alpha_text): Create .text symbol for evax if not already created.
(s_alpha_comm): Do not create specific section for common symbol.
Fill common area with zeros for evax.
(s_alpha_prologue): Create alpha_prologue_label.
(s_alpha_section_name): New function (evax).
(s_alpha_section_word): Likewise.
(section_name): New static variabke moved out from ...
(s_alpha_section): ... here. Create new sections on demand.
(s_alpha_literals): New function (evax).
(s_alpha_ent): Create alpha_evax_proc instance and insert it in the
alpha_evax_proc_hash table.
(s_alpha_handler): New function (evax).
(s_alpha_frame): Adjust for new type of alpha_evax_proc.
(s_alpha_prologue): New function (evax).
(s_alpha_pdesc): Adjust for new type of alpha_evax_proc and new
handling of procedures with hash table.
Add support for condition handlers.
(s_alpha_linkage): Create linkage_fixup instance and chain it.
(s_alpha_fp_save): Adjust for new type of alpha_evax_proc.
(s_alpha_mask): Likewise.
(s_alpha_fmask): Likewise.
(s_alpha_end): Clear alpha_evax_proc.
(s_alpha_align): Increase max_alignment to 16.
(alpha_print_token): Call print_expr_1 instead of print_expr.
(md_pseudo_table): Add "section", "literals", "handler" and
"handler_data" (evax). Do not ignore "prologue" on evax.
Fix indentation.
(md_begin): Create hash table for alpha_evax_proc_hash.
(md_parse_option): Handle OPTION_REPLACE and OPTION_NOREPLACE.
(md_show_usage): Mention -replace/-noreplace for evax.
(md_apply_fix): Handle evax relocs (_NOP, _LDA, _BSR and _BOH).
(alpha_force_relocation): Likewise.
(alpha_fix_adjustable): Likewise. Add BFD_RELOC_16 case.
(tc_gen_reloc): Likewise. Add BFD_RELOC_ALPHA_LINKAGE for evax.
(emit_insn): New cases for evax specific relocs.
(assemble_insn): Fix indentation.
Take care of -MDISP in operand table.
* config/obj-evax.h (struct alpha_linkage_fixups): New struct.
(OBJ_SYMFIELD_TYPE): New macro.
(obj_symbol_new_hook): Define.
(obj_frob_symbol, obj_frob_file_before_adjust): Ditto.
(obj_frob_file_before_fix): Ditto.
(PDSC_S_M_HANDLER_VALID): New macro.
(PDSC_S_M_HANDLER_DATA_VALID): Ditto.
(TC_IMPLICIT_LCOMM_ALIGNMENT): Remove.
Add prototypes for functions declared in obj-evax.c
* config/obj-evax.c: Include subsegs.h, struc-symbol.h, safe-ctype.h.
(s_evax_weak): Convert to ansi-C.
(evax_symbol_new_hook): New function.
(evax_frob_symbol): Ditto.
(evax_frob_file_before_adjust): Ditto.
(evax_frob_file_before_fix): Ditto.
(evax_shorten_name): Ditto.
(crc32): Ditto.
(encode_32): Ditto.
(encode_16): Ditto.
(decode_16): Ditto.
(shorten_identifier): Ditto.
(is_truncated_identifier): Ditto.
* dwarf2dbg.c (out_debug_info): Do not append trailing slash on VMS.
* as.c (close_output_file): Remove #ifndef OBJ_VMS.
(main): Ditto.
Nick Clifton [Tue, 3 Mar 2009 08:30:33 +0000 (08:30 +0000)]
Update formatting.
Alan Modra [Tue, 3 Mar 2009 02:41:14 +0000 (02:41 +0000)]
make dep-am and regen
opcodes/
* Makefile.am (HFILES): Move lm32-desc.h and lm32-opc.h from..
(CFILES): ..here.
Alan Modra [Tue, 3 Mar 2009 01:27:15 +0000 (01:27 +0000)]
* objdump.c (disassemble_section): Mask address before sign extending.
Alan Modra [Tue, 3 Mar 2009 00:00:07 +0000 (00:00 +0000)]
daily update
Dave Anglin [Mon, 2 Mar 2009 23:33:02 +0000 (23:33 +0000)]
* binutils-all/localize-hidden-1.s: Change .equ to .set.
* binutils-all/localize-hidden-2.s: Likewise.
Nick Clifton [Mon, 2 Mar 2009 17:27:36 +0000 (17:27 +0000)]
* ldgram.y: Add support for REGION_ALIAS operator.
* ldlang.c: Likewise.
* ldlang.h: Likewise.
* ldlex.l: Likewise.
* NEWS: Mention the new feature.
* ld.texinfo: Document the new feature.
* ld-scripts/regions-alias-1.t: New file.
* ld-scripts/regions-alias-2.t: New file.
* ld-scripts/regions-alias-3.t: New file.
* ld-scripts/regions-alias-4.t: New file.
* ld-scripts/script.exp: Run region alias tests.
Nick Clifton [Mon, 2 Mar 2009 16:18:54 +0000 (16:18 +0000)]
* ieee.c (parse_ieee_ty): Add support for undocumented 'v' type.
(parse_ieee_bb): Set the filename if it has not already been
discovered.
Nick Clifton [Mon, 2 Mar 2009 16:06:50 +0000 (16:06 +0000)]
* readelf.c (adjust_relative_path): New function.
(struct archive_info): New type.
(setup_archive): New function.
(release_archive): New function.
(setup_nested_archive): New function.
(get_archive_member_name): New function.
(get_archive_member_name_at): New function.
(make_qualified_name): New function.
(process_archive): Factor out code for reading archive index and
long filename table to setup_archive. Add support for thin archives.
Nick Clifton [Mon, 2 Mar 2009 14:47:38 +0000 (14:47 +0000)]
PR 9874
* config/tc-ia64.c (fix_insn): Fix warning reported by
-Wformat-security.
Nick Clifton [Mon, 2 Mar 2009 14:42:47 +0000 (14:42 +0000)]
* po/sk.po: Updated Slovak translation.
Nick Clifton [Mon, 2 Mar 2009 10:33:08 +0000 (10:33 +0000)]
Add support for Score7 architecture.
Ian Lance Taylor [Mon, 2 Mar 2009 02:45:29 +0000 (02:45 +0000)]
elfcpp:/
* elfcpp_swap.h: #include "config.h". Only #include <byteswap.h>
if HAVE_BYTESWAP_H is defined; if not, provide definitions for
bswap_{16,32,64}. For gcc 4.3 and later, use the builtin bswap
functions. Check WORDS_BIGENDIAN rather than __BYTE_ORDER.
gold:/
* configure.ac: Check for byteswap.h.
* configure: Rebuild.
* config.in: Rebuild.
Mark Mitchell [Mon, 2 Mar 2009 00:29:23 +0000 (00:29 +0000)]
* config/tc-arm.c (md_assemble): Allow barrier instructions on
ARMv6-M cores.
* gas/arm/archv6m.s: Add dmb, dsb, and isb.
* gas/arm/archv6m.d: Likewise.
Alan Modra [Mon, 2 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Sun, 1 Mar 2009 22:22:02 +0000 (22:22 +0000)]
* layout.cc (Layout::find_or_add_kept_section): New function.
(Layout::add_comdat): Removed.
* layout.h (struct Kept_section): Move out of class Layout.
Remove trailing underscores from field names. Add group_sections
field. Rename group_ field to is_group. Change all uses.
(class Layout): Declare find_or_add_kept_section, not add_comdat.
* object.cc (Sized_relobj::Sized_relobj): Don't initialize
comdat_groups_ field.
(Sized_relobj::include_section_group): Use
find_or_add_kept_section and Kept_section::group_sections.
(Sized_relobj::include_linkonce_section): Likewise.
* object.cc (class Sized_relobj): Don't define Comdat_group or
Comdat_group_table. Remove find_comdat_group and
add_comdat_group. Remove comdat_groups_ field.
* plugin.cc (include_comdat_group): Use
Layout::find_or_add_kept_section.
Dave Anglin [Sun, 1 Mar 2009 22:10:36 +0000 (22:10 +0000)]
* configure.tgt: Only use elf64hppa target emulation for hpux.
* emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
(SCRIPT_NAME): Use new script elf64hppa.
(SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
TEXT_DYNAMIC): Define.
* emulparams/hppa64linux.sh: Adjust comments.
* scripttempl/elf64hppa.sc: New file.
Ralf Wildenhues [Sun, 1 Mar 2009 18:57:19 +0000 (18:57 +0000)]
Backport from git Libtool:
2009-01-19 Robert Millan <rmh@aybabtu.com>
Support GNU/kOpenSolaris.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize
GNU/kOpenSolaris.
binutils/
* configure: Regenerate.
opcodes/
* configure: Regenerate.
bfd/
* configure: Regenerate.
gas/
* configure: Regenerate.
gprof/
* configure: Regenerate.
ld/
* configure: Regenerate.
Dave Anglin [Sun, 1 Mar 2009 18:15:53 +0000 (18:15 +0000)]
* elf32-hppa.c (hppa32_elf_local_refcounts): New function.
(elf32_hppa_check_relocs): Use it.
Dave Anglin [Sun, 1 Mar 2009 17:08:54 +0000 (17:08 +0000)]
* elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
elf64-hppa.c.
(elf_hppa_unmark_useless_dynamic_symbols): Likewise.
(elf_hppa_remark_useless_dynamic_symbols): Likewise.
(elf_hppa_is_dynamic_loader_symbol): Likewise.
(elf_hppa_record_segment_addrs): Likewise.
(elf_hppa_final_link): Likewise.
(elf_hppa_relocate_insn): Likewise.
(elf_hppa_final_link_relocate): Likewise.
(elf64_hppa_relocate_section): Likewise.
* elf64-hppa.c: Insert above.
Dave Anglin [Sun, 1 Mar 2009 02:10:49 +0000 (02:10 +0000)]
* elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
(elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
(elf_hppa_relocate_section): Likewise.
* elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
from struct elf_link_hash_entry. Add count field.
(struct elf64_hppa_dyn_hash_table): Delete.
(struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
(elf64_hppa_hash_table): Rename to hppa_link_hash_table.
(hppa_elf_hash_entry, eh_name): Define.
(elf64_hppa_new_dyn_hash_entry): Delete.
(elf64_hppa_dyn_hash_lookup): Delete.
(elf64_hppa_dyn_hash_traverse): Delete.
(get_dyn_name): Delete.
(elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
of struct elf64_hppa_dyn_hash_entry *.
(elf64_hppa_finalize_dlt, llocate_global_data_dlt,
allocate_global_data_plt, allocate_global_data_stub,
allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
Likewise.
(hppa64_link_hash_newfunc): New.
(elf64_hppa_hash_table_create): Rework.
(count_dyn_reloc): Likewise.
(hppa64_elf_local_refcounts): New.
(elf64_hppa_check_relocs): Rework using standard technique for recording
local DLT, PLT and OPD reference counts.
(elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
elf_link_hash_entry *.
(elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
allocate_global_data_plt, allocate_global_data_stub,
allocate_global_data_opd, allocate_dynrel_entries,
elf64_hppa_adjust_dynamic_symbol,
elf64_hppa_mark_milli_and_exported_functions): Likewise.
(elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
Use hppa_link_hash_table. Rework.
(elf64_hppa_link_output_symbol_hook): Rework.
(elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
elf64_hppa_finish_dynamic_sections): Likewise.
Alan Modra [Sun, 1 Mar 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Sat, 28 Feb 2009 18:08:30 +0000 (18:08 +0000)]
* README: --gc-sections and map files are now supported. Document
some build requirements.
Ian Lance Taylor [Sat, 28 Feb 2009 17:53:16 +0000 (17:53 +0000)]
PR 6992
* symtab.cc (Symbol_table::sized_write_section_symbol): In a
relocatable link set the value of the section symbol to zero.
* object.cc (Sized_relobj::do_finalize_local_symbols): In a
relocatable link don't include the section address in the local
symbol value.
Ian Lance Taylor [Sat, 28 Feb 2009 04:39:57 +0000 (04:39 +0000)]
PR 6811
* options.h (class Search_directory): Add is_system_directory.
(class General_options): Declare is_in_system_directory.
* options.cc (get_relative_sysroot): Make static.
(get_default_sysroot): Make static.
(General_optoins::is_in_system_directory): New function.
* fileread.cc (Input_file::is_in_system_directory): New function.
* fileread.h (class Input_file): Declare is_in_system_directory.
* object.h (class Object): Add is_in_system_directory.
(class Input_objects): Remove system_library_directory_ field.
* object.cc (Input_objects::add_object): Don't set
system_library_directory_.
(input_objects::found_in_system_library_directory): Remove.
* symtab.cc (Symbol_table::write_globals): Remove input_objects
parameter. Change all callers.
(Symbol_table::sized_write_globals): Likewise.
(Symbol_table::warn_about_undefined_dynobj_symbol): Likewise.
Call Object::is_in_system_directory.
* symtab.h (class Symbol_table): Update declarations.
Ian Lance Taylor [Sat, 28 Feb 2009 03:05:08 +0000 (03:05 +0000)]
PR 5990
* descriptors.h (Open_descriptor): Add is_on_stack field.
* descriptors.cc (Descriptors::open): If the descriptor is on the
top of the stack, remove it. Initialize is_on_stack field.
(Descriptors::release): Only add pod to stack if it is not on the
stack already.
(Descriptors::close_some_descriptor): Clear stack_next and
is_on_stack fields.
Ian Lance Taylor [Sat, 28 Feb 2009 00:12:26 +0000 (00:12 +0000)]
PR 7091
* output.cc (Output_section::find_starting_output_address): Rename
from starting_output_address; add PADDR parameter; change return
type.
* output.h (class Output_section): Declare
find_starting_output_address instead of starting_output_address.
* object.cc (Sized_relobj::do_finalize_local_symbols): Handle a
section symbol for which we can't find a merge section.
Alan Modra [Sat, 28 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Fri, 27 Feb 2009 20:13:04 +0000 (20:13 +0000)]
2009-02-27 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E.
Ian Lance Taylor [Fri, 27 Feb 2009 19:57:46 +0000 (19:57 +0000)]
PR 9836
* symtab.cc (Symbol_table::add_from_object): If the visibility is
hidden or internal, force the symbol to be local.
* resolve.cc (Symbol::override_visibility): Define.
(Symbol::override_base): Use override_visibility.
(Symbol_table::resolve): Likewise.
(Symbol::override_base_with_special): Likewise.
(Symbol_table::override_with_special): If the visibility is hidden
or internal, force the symbol to be local.
* symtab.h (class Symbol): Add set_visibility and
override_visibility.
* testsuite/ver_test_1.sh: New file.
* testsuite/Makefile.am (check_SCRIPTS): Add ver_test_1.sh.
(check_DATA): Add ver_test_1.syms.
(ver_test_1.syms): New target.
* testsuite/Makefile.in: Rebuild.
Dave Korn [Fri, 27 Feb 2009 19:01:57 +0000 (19:01 +0000)]
ld/ChangeLog
* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set
default state of auto-import flag based on $target.
ld/testsuite/ChangeLog
* ld-pe/pe.exp: Disable auto-import when linking on Cygwin.
Alan Modra [Fri, 27 Feb 2009 00:00:08 +0000 (00:00 +0000)]
daily update
Peter Bergner [Thu, 26 Feb 2009 22:07:33 +0000 (22:07 +0000)]
gas/
* config/tc-ppc.c (pre_defined_registers): Add "f32" to "f63",
"f.32" to "f.63", "vs0" to "vs63" and "vs.0" to "vs.63".
(parse_cpu): Extend -mpower7 to accept power7 and isel instructions.
gas/testsuite/
* gas/ppc/e500mc.d ("wait", "waitsrv", "waitimpl"): Add tests.
* gas/ppc/e500mc.s: Likewise.
* gas/ppc/power6.d ("cdtbcd", "cbcdtd", "addg6s"): Add tests.
* gas/ppc/power6.s: Likewise.
* gas/ppc/power7.d ("lfdpx", "mffgpr", "mftgpr"): Remove invalid tests.
("wait", "waitsrv", "waitimpl", "divwe", "divwe.", "divweo", "divweo.",
"divweu", "divweu.", "divweuo", "divweuo.", "bpermd", "popcntw",
"popcntd", "ldbrx", "stdbrx", "lfiwzx", "lfiwzx", "fcfids", "fcfids.",
"fcfidus", "fcfidus.", "fctiwu", "fctiwu.", "fctiwuz", "fctiwuz.",
"fctidu", "fctidu.", "fctiduz", "fctiduz.", "fcfidu", "fcfidu.",
"ftdiv", "ftdiv", "ftsqrt", "ftsqrt", "dcbtt", "dcbtstt", "dcffix",
"dcffix.", "lbarx", "lbarx", "lbarx", "lharx", "lharx", "lharx",
"stbcx.", "sthcx.", "fre", "fre.", "fres", "fres.", "frsqrte",
"frsqrte.", "frsqrtes", "frsqrtes.", "isel"): Add tests.
* gas/ppc/power7.s: Likewise.
* gas/ppc/vsx.d: New test.
* gas/ppc/vsx.s: Likewise.
* gas/ppc/ppc.exp: Run it.
include/opcode/
* ppc.h (PPC_OPCODE_POWER7): New.
opcodes/
* ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
the power7 and the isel instructions.
* ppc-opc.c (insert_xc6, extract_xc6): New static functions.
(insert_dm, extract_dm): Likewise.
(XB6): Update comment to include XX2 form.
(WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
(RemoveXX3DM): Delete.
(powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
"mftgpr">: Deprecate for POWER7.
<"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
"frsqrte.">: Deprecate the three operand form and enable the two
operand form for POWER7 and later.
<"wait">: Extend to accept optional parameter. Enable for POWER7.
<"waitsrv", "waitimpl">: Add extended opcodes.
<"ldbrx", "stdbrx">: Enable for POWER7.
<"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
<"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
"divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
"divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
"divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
"fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
"fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
"lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
<"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
"stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
"xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
"xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
"xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
"xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
"xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
"xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
"xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
"xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
"xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
"xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
"xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
"xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
"xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
"xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
"xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
"xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
"xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
"xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
"xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
"xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
"xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
"xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
"xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
"xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
"xxspltw", "xxswapd">: Add VSX opcodes.
Christophe Lyon [Thu, 26 Feb 2009 15:37:53 +0000 (15:37 +0000)]
2009-02-26 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (stub_reloc_type): Removed.
(insn_sequence): Renamed reloc_type field to r_type.
(elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
(elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
(elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
(elf32_arm_stub_type): Add new enum entries for the new stubs.
(arm_stub_is_thumb): Catch new stubs.
(arm_type_of_stub): Handle new stubs.
(arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
(bfd_elf32_arm_process_before_allocation): Remove useless
condition.
testsuite/
* ld-arm/arm-elf.exp: Add 3 tests for the 3 new stubs.
* ld-arm/farcall-thumb-arm-pic-veneer.d: New expected result, the
test is now expected to pass.
* ld-arm/farcall-thumb-thumb-m-pic-veneer.d: Likewise.
* ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise.
Alan Modra [Thu, 26 Feb 2009 00:00:10 +0000 (00:00 +0000)]
daily update
Cary Coutant [Wed, 25 Feb 2009 19:05:21 +0000 (19:05 +0000)]
* layout.cc (Layout::choose_output_section): Don't rename sections
when using a linker script that has a SECTIONS clause.
* Makefile.in: Regenerate.
* testsuite/Makefile.am (script_test_5.sh): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/script_test_5.cc: New file.
* testsuite/script_test_5.sh: New file.
* testsuite/script_test_5.t: New file.
H.J. Lu [Wed, 25 Feb 2009 18:59:52 +0000 (18:59 +0000)]
2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (fits_in_imm4): Removed.
Tristan Gingold [Wed, 25 Feb 2009 16:50:01 +0000 (16:50 +0000)]
Update contributors list for update of alpha-vms bfd.
(Sorry).
H.J. Lu [Wed, 25 Feb 2009 16:34:10 +0000 (16:34 +0000)]
Remove gas/.
Christophe Lyon [Wed, 25 Feb 2009 16:05:15 +0000 (16:05 +0000)]
2009-02-25 Christophe Lyon <christophe.lyon@st.com>
testsuite/
* ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: Update expected result,
as stubs are now generated and the end of the .text section.
* ld-arm/thumb2-bl-bad-noeabi.d: Likewise.
H.J. Lu [Wed, 25 Feb 2009 14:39:35 +0000 (14:39 +0000)]
2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (elf_find_function): Use is_function_type to check
function symbol.
Alan Modra [Wed, 25 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Dave Anglin [Tue, 24 Feb 2009 23:48:57 +0000 (23:48 +0000)]
* gas/config/tc-hppa.c (pa_ip): Add check of immediate values.
(SAVE_IMMEDIATE): New define.
Sterling Augustine [Tue, 24 Feb 2009 23:26:40 +0000 (23:26 +0000)]
2009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
* xtensa-modules.c: Revert to previous version 1.11 due
to inadvertent commit.
Sterling Augustine [Tue, 24 Feb 2009 22:51:10 +0000 (22:51 +0000)]
2009-02-24 Sterling Augustine <sterling@tensilica.com>
* elf32-xtensa.c (text_action_add): Separate test for action
type. Break if saved action is ta_widen_insn at same offset.
Daniel Jacobowitz [Tue, 24 Feb 2009 22:44:18 +0000 (22:44 +0000)]
bfd/
* elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
to elf32_arm_stub_long_branch_any_arm_pic.
(elf32_arm_stub_long_branch_any_thumb_pic): New.
(enum elf32_arm_stub_type, arm_type_of_stub)
(arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
separately.
ld/testsuite/
* ld-arm/farcall-arm-thumb-blx-pic-veneer.d,
ld-arm/farcall-arm-thumb-pic-veneer.d,
ld-arm/farcall-thumb-thumb-blx-pic-veneer.d: Update for fixed
Thumb PIC stub.
Daniel Jacobowitz [Tue, 24 Feb 2009 22:43:10 +0000 (22:43 +0000)]
2009-02-24 Joseph Myers <joseph@codesourcery.com>
bfd/
* elf32-arm.c (PREV_SEC): Update comment.
(group_sections): Rename argument to stubs_always_after_branch.
Reverse the list and place stubs at the end of input sections.
Undefine NEXT_SEC.
(elf32_arm_size_stubs): Update to use stubs_always_after_branch.
ld/
* ld.texinfo (ARM): Document changed meaning of --stub-group-size.
* emultempl/armelf.em (hook_in_stub): Insert after the input section.
(elf32_arm_add_stub_section): Update comment.
(PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.
2009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
ld/testsuite/
* ld-arm/arm-elf.exp (armeabitests): Update duplicate test names.
Use normal output files for big-endian.
* ld-arm/farcall-arm-arm-be.d, ld-arm/farcall-thumb-arm-be.d: Delete.
* ld-arm/farcall-arm-arm-be8.d, ld-arm/farcall-arm-arm-pic-veneer.d,
ld-arm/farcall-arm-arm.d, ld-arm/farcall-arm-thumb-blx-pic-veneer.d,
ld-arm/farcall-arm-thumb-blx.d, ld-arm/farcall-arm-thumb-pic-veneer.d,
ld-arm/farcall-arm-thumb.d, ld-arm/farcall-group-size2.d,
ld-arm/farcall-group.d, ld-arm/farcall-mix.d, ld-arm/farcall-mix2.d,
ld-arm/farcall-thumb-arm-be8.d,
ld-arm/farcall-thumb-arm-blx-pic-veneer.d,
ld-arm/farcall-thumb-arm-blx.d, ld-arm/farcall-thumb-arm-short.d,
ld-arm/farcall-thumb-arm.d,
ld-arm/farcall-thumb-thumb-blx-pic-veneer.d,
ld-arm/farcall-thumb-thumb-blx.d, ld-arm/farcall-thumb-thumb-m.d,
ld-arm/farcall-thumb-thumb.d, ld-arm/thumb2-bl-as-thumb1-bad.d,
ld-arm/thumb2-bl-bad.d: Update for moved stubs.
Sandra Loosemore [Tue, 24 Feb 2009 18:06:27 +0000 (18:06 +0000)]
2009-02-24 Sandra Loosemore <sandra@codesourcery.com>
ld/
* ld.texinfo (Options): Correct typos in example. Recommend
using joined forms of syntax for passing options with arguments
from a driver.
(-a): Use consistent syntax for documenting option arguments.
Clean up indexing and markup.
(-A/--architecture): Likewise.
(-f/--auxiliary): Likewise.
(-F/--filter): Likewise.
(-fini): Likewise.
(-G/--gpsize): Likewise.
(-h/-soname):Likewise.
(-init): Likewise.
(-l/--library): Likewise.
(-L/--library-path): Likewise.
(-m): Likewise.
(--defsym): Likewise.
(-I/--dynamic-linker): Likewise.
(-Map): Likewise.
(--oformat): Likewise.
(--retain-symbols-file): Likewise.
(-rpath): Likewise.
(-rpath-link): Likewise.
(--sort-common): Likewise.
(--sort-section): Likewise.
(--split-by-file): Likewise.
(--split-by-reloc): Likewise.
(--sysroot): Likewise.
(--section-start): Likewise.
(-Tbss, -Tdata, -Ttext): Likewise.
(-Ttext-segment): Likewise.
(--version-script): Likewise.
(--wrap): Likewise.
Mark Mitchell [Tue, 24 Feb 2009 04:30:30 +0000 (04:30 +0000)]
* config/tc-arm.c (warn_deprecated_sp): New macro.
(do_t_mov_cmp): Permit R13 as the second
argument to "cmp.n".
* gas/arm/thumb2_bad_reg.s: Update to allow R13 as second argument
for CMP.
* gas/arm/thumb2_bad_reg.l: Adjust accordingly.
Ben Elliston [Tue, 24 Feb 2009 03:15:17 +0000 (03:15 +0000)]
Typo fix in most recent entry.
H.J. Lu [Tue, 24 Feb 2009 01:43:49 +0000 (01:43 +0000)]
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
* common.h (STB_LOPROC): Replace Application-specific with
Processor-specific in comments.
(STB_HIPROC): Likewise.
(STT_LOPROC): Likewise.
(STT_HIPROC): Likewise.
Daniel Jacobowitz [Tue, 24 Feb 2009 00:26:40 +0000 (00:26 +0000)]
* elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
Fix formatting.
(arm_size_one_stub): Remove unnecessary break.
(arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
Alan Modra [Tue, 24 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Mon, 23 Feb 2009 23:05:21 +0000 (23:05 +0000)]
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (type_names): Add OPERAND_TYPE_REGYMM.
(pt): Replace UINTS_ALL_ZERO with operand_type_all_zero.
H.J. Lu [Mon, 23 Feb 2009 22:28:45 +0000 (22:28 +0000)]
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (type_names): Remove OPERAND_TYPE_VEX_IMM4.
Daniel Jacobowitz [Mon, 23 Feb 2009 21:51:35 +0000 (21:51 +0000)]
ld/testsuite/
* ld-arm/arm-elf.exp (armeabitests): Run new tests. Correct BE8 output
filename.
* ld-arm/farcall-arm-arm-be.d, ld-arm/farcall-thumb-arm-be.d: New.
Daniel Jacobowitz [Mon, 23 Feb 2009 21:48:53 +0000 (21:48 +0000)]
2009-02-23 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (stub_insn_type): New type.
(stub_reloc_type): Likewise.
(insn_sequence): Likewise.
(elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
(elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
(elf32_arm_stub_long_branch_thumb_only): Likewise.
(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
(elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
(elf32_arm_stub_long_branch_any_any_pic): Likewise.
(elf32_arm_stub_hash_entry): Add new helper fields.
(stub_hash_newfunc): Initialize these new fields.
(arm_build_one_stub): Encode Arm and Thumb instructions separately
to take endianness into account.
(arm_size_one_stub): Compute size of stubs using insn_sequence.
(arm_map_one_stub): Code is now more generic, thanks to
insn_sequence.
ld/testsuite/
* ld-arm/arm-elf.exp: Add new farcall-thumb-arm-be8 test.
* ld-arm/farcall-thumb-arm-be8.d: New expected result.
* ld-arm/farcall-arm-arm-be8.d: Replace wildcards by instructions.
H.J. Lu [Mon, 23 Feb 2009 20:41:46 +0000 (20:41 +0000)]
gas/
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (vex_imm4): Removed.
(VEX_check_operands): Likewise.
(match_template): Updated.
opcodes/
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEX_IMM4.
(operand_types): Remove Vex_Imm4.
* i386-opc.h (Vex_Imm4): Removed.
(OTMax): Updated.
(i386_operand_type): Remove vex_imm4.
* i386-opc.tbl: Remove Vex_Imm4 comments.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Cary Coutant [Mon, 23 Feb 2009 19:44:58 +0000 (19:44 +0000)]
* objdump.c (load_specific_debug_section): New function, from
load_debug_section.
(load_debug_section): Use load_specific_debug_section.
(dump_dwarf_section): Likewise.
Cary Coutant [Mon, 23 Feb 2009 19:01:47 +0000 (19:01 +0000)]
* readelf.c (parse_args): Select all sections explicitly for -w.
Richard Earnshaw [Mon, 23 Feb 2009 14:58:34 +0000 (14:58 +0000)]
* arm-dis.c (neon_opcodes): Correct bit-mask and patterns for
vq{r}shr{u}n.s64 insnstructions.
Martin Schwidefsky [Mon, 23 Feb 2009 10:10:25 +0000 (10:10 +0000)]
* doc/all.texi: Set S390.
* doc/as.texinfo: Add S390 support and pull in c-s390.texi.
* doc/Makefile.am (CPU_DOCS): Add c-s390.texi.
* doc/Makefile.in: Likewise.
* doc/c-s390.texi: New.
Christophe Lyon [Mon, 23 Feb 2009 10:03:47 +0000 (10:03 +0000)]
2009-02-23 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
code.
(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
(arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
BLX is not available. Fix typo in warning message. Add comments
and improve formatting.
(arm_build_one_stub): Adjust to new
elf32_arm_stub_long_branch_v4t_thumb_arm stub.
(arm_map_one_stub): Likewise.
testsuite/
* ld-arm/arm-elf.exp: Rewrite non-EABI variants of
thumb2-bl-as-thumb1-bad and thumb2-bl-bad tests, which now
pass. farcall-thumb-thumb now passes in EABI mode.
* ld-arm/farcall-thumb-arm-pic-veneer.d: Fixed name, source, as
and ld flags to match intended test.
* ld-arm/farcall-thumb-arm.d: New expected result.
* ld-arm/farcall-thumb-thumb-m.d: Likewise.
* ld-arm/farcall-thumb-thumb-m-pic-veneer.d: Fixed name and ld
flags.
* ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise.
* ld-arm/farcall-thumb-thumb.d: New expected result, this test is
now expected to pass.
* ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: Likewise.
* ld-arm/thumb2-bl-bad-noeabi.d: Likewise.
* ld-arm/thumb2-bl-as-thumb1-bad.d: Update addresses according to
new use.
* ld-arm/thumb2-bl-as-thumb1-bad.s: Update comment.
Tristan Gingold [Mon, 23 Feb 2009 09:28:43 +0000 (09:28 +0000)]
2009-02-23 Tristan Gingold <gingold@adacore.com>
* vms.h: Update copyright year, fix comments, reorder declarations.
(_bfd_save_vms_section): Remove the prototype.
(EGPS_S_V_NO_SHIFT): New constant.
(bfd_vms_set_section_flags): New prototype.
(EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
constants.
(EGSY_S_W_FLAGS): Ditto.
(EGSY_S_V_QUAD_VAL): Ditto.
(ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
(EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
EGST_S_B_NAMLNG): Ditto.
(ESRF_S_B_NAMLNG): Ditto.
(ETIR_S_C_HEADER_SIZE): Ditto.
(EGPS_S_V_ALLOC_64BIT): Ditto.
(DST_S_C_EPILOG): Ditto.
(DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
(DST_S_C_SRC_INCRLNUM_B): Ditto.
(DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
(DST_S_L_PCLINE_UNSLONG): Ditto.
(DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
(DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
(DST_S_C_SOURCE_HEADER_SIZE): Ditto.
(DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
(DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
(DST_S_B_SRC_UNSBYTE): Ditto.
(DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
Add prototypes.
(vms_section, vms_reloc): Remove types.
(hdr_struc): Replaced by ...
(hdr_struct): ... new type.
(EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
(EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
(EMH_DATE_LENGTH): Ditto.
(eom_struc): Replaced by ...
(eom_struct): ... new type.
(EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
(EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
(EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
(EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
(EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
(EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
(EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
(EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
(EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
(EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
(EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
(EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
(EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
(EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
(EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
(DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
(DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
(DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
(DBG_S_C_DMT_PSECT_SIZE): Ditto.
(enum file_type_enum): New type.
(struct location_struct): Removed.
(struct fileinfo, struct srecinfo, struct lineinfo): New types.
(struct funcinfo, struct module): Ditto.
(struct vms_private_data_struct): Update fields.
(struct vms_section_data_struct): New type.
* vms.c: Update copyright year, fix comments,
Fix includes for DECC, add prototypes.
(vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
some initializers.
Use flavour to set is_vax, location_stack is removed.
(struct pair): Declare.
(fill_section_ptr): Initialize variables at declaration.
Add guard to set SECTION_SYM flag, handlde und section.
(vms_fixup_sections): Use struct pair for fill_section_ptr argument.
(_bfd_vms_slurp_object_records): New function, replaces previous
vms_object_p.
(vms_slurp_module): New function.
(vms_slurp_image): Ditto.
(vms_object_p): Complete rewrite.
(vms_mkobject): Use is_vax field to slect architecture.
(free_reloc_stream): New function.
(vms_convert_to_var): Ditto.
(vms_convert_to_var_1): Ditto.
(vms_convert_to_var_unix_filename): Ditto.
(vms_close_and_cleanup): Call free_reloc_stream, convert file to
VAR format on VMS.
(vms_new_section_hook): Set alignment to 0, allocate private data.
(vms_get_section_contents): Load content.
(vms_get_symbol_info): Handle undefined section.
(vms_find_nearest_line): Handle.
(alloc_reloc_stream): New function.
(vms_slurp_reloc_table): Ditto.
(vms_get_reloc_upper_bound): Make it real.
(vms_canonicalize_reloc): Do the real work.
(alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
ALPHA_R_BOH.
(vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
(vms_set_arch_mach): Check arch.
(vms_set_section_contents): Copy the content after allocation.
(vms_alpha_vec): Update object flags.
* vms-tir.c: Update copyright year, fix comments,
add prototypes for new functions.
(dst_define_location): New function.
(dst_restore_location): New function.
(dst_retrieve_location): New function.
(dst_check_allocation): New function.
(image_dump): Call dst_check_allocation.
(image_write_b): Ditto.
(image_write_w): Ditto.
(image_write_l): Ditto.
(image_write_q): Ditto.
(cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
CTL_STKDL.
Call error handler instead of abort if name is not known.
(etir_sta): Add quarter_relocs argument and set it.
Fix cast.
(etir_sto): Ditto.
(etir_opr): Ditto, return FALSE in case of error.
(etir_ctl): Add quarter_relocs argument and set it, fix cast.
Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
(etir_stc): Add quarter_relocs argument and set it, fix cast.
Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
Return FALSE in case of error.
(tir_sta): Change sign of psect.
(tir_ctl): Ditto.
(tir_cmd): Fix cast. Makes tir_table static const.
(etir_cmd): Add quarter_relocs argument, makes etir_table const,
add argument to explain.
(analyze_etir): Initialize maxptr, add quarter_relocs
declaration, move some declarations into inner scopes.
Handle quarter_relocs and STO_IMM.
(_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
(_bfd_vms_slurp_relocs): New function.
(_bfd_vms_decode_relocs): New function.
(sto_imm): Rewritten.
(start_first_etbt_record): New function.
(start_another_etbt_record): Ditto.
(etir_output_check): Ditto.
(defer_reloc_p): Ditto.
(_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
a for-loop. Correctly deals with contents, deals with .vmsdebug,
rewritte relocations handling.
(_bfd_vms_write_tbt): Removed.
(_bfd_vms_write_dbg): Ditto.
* vms-misc.c: Update copyright year, Fix comments.
(_bfd_vms_get_header_values): Use 'size' instead of 'length'.
(maybe_adjust_record_pointer_for_object): New function.
(_bfd_vms_get_first_record): New function, replaces ...
(_bfd_vms_get_record): .. removed.
(_bfd_vms_get_object_record): New function.
(_bfd_vms_get_object_record): New function.
(vms_get_remaining_object_record): New function, replaces ...
(_bfd_vms_get_next_record): ... removed.
(add_new_contents): Removed.
(_bfd_save_vms_section): Removed.
(_bfd_get_vms_section): Removed.
(_bfd_vms_output_flush): Write in VAR format.
(new_symbol): Don't make UND section.
* vms-hdr.c: Update copyright year, update list of record handled.
(_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
(_bfd_vms_write_hdr): Strip vms and unix patches,
add comments, truncate module name at 31 characters,
use constants instead of hard-coded value,
write BFD version instead of a fixed string.
(_bfd_vms_slurp_ihd): New function.
(_bfd_vms_slurp_isd): Ditto.
(_bfd_vms_slurp_ihs): Ditto.
(new_module): Ditto.
(parse_module): Ditto
(build_module_list): Ditto.
(module_find_nearest_line): Ditto.
(_bfd_vms_find_nearest_dst_line): Ditto.
(vms_slurp_debug): Ditto.
(_bfd_vms_slurp_dbg): Ditto.
(_bfd_vms_slurp_tbt): Ditto.
(_bfd_vms_write_dbg): Ditto.
(_bfd_vms_write_tbt): Ditto.
* vms-gsd.c: Update copyright year, update list of records handled.
(EVAX_LITERALS_NAME): New macro.
(evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
(gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
(register_universal_symbol): New function and prototype.
(_bfd_vms_slurp_gsd): Fix indentations and casts,
improve debug messages,
use constants instead of hard-coded value,
fix missing endianness conversion,
handle global symbol (SYMG).
(bfd_vms_set_section_flags): New function.
(_bfd_vms_write_gsd): Don't write .vmsdebug section,
handle section literals,
fix indentation,
handle section bfd and vms flags,
don't output LIB$INITIALIZE symbol,
fix handling of weak symbols,
fix evax vs vax procedure descriptor,
handle absolute symbols.
* reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
* makefile.vms (DEFS): Fix flags for VMS.
* bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
* bfd-in2.h: Regenerated.
* libbfd.h: Regenerated.
DJ Delorie [Mon, 23 Feb 2009 00:16:38 +0000 (00:16 +0000)]
merge from gcc