OSDN Git Service
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
Alan Modra [Mon, 23 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 22 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 21 Feb 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Cary Coutant [Fri, 20 Feb 2009 18:53:12 +0000 (18:53 +0000)]
* vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
in struct stat.
Alan Modra [Fri, 20 Feb 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Peter Bergner [Thu, 19 Feb 2009 21:18:46 +0000 (21:18 +0000)]
gas/testsuite/
* gas/ppc/e500mc.d ("lfdepx", "stfdepx"): Fix tests to expect a
floating point register.
opcodes/
* ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
operand to be a float point register (FRT/FRS).
Alan Modra [Thu, 19 Feb 2009 00:00:09 +0000 (00:00 +0000)]
daily update
Adam Nemet [Wed, 18 Feb 2009 20:51:59 +0000 (20:51 +0000)]
opcodes/
* mips-opc.c (mips_builtin_opcodes): Move the Octeon-specific
dmfc2 and dmtc2 before the architecture-level variants.
gas/testsuite/
* gas/mips/octeon.s: Add more tests for dmfc2 and dmtc2.
* gas/mips/octeon.d: Update.
* gas/mips/octeon-ill.l: Update error message.
Dave Korn [Wed, 18 Feb 2009 18:38:06 +0000 (18:38 +0000)]
PR gas/7059
* coffcode.h (coff_write_object_contents): Don't let the string
table offset overflow the s_name field when using long section names.
Dave Korn [Wed, 18 Feb 2009 18:23:08 +0000 (18:23 +0000)]
bfd/ChangeLog
* coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
* coff-mips.c (mips_ecoff_backend_data): Likewise.
* coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
(bfd_pmac_xcoff_backend_data): Likewise.
* coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
(bfd_xcoff_aix5_backend_data): Likewise.
(xcoff64_write_object_contents): Delete unused long_section_names
local variable.
* coff-sh.c (bfd_coff_small_swap_table): Initialise long section
name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
struct non-const.
* coffcode.h (documentation): Update to describe long section names.
(COFFLONGSECTIONCATHELPER): New helper macro.
(BLANKOR1TOODD): Likewise.
(COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
(COFF_LONG_SECTION_NAMES_SETTER): Likewise.
(COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
(bfd_coff_set_long_section_names_allowed): New function.
(bfd_coff_set_long_section_names_disallowed): Likewise.
(struct bfd_coff_backend_data): Add new backend hook function
pointer _bfd_coff_set_long_section_names.
(bfd_coff_set_long_section_names): New backend hook.
(coff_write_object_contents): Only generate long section names if
bfd_coff_long_section_names() indicates they are currently enabled.
(bfd_coff_std_swap_table): Make non-const, and initialise long
section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
(ticoff0_swap_table): Likewise to both.
(ticoff1_swap_table): Again, likewise to both.
* coffgen.c (make_a_section_from_file): Allow long section names
as inputs even if not currently allowed for outputs.
* ecoff.c (_bfd_ecoff_no_long_sections): New function.
* efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
* efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
* efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
* pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
* libcoff-in.h: Update copyright year to cause updated copyright
year in generated libcoff.h, and fix typo.
* libcoff.h: Regenerated.
* libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
(_bfd_ecoff_no_long_sections): Add prototype.
* libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
* pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
defined by an including .c file.
* ticoff.h (ticoff0_swap_table): Make non-const, and initialise
long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
(ticoff1_swap_table): Likewise to both.
ld/ChangeLog
* ld.texinfo: Update to mention long section name options.
* NEWS: Mention new behaviour and command-line options.
* pe-dll.c (pe_use_coff_long_section_names): New global variable.
(pe_output_file_set_long_section_names): New function.
(pe_dll_build_sections): Call it on output BFDs.
(pe_exe_build_sections): Likewise.
(pe_dll_fill_sections): Likewise.
(pe_exe_fill_sections): Likewise.
* pe-dll.h (pe_use_coff_long_section_names): Declare extern.
(pe_output_file_set_long_section_names): Add prototype.
* pep-dll.c (pe_use_coff_long_section_names): Define pep_ alias.
(pe_output_file_set_long_section_names): Likewise.
* pep-dll.h (pep_use_coff_long_section_names): Declare extern.
(pep_output_file_set_long_section_names): Add prototype.
* pe.em (OPTION_ENABLE_LONG_SECTION_NAMES): New getopt value macro.
(OPTION_DISABLE_LONG_SECTION_NAMES): Likewise.
(gld${EMULATION_NAME}_add_options): Add new options to xtra_long[].
(gld_${EMULATION_NAME}_list_options): Describe them.
(gld${EMULATION_NAME}_handle_option): Set or clear global
pe_use_coff_long_section_names flag when options recognised.
(gld_${EMULATION_NAME}_after_open): En/disable long section names
for main output bfd by calling pe_output_file_set_long_section_names.
* pep.em (enum options): Extend enum with new getopt option values.
(gld${EMULATION_NAME}_add_options): Add new options to xtra_long[].
(gld_${EMULATION_NAME}_list_options): Describe them.
(gld${EMULATION_NAME}_handle_option): Set or clear global
pe_use_coff_long_section_names flag when options recognised.
(gld_${EMULATION_NAME}_after_open): En/disable long section names
for main output bfd by calling pep_output_file_set_long_section_names.
ld/testsuite/ChangeLog
* ld-pe/longsecn-1.d: New test file.
* ld-pe/longsecn-2.d: Likewise.
* ld-pe/longsecn-3.d: Likewise.
* ld-pe/longsecn-4.d: Likewise.
* ld-pe/longsecn-5.d: Likewise.
* ld-pe/longsecn.d: Likewise.
* ld-pe/longsecn.exp: New test control script.
* ld-pe/longsecn.s: New test source file.
Nick Clifton [Wed, 18 Feb 2009 17:13:04 +0000 (17:13 +0000)]
* fr30-opc.c: Regenerate.
* frv-opc.c: Regenerate.
* ip2k-opc.c: Regenerate.
* iq2000-opc.c: Regenerate.
* lm32-opc.c: Regenerate.
* m32c-opc.c: Regenerate.
* m32r-opc.c: Regenerate.
* mep-opc.c: Regenerate.
* mt-opc.c: Regenerate.
* xc16x-opc.c: Regenerate.
* xstormy16-opc.c: Regenerate.
* tic54x-dis.c (print_instruction): Avoid compiler warning on
sprintf call.
* opc-itab.scm (<>_cgen_init_opcode_table): Avoid compiler warning
about calling memset with a zero length.
Christophe Lyon [Wed, 18 Feb 2009 16:56:37 +0000 (16:56 +0000)]
2009-02-18 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
stub. Catch default case error.
(arm_map_one_stub): Add missing Thumb mapping symbol.
testsuite/
* ld-arm/farcall-arm-arm-pic-veneer.d,
ld-arm/farcall-arm-thumb-blx-pic-veneer.d,
ld-arm/farcall-arm-thumb-pic-veneer.d,
ld-arm/farcall-thumb-arm-blx-pic-veneer.d,
ld-arm/farcall-thumb-thumb-blx-pic-veneer.d: Fix expected stub
target.
Nick Clifton [Wed, 18 Feb 2009 15:28:56 +0000 (15:28 +0000)]
PR 9841
* elf32-avr.c: Handle case where no local symbos exist correctly.
Christophe Lyon [Wed, 18 Feb 2009 12:45:38 +0000 (12:45 +0000)]
2009-02-16 Christophe Lyon <christophe.lyon@st.com>
bfd/
* elf32-arm.c (arm_long_branch_stub,
arm_thumb_v4t_long_branch_stub,
arm_thumb_thumb_long_branch_stub,
arm_thumb_arm_v4t_long_branch_stub,
arm_thumb_arm_v4t_short_branch_stub,
arm_pic_long_branch_stub):
Renamed to elf32_arm_stub_long_branch_any_any,
elf32_arm_stub_long_branch_v4t_arm_thumb,
elf32_arm_stub_long_branch_thumb_only,
elf32_arm_stub_long_branch_v4t_thumb_arm,
elf32_arm_stub_short_branch_v4t_thumb_arm,
elf32_arm_stub_long_branch_any_any_pic.
(arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
arm_thumb_thumb_stub_long_branch,
arm_thumb_arm_v4t_stub_long_branch,
arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
Renamed to arm_stub_long_branch_any_any,
arm_stub_long_branch_v4t_arm_thumb,
arm_stub_long_branch_thumb_only,
arm_stub_long_branch_v4t_thumb_arm,
arm_stub_short_branch_v4t_thumb_arm,
arm_stub_long_branch_any_any_pic.
Alan Modra [Wed, 18 Feb 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Tue, 17 Feb 2009 00:00:06 +0000 (00:00 +0000)]
daily update
Dave Korn [Mon, 16 Feb 2009 10:42:12 +0000 (10:42 +0000)]
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Don't emit
inadvertent .reloc sections caused by refactoring accident.
Nick Clifton [Mon, 16 Feb 2009 09:19:32 +0000 (09:19 +0000)]
* gas/mips/e32-rel2.d: Adjust expected output to remove the 0x4000
offset.
* gas/mips/e32el-rel2.d: Likewise.
* gas/mips/elf-rel2.d: Likewise.
* gas/mips/elf-rel9-mips16.d: Likewise.
* gas/mips/elf-rel9.d: Likewise.
* gas/mips/elfel-rel2.d: Likewise.
* gas/mips/lb.d: Likewise.
* gas/mips/mips-abi32.d: Likewise.
* gas/mips/mips-gp32-fp32.d: Likewise.
* gas/mips/mips-gp32-fp64.d: Likewise.
* gas/mips/mips-gp64-fp32.d: Likewise.
* gas/mips/mips-gp64-fp64.d: Likewise.
* gas/mips/mips32-sf32.d: Likewise.
Alan Modra [Mon, 16 Feb 2009 08:02:29 +0000 (08:02 +0000)]
* ldlang.c (process_insert_statements): ASSERT that output section
statements are in order.
Alan Modra [Mon, 16 Feb 2009 07:25:52 +0000 (07:25 +0000)]
* ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
(stat_save, stat_save_ptr): New variables.
(lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
(load_symbols): Likewise. Delete dead "bad_load" code.
(open_input_bfds): Warn on script containing output sections.
(lang_enter_output_section_statement): Use push_stat_ptr.
(lang_enter_group): Likewise.
(lang_leave_output_section_statement): Use pop_stat_ptr.
(lang_leave_group): Likewise.
* ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
* ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
* emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
* emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
* emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
* emultempl/spuelf.em (spu_place_special_section): Likewise.
* emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
Alan Modra [Mon, 16 Feb 2009 00:00:09 +0000 (00:00 +0000)]
daily update
Dave Anglin [Sun, 15 Feb 2009 19:39:44 +0000 (19:39 +0000)]
* elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
in branch offset check.
Alan Modra [Sun, 15 Feb 2009 12:14:14 +0000 (12:14 +0000)]
* elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
add toc.symndx and toc.add.
(ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
Set up toc.add.
(get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
callers.
(ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
(branch_reloc_hash_match): New function, extracted from..
(ppc64_elf_tls_optimize): ..here.
(ppc64_elf_relocate_section): Properly set addends when optimizing
tls sequences. Avoid unnecessary reading and writing of insns.
Only redo reloc when symbol changed. Bypass symbol checks when
using tlsld_got.
* elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
(branch_reloc_hash_match): New function, extracted from..
(ppc_elf_tls_optimize): ..here.
(ppc_elf_relocate_section): Avoid unnecessary reading of insns.
Don't clear addend on zapped __tls_get_addr reloc.
Alan Modra [Sun, 15 Feb 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 14 Feb 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Cary Coutant [Fri, 13 Feb 2009 19:04:45 +0000 (19:04 +0000)]
(From Rafael Espindola)
* archive.cc (Archive::include_member): Update calls to add_symbols.
* dynobj.cc (Sized_dynobj<size, big_endian>::make_version_map): Add
the Layout argument.
* dynobj.h (do_add_symbols): Add the Layout argument.
* object.cc (Sized_relobj<size, big_endian>::do_add_symbols): Add the
Layout argument.
* object.h (Object::add_symbols): Add the Layout argument.
(Object::do_add_symbols): Add the Layout argument.
(Sized_relobj::do_add_symbols): Add the Layout argument.
* plugin.cc (Sized_pluginobj<size, big_endian>::do_add_symbols):
Unify the two versions.
(Add_plugin_symbols): Remove.
* plugin.h (Pluginobj::add_symbols, Pluginobj::do_add_symbols): Remove.
(Sized_pluginobj::do_add_symbols): Unify the two versions.
(Add_plugin_symbols): Remove.
* readsyms.cc (Read_symbols::do_read_symbols): Update call to
Add_symbols. Use Add_symbols instead of Add_plugin_symbols.
(Add_symbols::run): Make it work with Pulginobj.
Alan Modra [Thu, 12 Feb 2009 23:59:29 +0000 (23:59 +0000)]
daily update
Nick Clifton [Thu, 12 Feb 2009 15:06:55 +0000 (15:06 +0000)]
PR 9827
* elflink.c (bfd_elf_final_link): When counting the relocations,
if the header size has not been set yet then assume that it will
match the output section's reloc type.
Alan Modra [Thu, 12 Feb 2009 12:47:39 +0000 (12:47 +0000)]
* corefile.c (core_create_function_syms): Remove "<locore>" and
"<hicore>" sentinels.
* gprof.c: Likewise.
* cg_print.c (cg_print_function_ordering): Likewise.
* alpha.c (alpha_find_call): Add check for return value of sym_lookup.
* mips.c (mips_find_call): Likewise.
* sparc.c (sparc_find_call): Likewise.
* tahoe.c (tahoe_find_call): Likewise.
* vax.c (vax_find_call): Likewise.
Nathan Sidwell [Thu, 12 Feb 2009 08:31:03 +0000 (08:31 +0000)]
gas/
* config/tc-m68k.c (mcf51qe_ctrl): Add CPUCR.
(mcf52259_ctrl, mcf52277_ctrl, mcf53017_ctrl): New.
(mcf5307_ctrl): Add VBR.
(no_mac): New variable.
(m68k_extensions): Refer to no_mac mask.
(m68k_cpus): Add 51, 51ac, 51cn, 51em, 51jm, 52274, 52277,
52252..52259, 53011..53017.
(m68k_ip): Process CPUCR.
(init_table): Add cpucr entry.
(m68k_set_extension): Allow negated mask to refer to a variable.
(md_show_usage): Use '%s' to silence fprintf warning.
* config/m68k-parse.h (CPUCR): New control register.
gas/testsuite/
* m68k/br-isac.d, m68k/br-isac.s: Add stldsr test.
opcodes/
* m68k-opc.c (m68k_opcodes): Add stldsr instruction.
Nathan Sidwell [Thu, 12 Feb 2009 08:28:19 +0000 (08:28 +0000)]
* elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
relocatable link.
Alan Modra [Wed, 11 Feb 2009 23:59:30 +0000 (23:59 +0000)]
daily update
Alan Modra [Tue, 10 Feb 2009 23:59:32 +0000 (23:59 +0000)]
daily update
Nathan Sidwell [Tue, 10 Feb 2009 08:07:31 +0000 (08:07 +0000)]
* config/tc-ppc.c (ppc_insert_operand, md_assemble): Use '%s' for
as_bad calls to silence compiler warning.
Alan Modra [Mon, 9 Feb 2009 23:59:33 +0000 (23:59 +0000)]
daily update
Kai Tietz [Mon, 9 Feb 2009 15:40:24 +0000 (15:40 +0000)]
2009-02-09 Kai Tietz <kai.tietz@onevision.com>
* windres.c (set_endianess): Copy name without leading '-'.