OSDN Git Service
Alan Modra [Tue, 1 Apr 2008 23:00:07 +0000 (23:00 +0000)]
daily update
Cary Coutant [Tue, 1 Apr 2008 20:57:36 +0000 (20:57 +0000)]
2008-03-31 Cary Coutant <ccoutant@google.com>
Add thin archive support.
* archive.cc (Archive::armagt): New const.
(Archive::setup): Remove task parameter and calls to unlock.
(Archive::unlock_nested_archives): New function.
(Archive::read_header): Add nested_off parameter. Change
all callers.
(Archive::interpret_header): Likewise.
(Archive::include_all_members): Change to handle thin
archives.
(Archive::include_member): Likewise.
* archive.h (Archive::Archive): Add new parameters and
initializers.
(Archive::armagt): New const.
(Archive::setup): Remove task parameter.
(Archive::unlock_nested_archives): New function.
(Archive::read_header): Add nested_off parameter.
(Archive::interpret_header): Likewise.
(Archive::Nested_archive_table): New typedef.
(Archive::is_thin_archive_): New field.
(Archive::nested_archives_): New field.
(Archive::options_): New field.
(Archive::dirpath_): New field.
(Archive::task_): New field.
* readsyms.cc (Read_symbols::do_read_symbols): Add check
for thin archives. Pass additional parameters to
Archive::Archive. Unlock the archive file after calling
Archive::setup.
Alan Modra [Mon, 31 Mar 2008 23:44:47 +0000 (23:44 +0000)]
PR 6006
* archive.c (_bfd_slurp_extended_name_table): Change
ARFMAG[0] to ARFMAG[1].
(_bfd_construct_extended_name_table): Likewise.
Alan Modra [Mon, 31 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
DJ Delorie [Mon, 31 Mar 2008 18:11:50 +0000 (18:11 +0000)]
merge from gcc
Daniel Jacobowitz [Mon, 31 Mar 2008 14:02:26 +0000 (14:02 +0000)]
* elfxx-mips.c (mips_elf_record_got_page_entry): Update comment.
(_bfd_mips_elf_check_relocs): Update comments. Always call
mips_elf_record_got_page_entry for R_MIPS_GOT_PAGE.
Nick Clifton [Mon, 31 Mar 2008 10:19:38 +0000 (10:19 +0000)]
Updated French translations.
Alan Modra [Sun, 30 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 29 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Sat, 29 Mar 2008 08:39:26 +0000 (08:39 +0000)]
* symtab.cc (Symbol_table::do_define_as_constant): Don't force a
version symbol to be local.
* testsuite/ver_test_4.sh: New file.
* testsuite/Makefile.am (check_SCRIPTS): Add ver_test_4.sh.
(check_DATA): Add ver_test_4.syms.
(ver_test_4.syms): New target.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 29 Mar 2008 08:09:55 +0000 (08:09 +0000)]
* output.cc
(Output_section::Input_section_sort_entry::has_priority): New
function.
(Output_section::Input_section_sort_entry::match_file_name): New
function.
(Output_section::Input_section_sort_entry::match_section_name):
Remove.
(Output_section::Input_section_sort_entry::match_section_name_prefix):
Remove.
(Output_section::Input_section_sort_entry::match_section_file):
Remove.
(Output_section::Input_section_sort_compare::operator()): Rewrite
using new Input_section_sort_entry functions. Sort crtbegin and
crtend first. Sort sections with no priority before sections with
a priority.
* testsuite/initpri1.c (d3): Check j != 4.
(cd5): New constructor/destructor function.
(main): Check j != 2.
Ian Lance Taylor [Sat, 29 Mar 2008 07:19:02 +0000 (07:19 +0000)]
* symtab.cc (Symbol_table::add_from_object): If we don't use the
new symbol when resolving, don't call set_is_default.
* testsuite/ver_test_7.cc: New file.
* testsuite/ver_test_7.sh: New file.
* testsuite/Makefile.am (ver_test_7.so): New target.
(ver_test_7.o): New target.
(check_SCRIPTS): Add ver_test_7.sh.
(check_DATA): Add ver_test_7.syms.
(ver_test_7.syms): New target.
Alan Modra [Fri, 28 Mar 2008 23:00:20 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Fri, 28 Mar 2008 22:42:34 +0000 (22:42 +0000)]
* layout.cc (Layout::layout): If we see an input section with a
name that needs sorting, set the must_sort flag for the output
section.
(Layout::make_output_section): If the name of the output section
indicates that it might require sorting, set the may_sort flag.
* output.h (Output_section::may_sort_attached_input_sections): New
function.
(Output_section::set_may_sort_attached_input_sections): New
function.
(Output_section::must_sort_attached_input_sections): New
function.
(Output_section::set_must_sort_attached_input_sections): New
function.
(class Output_section): Declare Input_section_sort_entry. Define
Input_section_sort_compare. Declare
sort_attached_input_sections. Add new fields:
may_sort_attached_input_sections_,
must_sort_attached_input_sections_,
attached_input_sections_are_sorted_.
* output.cc (Output_section::Output_section): Initialize new
fields.
(Output_section::add_input_section): Add an entry to
input_sections_ if may_sort or must_sort are true.
(Output_section::set_final_data_size): Call
sort_attached_input_sections if necessary.
(Output_section::Input_section_sort_entry): Define new class.
(Output_section::Input_section_sort_compare::operator()): New
function.
(Output_section::sort_attached_input_sections): New function.
* configure.ac: Check whether the compiler supports constructor
priorities. Define a CONSTRUCTOR_PRIORITY automake conditional.
* testsuite/initpri1.c: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add initpri1 if
CONSTRUCTOR_PRIORITY.
(initpri1_SOURCES, initpri1_DEPENDENCIES): New variables.
(initpri1_LDFLAGS): New variable.
* configure, Makefile.in, testsuite/Makefile.in: Rebuild.
Eric B. Weddington [Fri, 28 Mar 2008 21:51:38 +0000 (21:51 +0000)]
/gas:
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add attiny167.
* doc/c-avr.texi: Likewise.
/include:
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
* opcode/avr.h (AVR_ISA_TINY3): Define new opcode set for attiny167.
Eric B. Weddington [Fri, 28 Mar 2008 21:04:22 +0000 (21:04 +0000)]
/gas:
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add atmega32u4.
* doc/c-avr.texi: Likewise.
Eric B. Weddington [Fri, 28 Mar 2008 19:24:52 +0000 (19:24 +0000)]
/gas:
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add atmega32c1.
* doc/c-avr.texi: Likewise.
Paul Brook [Fri, 28 Mar 2008 18:13:52 +0000 (18:13 +0000)]
2008-03-28 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (parse_neon_mov): Parse register before immediate
to avoid spurious symbols.
Nathan Sidwell [Fri, 28 Mar 2008 09:51:13 +0000 (09:51 +0000)]
* config/tc-m68k.c (md_convert_frag_1): Replace as_fatal with
as_bad_where.
Nick Clifton [Fri, 28 Mar 2008 06:49:44 +0000 (06:49 +0000)]
Add support for thin archives.
* bfd/archive.c (_bfd_find_nested_archive): New function.
(get_extended_arelt_filename): Add origin parameter.
(_bfd_generic_read_ar_hdr_mag): Deal with extended name
combined with a file offset.
(append_relative_path): New function.
(_bfd_get_elt_at_filepos): Deal with external members and
nested archives.
(bfd_generic_openr_next_archived_file): Thin archives.
(bfd_generic_archive_p): Recognize new magic string.
(adjust_relative_path): New function.
(_bfd_construct_extended_name_table): Construct extended
names for thin archive members.
(_bfd_write_archive_contents): Emit new magic string, skip
copying files for thin archives.
* bfd/bfd-in.h (bfd_is_thin_archive): New macro.
* bfd/bfd.c (struct bfd): New fields for thin archives.
* bfd/libbfd-in.h (struct areltdata): New field for thin archives.
* bfd/opncls.c (bfd_close): Delete BFDs for nested archives.
* binutils/ar.c (make_thin_archive): New global flag.
(map_over_members): Deal with full pathnames in thin archives.
(usage, main): Add 'T' option for building thin archives.
(replace_members): Pass thin archive flag to ar_emul_append.
* binutils/arsup.c (ar_open): Initialize new flag.
* binutils/binemul.c (ar_emul_append): Add new parameter for
flattening nested archives.
(do_ar_emul_default_append): New function.
(ar_emul_default_append): Factored out recursive code.
* binutils/binemul.h (ar_emul_default_append): Add new parameter.
(struct bin_emulation_xfer_struct): New parameter for ar_append.
* binutils/dlltool.c (gen_lib_file): Initialize thin archive flag.
* binutils/emul_aix.c (ar_emul_aix_internal): Add new flatten
parameter, currently unimplemented.
All callers changed.
* binutils/objcopy.c (copy_archive): Preserve thin archive flag.
* binutils/doc/binutils.texi: Update ar documentation.
* binutils/testsuite/binutils-all/ar.exp: Add thin archive tests.
* include/aout/ar.h (ARMAGT): New magic string for thin archives.
Joseph Myers [Fri, 28 Mar 2008 01:12:56 +0000 (01:12 +0000)]
* ld-elfcomm/elfcomm.exp: Run $READELF not readelf.
Alan Modra [Thu, 27 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Thu, 27 Mar 2008 19:57:41 +0000 (19:57 +0000)]
* common.cc (Sort_commons::operator): Correct sorting algorithm.
* testsuite/common_test_1.c: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add common_test_1.
(common_test_1_SOURCES): New variable.
(common_test_1_DEPENDENCIES): New variable.
(common_test_1_LDFLAGS): New variable.
Ian Lance Taylor [Thu, 27 Mar 2008 18:19:09 +0000 (18:19 +0000)]
* symtab.cc (Symbol_table::add_from_object): Handle saw_undefined_
and commons_ correctly when NAME/VERSION does not override
NAME/NULL.
* testsuite/ver_test_6.c: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add ver_test_6
(ver_test_6_SOURCES, ver_test_6_DEPENDENCIES): New variables.
(ver_test_6_LDFLAGS, ver_test_6_LDADD): New variables.
Nick Clifton [Thu, 27 Mar 2008 14:52:35 +0000 (14:52 +0000)]
* config/tc-avr.c (mcu_types): Add atmega32m1.
* doc/c-avr.texi: Likewise.
Paolo Bonzini [Thu, 27 Mar 2008 14:16:55 +0000 (14:16 +0000)]
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (PICFLAG, PICFLAG_FOR_TARGET): Remove.
* Makefile.in: Regenerate.
config:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* extensions.m4: New.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* mh-armpic: Remove.
* mh-i370pic: Remove.
* mh-m68kpic: Remove.
* mh-ppcpic: Remove.
* mh-sparcpic: Remove.
* mh-ia64pic: Remove.
* mh-papic: Remove.
* mh-s390pic: Remove.
* mh-x86pic: Remove.
libiberty:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (frags): Don't set, use frag instead.
(PICFLAG): Set here and substitute.
* Makefile.in (PICFLAG): Substitute from autoconf.
* configure: Regenerate.
Nick Clifton [Thu, 27 Mar 2008 14:12:15 +0000 (14:12 +0000)]
* config/tc-arm.c (do_neon_cvt): Move variable declarations to
start of block.
(do_neon_ext): Fix sign of comparison.
Ian Lance Taylor [Thu, 27 Mar 2008 06:11:57 +0000 (06:11 +0000)]
* symtab.cc (Symbol_table::add_from_relobj): Don't set the version
of an undefined symbol from a version script.
* testsuite/Makefile.am (ver_test_5.so): New target.
(ver_test_5.o): New target.
(check_SCRIPTS): Add ver_test_5.sh.
(check_DATA): Add ver_test_5.syms.
(ver_test_5.syms): New target.
* testsuite/ver_test_5.cc: New file.
* testsuite/ver_test_5.script: New file.
* testsuite/ver_test_5.sh: New file.
* Makefile.in, testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Wed, 26 Mar 2008 23:36:46 +0000 (23:36 +0000)]
PR gold/5986
Fix problems building gold with gcc 4.3.0.
* gold.h (TEMPLATE_ATTRIBUTE_PRINTF_4): Define.
(gold_error_at_location, gold_warning_at_location): Use it.
* configure.ac: Check whether we can compile and use a template
function with a printf attribute.
* x86_64.cc (Target_x86_64::do_code_fill): Swap out a 32-bit value
when jumping over bytes.
* object.cc: Instantiate Object::read_section_data.
* debug.h: Include <cstring>
* dwarf_reader.cc: Include <algorithm>
* main.cc: Include <cstring>.
* options.cc: Include <cstring>.
* output.cc: Include <cstring>.
* script.cc: Include <cstring>.
* script.h: Include <string>.
* symtab.cc: Include <cstring> and <algorithm>.
* target-select.cc: Include <cstring>.
* version.cc: Include <string>.
* testsuite/testmain.cc: Include <cstdlib>.
* configure, config.in: Rebuild.
Alan Modra [Wed, 26 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Bernd Schmidt [Wed, 26 Mar 2008 16:48:32 +0000 (16:48 +0000)]
gas/testsuite/:
From Robin Getz <rgetz@blackfin.uclinux.org>
* gas/bfin/arithmetic.d: Update to reflect spaces/capitalization in
recent changes in opcodes/bfin-dis.c.
gas/bfin/arithmetic.s: Likewise.
gas/bfin/bit.d: Likewise.
gas/bfin/bit2.d: Likewise.
gas/bfin/control_code.d: Likewise.
gas/bfin/control_code2.d: Likewise.
gas/bfin/event.d: Likewise.
gas/bfin/event2.d: Likewise.
gas/bfin/flow.d: Likewise.
gas/bfin/flow2.d: Likewise.
gas/bfin/load.d: Likewise.
gas/bfin/logical.d: Likewise.
gas/bfin/logical2.d: Likewise.
gas/bfin/move.d: Likewise.
gas/bfin/move2.d: Likewise.
gas/bfin/parallel.d: Likewise.
gas/bfin/parallel2.d: Likewise.
gas/bfin/parallel3.d: Likewise.
gas/bfin/parallel4.d: Likewise.
gas/bfin/shift.d: Likewise.
gas/bfin/shift2.d: Likewise.
gas/bfin/stack.d: Likewise.
gas/bfin/stack2.d: Likewise.
gas/bfin/store.d: Likewise.
gas/bfin/vector.d: Likewise.
gas/bfin/vector2.d: Likewise.
gas/bfin/video.d: Likewise.
gas/bfin/video2.d: Likewise.
opcodes/:
* bfin-dis.c: (c_uimm4s4d, c_imm5d, c_imm7d, c_imm16d, c_uimm16s4d,
c_imm32, c_huimm32e): Define.
(constant_formats): Add flags for printing decimal, leading spaces, and
exact symbols.
(comment, parallel): Add global flags in all disassembly.
(fmtconst): Take advantage of new flags, and print default in hex.
(fmtconst_val): Likewise.
(decode_macfunc): Be consistant with spaces, tabs, comments,
capitalization in disassembly, fix minor coding style issues.
(reg_names, amod0, amod1, amod0amod2, aligndir, get_allreg): Likewise.
(decode_ProgCtrl_0, decode_PushPopMultiple_0, decode_CCflag_0,
decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0, decode_LOGI2op_0,
decode_COMP3op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
decode_dspLDST_0, decode_LDST_0, decode_LDSTiiFP_0, decode_LDSTii_0,
decode_LoopSetup_0, decode_LDIMMhalf_0, decode_CALLa_0,
decode_LDSTidxI_0, decode_linkage_0, decode_dsp32alu_0,
decode_dsp32shift_0, decode_dsp32shiftimm_0, decode_pseudodbg_assert_0,
_print_insn_bfin, print_insn_bfin): Likewise.
Bernd Schmidt [Wed, 26 Mar 2008 16:33:33 +0000 (16:33 +0000)]
gas/:
* config/tc-bfin.c (bfin_start_line_hook): Localize the labels
generated for LOOP_BEGIN and LOOP_END instructions.
(bfin_gen_loop): Likewise.
gas/testsuite/:
* gas/bfin/flow.d: Adjust since the generated labels for LOOP_BEGIN
and LOOP_END instruction are local now.
* gas/bfin/flow2.d: Likewise.
Bernd Schmidt [Wed, 26 Mar 2008 16:21:10 +0000 (16:21 +0000)]
gas/
* config/bfin-parse.y (check_macfunc_option): Allow (IU)
option for multiply and multiply-accumulate to data register
instruction.
(check_macfuncs): Don't check if accumulator matches the data register
here.
(assign_macfunc): Check if accumulator matches the
data register in each rule that moves to the data
register.
gas/testsuite/
* gas/bfin/arithmetic.s, gas/bfin/arithmetic.d: Add check
for IU option.
* gas/bfin/expected_errors.l, gas/bfin/expected_errors.s:
Add check for mismatch of accumulator and data register.
opcodes/
* bfin-dis.c (decode_dsp32mac_0): Decode (IU) option for
multiply and multiply-accumulate to data register instruction.
Daniel Jacobowitz [Wed, 26 Mar 2008 16:02:25 +0000 (16:02 +0000)]
* ld-elf/flags1.d: Adjust for MIPS text alignment.
Bernd Schmidt [Wed, 26 Mar 2008 15:58:27 +0000 (15:58 +0000)]
gas/:
* config/bfin-parse.y (check_macfunc_option): New.
(check_macfuncs): Check option by calling check_macfunc_option.
Fix comparison always true warnings. Both scalar instructions
of vector instruction must share the same mode option. Only allow
option mode at the end of the second instruction of the vector.
(asm_1): Check option by calling check_macfunc_option.
gas/testsuite/:
* gas/bfin/expected_errors.l, gas/bfin/expected_errors.s: Add
tests for bad options of "multiply and multipy-accumulate to
accumulator" instructions. Add new vector instruction option
mode tests.
* gas/bfin/vector2.s: Add new vector instruction option mode test.
* gas/bfin/vector2.d: Adjust accordingly.
* gas/bfin/expected_errors.s, gas/bfin/expected_errors.l: Add test
for mismatched half registers in vector multipy-accumulate
instructions.
Bernd Schmidt [Wed, 26 Mar 2008 15:18:42 +0000 (15:18 +0000)]
gas/
From Jie Zhang <jie.zhang@analog.com>
* config/bfin-parse.y (asm_1): Check AREGS in comparison
instructions. And call yyerror () when comparing PREG with
DREG.
gas/testsuite/:
* gas/bfin/expected_comparison_errors.l: New test.
* gas/bfin/expected_comparison_errors.s: New test.
* gas/bfin/bfin.exp: Add expected_comparison_errors.
Bernd Schmidt [Wed, 26 Mar 2008 14:50:52 +0000 (14:50 +0000)]
opcodes:
From Robin Getz <robin.getz@analog.com>
* bfin-dis.c (bu32): Typedef.
(enum const_forms_t): Add c_uimm32 and c_huimm32.
(constant_formats[]): Add uimm32 and huimm16.
(fmtconst_val): New.
(uimm32): Define.
(huimm32): Define.
(imm16_val): Define.
(luimm16_val): Define.
(struct saved_state): Define.
(GREG, DPREG, DREG, PREG, SPREG, FPREG, IREG, MREG, BREG, LREG,
A0XREG, A0WREG, A1XREG, A1WREG,CCREG, LC0REG, LT0REG, LB0REG,
LC1REG, LT1REG, LB1REG, RETSREG, PCREG): Define.
(get_allreg): New.
(decode_LDIMMhalf_0): Print out the whole register value.
gas/testsuite:
From Jie Zhang <jie.zhang@analog.com>
* gas/bfin/load.d: Update.
Bernd Schmidt [Wed, 26 Mar 2008 13:04:23 +0000 (13:04 +0000)]
* elf32-bfin.c (bfin_final_link_relocate): New function, wrapper around
_bfd_final_link_relocate that also handles R_pcrel24 relocs.
(bfinfdpic_relocate_section, bfin_relocate_section): Use it.
Ben Elliston [Wed, 26 Mar 2008 02:00:39 +0000 (02:00 +0000)]
Fix a ChangeLog formatting problem.
Ian Lance Taylor [Tue, 25 Mar 2008 23:48:25 +0000 (23:48 +0000)]
* options.cc: Include "../bfd/bfdver.h".
(options::help): Print bug reporting address.
Ian Lance Taylor [Tue, 25 Mar 2008 23:30:48 +0000 (23:30 +0000)]
* version.cc (print_version): Adjust output for current value of
BFD_VERSION_STRING.
Alan Modra [Tue, 25 Mar 2008 23:00:04 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Tue, 25 Mar 2008 21:55:29 +0000 (21:55 +0000)]
* NEWS: New file.
Ian Lance Taylor [Tue, 25 Mar 2008 21:39:01 +0000 (21:39 +0000)]
* options.cc (options::help): Print list of supported targets.
* target-select.h: Include <vector>.
(class Target_selector): Make machine_, size_, and is_big_endian_
fields const. Add bfd_name_ and instantiated_target_ fields.
(Target_selector::Target_selector): Add bfd_name parameter.
(Target_selector::recognize): Make non-virtual, call
do_recognize.
(Target_selector::recognize_by_name): Make non-virtual, call
do_recognize_by_name.
(Target_selector::supported_names): New function.
(Target_selector::bfd_name): New function.
(Target_selector::do_instantiate_target): New pure virtual
function.
(Target_selector::do_recognize): New virtual function.
(Target_selector::do_recognize_by_name): New virtual function.
(Target_selector::instantiate_target): New private function.
(supported_target_names): Declare.
* target-select.cc (Target_selector::Target_selector): Update for
new parameter and fields.
(select_target_by_name): Check that the name matches before
calling recognize_by_name.
(supported_target_names): New function.
* i386.cc (class Target_selector_i386): Update Target_selector
constructor call. Remove recognize and recognize_by_name. Add
do_instantiate_target.
* x86_64.cc (class Target_selector_x86_64): Likewise.
* testsuite/testfile.cc (class Target_selector_test): Update for
changes to Target_selector.
Ian Lance Taylor [Tue, 25 Mar 2008 21:14:45 +0000 (21:14 +0000)]
* README: Rewrite, with some notes on unsupported features.
Nathan Sidwell [Tue, 25 Mar 2008 18:56:02 +0000 (18:56 +0000)]
bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Skip dynamic relocs
in vxworks tls_vars sections.
(allocate_dynrelocs, elf32_arm_size_dynamic_sections): Likewise.
* elf32-i386.c (allocate_dynrelocs,
elf_i386_size_dynamic_sections, elf_i386_relocate_section): Likewise.
* elf32-ppc.c (allocate_dynrelocs, ppc_elf_size_dynamic_sections,
ppc_elf_relocate_section): Likewise.
* elf32-sh.c (allocate_dynrelocs, sh_elf_size_dynamic_sections,
sh_elf_relocate_section): Likewise.
* elfxx-sparc.c (allocate_dynrelocs,
_bfd_sparc_elf_size_dynamic_sections,
_bfd_sparc_elf_relocate_section): Likewise.
ld/testsuite/
* ld-vxworks/tls-3.s: New.
* ld-vxworks/tls-3.d: New.
Cary Coutant [Tue, 25 Mar 2008 18:37:16 +0000 (18:37 +0000)]
* i386.cc (Target_i386::Got_type): New enum declaration.
(Target_i386::Scan::local): Updated callers of Output_data_got
member functions.
(Target_i386::Scan::global): Likewise.
(Target_i386::Relocate::relocate): Likewise.
(Target_i386::Relocate::relocate_tls): Likewise.
* object.h (Got_offset_list): New class.
(Sized_relobj::local_has_got_offset): Added got_type parameter.
(Sized_relobj::local_got_offset): Likewise.
(Sized_relobj::set_local_got_offset): Likewise.
(Sized_relobj::local_has_tls_got_offset): Removed.
(Sized_relobj::local_tls_got_offset): Removed.
(Sized_relobj::set_local_tls_got_offset): Removed.
(Sized_relobj::Local_got_offsets): Changed to store a list of offsets.
* output.cc (Output_data_got::add_global): Added got_type parameter.
(Output_data_got::add_global_with_rel): Likewise.
(Output_data_got::add_global_with_rela): Likewise.
(Output_data_got::add_global_pair_with_rel): New function.
(Output_data_got::add_global_pair_with_rela): New function.
(Output_data_got::add_local): Added got_type parameter.
(Output_data_got::add_local_with_rel): Likewise.
(Output_data_got::add_local_with_rela): Likewise.
(Output_data_got::add_local_pair_with_rel): New function.
(Output_data_got::add_local_pair_with_rela): New function.
(Output_data_got::add_global_tls): Removed.
(Output_data_got::add_global_tls_with_rel): Removed.
(Output_data_got::add_global_tls_with_rela): Removed.
(Output_data_got::add_local_tls): Removed.
(Output_data_got::add_local_tls_with_rel): Removed.
(Output_data_got::add_local_tls_with_rela): Removed.
* output.h (Output_data_got::add_global): Added got_type parameter.
(Output_data_got::add_global_with_rel): Likewise.
(Output_data_got::add_global_with_rela): Likewise.
(Output_data_got::add_global_pair_with_rel): New function.
(Output_data_got::add_global_pair_with_rela): New function.
(Output_data_got::add_local): Added got_type parameter.
(Output_data_got::add_local_with_rel): Likewise.
(Output_data_got::add_local_with_rela): Likewise.
(Output_data_got::add_local_pair_with_rel): New function.
(Output_data_got::add_local_pair_with_rela): New function.
(Output_data_got::add_global_tls): Removed.
(Output_data_got::add_global_tls_with_rel): Removed.
(Output_data_got::add_global_tls_with_rela): Removed.
(Output_data_got::add_local_tls): Removed.
(Output_data_got::add_local_tls_with_rel): Removed.
(Output_data_got::add_local_tls_with_rela): Removed.
* resolve.cc (Symbol::override_base_with_special): Removed
reference to has_got_offset_ field.
* symtab.cc (Symbol::init_fields): Replaced initialization
of got_offset_ with got_offsets_. Removed initialization
of has_got_offset_
*symtab.h (Symbol::has_got_offset): Aded got_type parameter.
(Symbol::got_offset): Likewise.
(Symbol::set_got_offset): Likewise.
(Symbol::has_tls_got_offset): Removed.
(Symbol::tls_got_offset): Removed.
(Symbol::set_tls_got_offset): Removed.
(Symbol::got_offset_): Removed.
(Symbol::tls_mod_got_offset_): Removed.
(Symbol::tls_pair_got_offset_): Removed.
(Symbol::got_offsets_): New field.
(Symbol::has_got_offset): Removed.
(Symbol::has_tls_mod_got_offset): Removed.
(Symbol::has_tls_pair_got_offset): Removed.
* x86_64.cc (Target_x86_64::Got_type): New enum declaration.
(Target_x86_64::Scan::local): Updated callers of Output_data_got
member functions.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::Relocate::relocate): Likewise.
(Target_x86_64::Relocate::relocate_tls): Likewise.
Ben Elliston [Tue, 25 Mar 2008 07:50:21 +0000 (07:50 +0000)]
* yyscript.y: Fix spelling error in comment.
Ian Lance Taylor [Tue, 25 Mar 2008 05:11:41 +0000 (05:11 +0000)]
* options.h (class General_options): Define build_id option.
* layout.h (class Layout): Declare write_build_id, create_note,
create_build_id. Add build_id_note_ member.
* layout.cc: Include <cerrno>, <fcntl.h>, <unistd.h>,
"libiberty.h", "md5.h", "sha1.h".
(Layout::Layout): Initialize eh_frame_data_,
eh_frame_hdr_section_, and build_id_note_.
(Layout::finalize): Call create_build_id.
(Layout::create_note): New function, broken out of
Layout::create_gold_note.
(Layout::create_gold_note): Call create_note.
(Layout::create_build_id): New function.
(Layout::write_build_id): New function.
(Close_task_runner::run): Call write_build_id.
Ian Lance Taylor [Tue, 25 Mar 2008 05:00:01 +0000 (05:00 +0000)]
* elfcpp.h (NT_VERSION, NT_ARCH): Define as enum constants.
(NT_GNU_ABI_TAG, NT_GNU_HWCAP): Likewise.
(NT_GNU_BUILD_ID, NT_GNU_GOLD_VERSION): Likewise.
(ELF_NOTE_OS_LINUX, ELF_NOTE_OS_GNU): Likewise.
(ELF_NOTE_OS_SOLARIS2, ELF_NOTE_OS_NETBSD): Likewise.
(ELF_NOTE_OS_SYLLABLE): Likewise.
Ian Lance Taylor [Tue, 25 Mar 2008 04:58:21 +0000 (04:58 +0000)]
* common.h (NT_GNU_GOLD_VERSION): Define.
Ian Lance Taylor [Tue, 25 Mar 2008 04:54:03 +0000 (04:54 +0000)]
The sha1 code is now in libiberty.
* sha1.c: Remove.
* sha1.h: Remove.
* Makefile.am (CFILES): Remove sha1.c.
(HFILES): Remove sha1.h.
(OFILES): Remove sha1.o.
(ld_new_SOURCES): Remove sha1.c.
(sha1.o): Remove target.
* Makefile.in: Rebuild.
DJ Delorie [Tue, 25 Mar 2008 01:02:13 +0000 (01:02 +0000)]
merge from gcc
Ian Lance Taylor [Tue, 25 Mar 2008 00:21:18 +0000 (00:21 +0000)]
Bring patch correction over from gcc repository.
Ian Lance Taylor [Mon, 24 Mar 2008 23:43:26 +0000 (23:43 +0000)]
* md5.h: Add extern "C" when compiled with C++.
Alan Modra [Mon, 24 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Mon, 24 Mar 2008 21:42:22 +0000 (21:42 +0000)]
* x86_64.cc: Correct license to GPLv3.
Ben Elliston [Mon, 24 Mar 2008 20:19:41 +0000 (20:19 +0000)]
Add elfcpp, gold directories.
DJ Delorie [Mon, 24 Mar 2008 18:06:37 +0000 (18:06 +0000)]
merge from gcc
Ian Lance Taylor [Mon, 24 Mar 2008 03:48:29 +0000 (03:48 +0000)]
* options.cc: Include "demangle.h".
(parse_optional_string): New function.
(parse_long_option): Handle takes_optional_argument.
(parse_short_option): Update dash_z initializer. Handle
takes_optional_argument.
(General_options::General_options): Initialize do_demangle_.
(General_options::finalize): Set do_demangle_. Handle demangling
style.
* options.h (parse_optional_string): Declare.
(struct One_option): Add optional_arg field. Update constructor.
Update call constructor calls. Add takes_optional_argument
function.
(DEFINE_var): Add optional_arg__ parameter. Change all callers.
(DEFINE_optional_string): Define.
(General_options::demangle): Change from DEFINE_bool to
DEFINE_optional_string.
(General_options::no_demangle): New function.
(General_options::do_demangle): New function.
(General_options::set_do_demangle): New function.
(General_options::execstack_status_): Move definition to end of
class definition.
(General_options::static_): Likewise.
(General_options::do_demangle_): New field.
* object.cc (big_endian>::get_symbol_location_info): Call
Options::do_demangle, not Options::demangle.
* symtab.cc (demangle): Likewise.
Alan Modra [Sun, 23 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 22 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Sat, 22 Mar 2008 18:51:35 +0000 (18:51 +0000)]
* gold.h: Include <cstddef> and <sys/types.h>
* options.h: Include <cstring>.
Hans-Peter Nilsson [Sat, 22 Mar 2008 12:23:54 +0000 (12:23 +0000)]
* ld-cris/libdso-10.d: Adjust for change in objdump output.
Ian Lance Taylor [Sat, 22 Mar 2008 00:02:52 +0000 (00:02 +0000)]
Add ChangeLog file.
Ian Lance Taylor [Fri, 21 Mar 2008 23:40:18 +0000 (23:40 +0000)]
* filenames.h: Add extern "C" when compiled with C++.
Ian Lance Taylor [Fri, 21 Mar 2008 23:25:13 +0000 (23:25 +0000)]
Add ChangeLog file now that the sources are part of the GNU binutils.
Alan Modra [Fri, 21 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Fri, 21 Mar 2008 17:48:18 +0000 (17:48 +0000)]
Bump version for general release.
Adam Nemet [Fri, 21 Mar 2008 16:29:26 +0000 (16:29 +0000)]
* ld-mips-elf/dyn-sec64.d, ld-mips-elf/dyn-sec64.s,
ld-mips-elf/dyn-sec64.ld: New test.
* ld-mips-elf/mips-elf.exp: Run it.
Adam Nemet [Fri, 21 Mar 2008 16:22:51 +0000 (16:22 +0000)]
* elf.c (_bfd_elf_print_private_bfd_data): Use bfd_fprintf_vma to
print the values from the dynamic section.
Ian Lance Taylor [Fri, 21 Mar 2008 15:42:41 +0000 (15:42 +0000)]
Copy this patch over from master gcc repository:
* configure.ac: Add support for --enable-gold.
* Makefile.def: Add gold as a directory like ld.
* configure, Makefile.in: Regenerate.
H.J. Lu [Fri, 21 Mar 2008 03:27:57 +0000 (03:27 +0000)]
2008-03-20 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_mips_specific): Declare addr_size as int.
Alan Modra [Thu, 20 Mar 2008 23:00:06 +0000 (23:00 +0000)]
daily update
Richard Sandiford [Thu, 20 Mar 2008 10:53:11 +0000 (10:53 +0000)]
binutils/
* readelf.c (print_mips_got_entry): New function.
(process_mips_specific): Print GOT information.
ld/testsuite/
* ld-mips-elf/got-dump-1.d, ld-mips-elf/got-dump-1.s,
ld-mips-elf/got-dump-1.ld, ld-mips-elf/got-dump-2.d,
ld-mips-elf/got-dump-2.s, ld-mips-elf/got-dump-2.ld: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
Richard Sandiford [Thu, 20 Mar 2008 10:52:14 +0000 (10:52 +0000)]
bfd/
* elfxx-mips.c (MIPS_ELF_GNU_GOT1_MASK): New macro.
(_bfd_mips_elf_finish_dynamic_sections): Use it instead of 0x80000000.
ld/testsuite/
* ld-mips-elf/elf-rel-got-n64-linux.d: Expect bit 63 rather than
bit 31 of the second GOT entry to be set.
* ld-mips-elf/elf-rel-got-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
Alan Modra [Thu, 20 Mar 2008 05:35:10 +0000 (05:35 +0000)]
bfd/
* elf32-spu.c (spu_elf_create_sections): Remove output_bfd parameter.
(spu_elf_find_overlays, spu_elf_size_stubs): Likewise
(process_stubs, discover_functions, build_call_tree): Likewise.
(spu_elf_stack_analysis): Likewise.
(spu_elf_check_vma): Likewise. Move.
(struct call_info): Make "is_tail" a bitfield.
(insert_callee): Clear fun->start and set fun->is_func if we find
a non-tail call.
* elf32-spu.h (spu_elf_create_sections): Update prototype.
(spu_elf_find_overlays, spu_elf_size_stubs, spu_elf_check_vma): Ditto.
ld/
* emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
Ian Lance Taylor [Thu, 20 Mar 2008 05:22:37 +0000 (05:22 +0000)]
From Craig Silverstein: implement -z defs.
Alan Modra [Wed, 19 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Wed, 19 Mar 2008 21:41:38 +0000 (21:41 +0000)]
Make sure the start and size of the TLS segment are aligned.
Andreas Krebbel [Wed, 19 Mar 2008 10:29:18 +0000 (10:29 +0000)]
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* opcodes/s390-mkopc.c (s390_opcode_cpu_val): S390_OPCODE_Z10 added.
(s390_cond_extensions): Reduced extensions to the compare related.
(main): z10 cpu type option added.
(expandConditionalJump): Renamed to ...
(insertExpandedMnemonic): ... this.
* opcodes/s390-opc.c: Re-group the operand format makros.
(INSTR_RIE_RRPU, INSTR_RIE_RRP0, INSTR_RIE_RUPI,
INSTR_RIE_R0PI, INSTR_RIE_RUPU, INSTR_RIE_R0PU, INSTR_RIE_R0IU,
INSTR_RIE_R0I0, INSTR_RIE_R0UU, INSTR_RIE_R0U0,
INSTR_RIE_RRUUU, INSTR_RIS_RURDI, INSTR_RIS_R0RDI, INSTR_RIS_RURDU,
INSTR_RIS_R0RDU, INSTR_RRF_U0RR, INSTR_RRF_00RR, INSTR_RRS_RRRDU,
INSTR_RRS_RRRD0, INSTR_RXY_URRD, INSTR_SIY_IRD, INSTR_SIL_RDI,
INSTR_SIL_RDU): New instruction formats added.
(MASK_RIE_RRPU, MASK_RIE_RRP0, MASK_RIE_RUPI, MASK_RIE_R0PI,
MASK_RIE_RUPU, MASK_RIE_R0PU, MASK_RIE_R0IU, MASK_RIE_R0I0,
MASK_RIE_R0UU, MASK_RIE_R0U0, MASK_RIE_RRUUU, MASK_RIS_RURDI,
MASK_RIS_R0RDI, MASK_RIS_RURDU, MASK_RIS_R0RDU, MASK_RRF_U0RR,
MASK_RRF_00RR, MASK_RRS_RRRDU, MASK_RRS_RRRD0, MASK_RXY_URRD,
MASK_SIY_IRD, MASK_SIL_RDI, MASK_SIL_RDU): New instruction format
masks added.
(s390_opformats): New formats added "ris", "rrs", "sil".
* opcodes/s390-opc.txt: Add the conditional jumps with the
extensions removed from automatic expansion in s390-mkopc.c manually.
(asi - trtre): Add new System z10 EC instructions.
* include/opcode/s390.h (s390_opcode_cpu_val): S390_OPCODE_Z10 added.
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* config/tc-s390.c (md_parse_option): z10 option added.
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* gas/s390/zarch-z10.d: New file.
* gas/s390/zarch-z10.s: New file.
* gas/s390/s390.exp: Run the z10 testcases.
Alan Modra [Tue, 18 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Nick Clifton [Tue, 18 Mar 2008 16:56:00 +0000 (16:56 +0000)]
* gas/macros/test1.s: Rename symbols to avoid conflicts with
possible register names.
* gas/macros/test1.d: Update expected disassembly.
Ralf Wildenhues [Tue, 18 Mar 2008 06:20:40 +0000 (06:20 +0000)]
Fix ChangeLog date.
Alan Modra [Mon, 17 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ralf Wildenhues [Mon, 17 Mar 2008 22:17:33 +0000 (22:17 +0000)]
* configure.ac: m4_include config/proginstall.m4.
* configure: Regenerate.
config/
* proginstall.m4: New file, with fixed AC_PROG_INSTALL.
bfd/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
bfd/doc/
* Makefile.in: Regenerate.
intl/
* aclocal.m4: Regenerate.
* configure: Likewise.
gas/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
ld/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
opcodes/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
binutils/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
gprof/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
Richard Sandiford [Mon, 17 Mar 2008 18:52:04 +0000 (18:52 +0000)]
ld/testsuite/
* ld-mips-elf/eh-frame1-n32.d: Expect a warning about .eh_frame_hdr.
Remove duplicate CIEs. Adjust relocation addresses and .eh_frame
offsets accordingly. Do not allow there to be any trailing
R_MIPS_NONE relocations.
* ld-mips-elf/eh-frame1-n64.d: Likewise.
* ld-mips-elf/eh-frame2-n32.d: Likewise.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
Richard Sandiford [Mon, 17 Mar 2008 18:45:35 +0000 (18:45 +0000)]
gas/testsuite/
* gas/mips/elf-rel26.d: Add -32.
* gas/mips/mips16-intermix.d: Likewise.
ld/testsuite/
* ld-mips-elf/mips-elf.exp (o32_as_flags, o32_ld_flags): New variables.
(mips16_call_global_test, mips16_intermix_test): Use them.
Craig Silverstein [Mon, 17 Mar 2008 17:56:52 +0000 (17:56 +0000)]
Up the version number to 1.3, which was just pushed to devtools.
Ian Lance Taylor [Sun, 16 Mar 2008 23:51:19 +0000 (23:51 +0000)]
Fix handling of RELA relative relocs against local symbols in merge
sections.
Alan Modra [Sun, 16 Mar 2008 23:16:03 +0000 (23:16 +0000)]
PR 5946
* config/tc-hppa.c (is_same_frag): Delete.
Alan Modra [Sun, 16 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sun, 16 Mar 2008 22:26:23 +0000 (22:26 +0000)]
bfd/
2008-03-16 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5789
PR ld/5943
* elf32-i386.c (elf_i386_relocate_section): Issue an error
for R_386_GOTOFF relocaton against undefined hidden/internal
symbols when building a shared object.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Issue an
error for R_X86_64_PC8/R_X86_64_PC16/R_X86_64_PC32
relocaton against undefined hidden/internal symbols when
building a shared object.
(elf64_x86_64_finish_dynamic_symbol): Return FALSE when symbol
is referenced locally, but isn't defined in a regular file.
ld/testsuite/
2008-03-16 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5789
PR ld/5943
* ld-i386/hidden1.d: New.
* ld-i386/hidden1.s: Likewise.
* ld-i386/hidden2.d: Likewise.
* ld-i386/hidden2.s: Likewise.
* ld-i386/hidden3.d: Likewise.
* ld-i386/hidden4.s: Likewise.
* ld-i386/protected1.d: Likewise.
* ld-i386/protected1.s: Likewise.
* ld-i386/protected2.d: Likewise.
* ld-i386/protected2.s: Likewise.
* ld-i386/protected3.d: Likewise.
* ld-i386/protected3.s: Likewise.
* ld-x86-64/hidden1.d: Likewise.
* ld-x86-64/hidden1.s: Likewise.
* ld-x86-64/hidden2.d: Likewise.
* ld-x86-64/hidden2.s: Likewise.
* ld-x86-64/hidden3.d: Likewise.
* ld-x86-64/hidden3.s: Likewise.
* ld-x86-64/protected1.d: Likewise.
* ld-x86-64/protected1.s: Likewise.
* ld-x86-64/protected2.d: Likewise.
* ld-x86-64/protected2.s: Likewise.
* ld-x86-64/protected3.d: Likewise.
* ld-x86-64/protected3.s: Likewise.
* ld-i386/i386.exp: Run hidden1, hidden2, hidden3, protected1,
protected2 and protected3.
* ld-x86-64/x86-64.exp: Likewise.
Brian Dessent [Sun, 16 Mar 2008 07:26:56 +0000 (07:26 +0000)]
* rcparse.y (resid): Allow control text to span multiple lines.
H.J. Lu [Sun, 16 Mar 2008 06:53:48 +0000 (06:53 +0000)]
2008-03-15 H.J. Lu <hongjiu.lu@intel.com>
* bfd-in.h (BFD_NO_FLAGS, HAS_RELOC, EXEC_P, HAS_LINENO,
HAS_DEBUG, HAS_SYMS, HAS_LOCALS, DYNAMIC, WP_TEXT, D_PAGED,
BFD_IS_RELAXABLE, BFD_TRADITIONAL_FORMAT, BFD_IN_MEMORY,
HAS_LOAD_PAGE, BFD_LINKER_CREATED): Moved to ...
* bfd.c: Here.
* bfd.c (bfd): Change cacheable, target_defaulted, opened_once,
mtime_set, no_export, output_has_begun and has_armap to bit
field.
* bfd-in2.h: Regenerated.
Ralf Wildenhues [Sun, 16 Mar 2008 06:49:28 +0000 (06:49 +0000)]
2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Backport from upstream Libtool:
2007-10-12 Eric Blake <ebb9@byu.net>
Deal with Autoconf 2.62's semantic change in m4_append.
* ltsugar.m4 (lt_append): Replace broken versions of
m4_append.
(lt_if_append_uniq): Don't require separator to be overquoted,
and avoid broken m4_append.
(lt_dict_add): Fix typo.
* libtool.m4 (_LT_DECL): Don't overquote separator.
Alan Modra [Sat, 15 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Fri, 14 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Bob Wilson [Fri, 14 Mar 2008 20:17:39 +0000 (20:17 +0000)]
2008-03-14 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.h (xtensa_relax_statesE): Update comment for
RELAX_LOOP_END_ADD_NOP.
Daniel Jacobowitz [Fri, 14 Mar 2008 18:39:41 +0000 (18:39 +0000)]
* cache.c (close_one): Remove mtime hack.
* corefile.c (reopen_exec_file): Use exec_bfd_mtime.
* exec.c (exec_bfd_mtime): Define.
(exec_close): Clear it.
(exec_file_attach): Set it.
* gdbcore.h (exec_bfd_mtime): Declare.
* source.c (find_source_lines): Do not use bfd_get_mtime.