OSDN Git Service
DJ Delorie [Mon, 21 Apr 2008 22:30:17 +0000 (22:30 +0000)]
merge from gcc
Nathan Sidwell [Mon, 21 Apr 2008 17:54:25 +0000 (17:54 +0000)]
bfd/
* elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Don't
set the value of undefined symbols in shared objects.
(_bfd_mips_vxworks_finish_dynamic_symbol): Clear value for
undefined symbols unless pointer equality is needed.
ld/testsuite/
* ld-vxworks/plt-mips1.s: New.
* ld-vxworks/plt-mips1.d: New.
Alan Modra [Mon, 21 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 20 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Sat, 19 Apr 2008 20:15:56 +0000 (20:15 +0000)]
* version.cc (version_string): Bump to 1.6.
Ian Lance Taylor [Sat, 19 Apr 2008 19:43:13 +0000 (19:43 +0000)]
* testsuite/Makefile.am (many_sections_r_test): New target.
(many_sections_r_test_SOURCES): Remove.
(many_sections_r_test_DEPENDENCIES): Remove.
(many_sections_r_test_LDFLAGS): Remove.
(many_sections_r_test_LDADD): Remove.
Ian Lance Taylor [Sat, 19 Apr 2008 19:34:41 +0000 (19:34 +0000)]
* object.cc (Sized_relobj::do_add_symbols): Always pass
local_symbol_count_ to add_from_relobj.
Ian Lance Taylor [Sat, 19 Apr 2008 19:15:36 +0000 (19:15 +0000)]
* testsuite/Makefile.am (many_sections_check.h): Only check one in
every thousand variables.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Sat, 19 Apr 2008 18:33:19 +0000 (18:33 +0000)]
* elfcpp_file.h (class Elf_file): Add large_shndx_offset_ field.
(Elf_file::large_shndx_offset): New function.
(Elf_file::construct): Initialize large_shndx_offset_.
(Elf_File::initialize_shnum): If necessary, adjust shstrndx_ and
set large_shndx_offset_.
Ian Lance Taylor [Sat, 19 Apr 2008 18:30:58 +0000 (18:30 +0000)]
* object.cc (Xindex::initialize_symtab_xindex): New function.
(Xindex::read_symtab_xindex): New function.
(Xindex::sym_xindex_to_shndx): New function.
(Sized_relobj::find_symtab): Pick up SHT_SYMTAB_SHNDX section if
available.
(Sized_relobj::do_initialize_xindex): New function.
(Sized_relobj::do_read_symbols): Adjust section links.
(Sized_relobj::symbol_section_and_value): Add is_ordinary
parameter. Change all callers.
(Sized_relobj::include_section_group): Adjust section links and
symbol section indexes.
(Sized_relobj::do_layout): Adjust section links.
(Sized_relobj::do_count_local_symbols): Adjust section links and
symbol section indexes.
(Sized_relobj::do_finalize_local_symbols): Distinguish between
ordinary and special symbols.
(Sized_relobj::write_local_symbols): Add symtab_xindex and
dynsym_xindex parameters. Change all callers. Adjust section
links. Use SHN_XINDEX when needed.
(Sized_relobj::get_symbol_location_info): Adjust section links.
Don't get fooled by special symbols.
* object.h (class Xindex): Define.
(class Object): Add xindex_ parameter. Declare virtual functoin
do_initialize_xindex.
(Object::adjust_sym_shndx): New function.
(Object::set_xindex): New protected function.
(class Symbol_value): Add is_ordinary_shndx_ field.
(Symbol_value::Symbol_value): Initialize is_ordinary_shndx_.
(Symbol_value::value): Assert ordinary section.
(Symbol_value::initialize_input_to_output_map): Likewise.
(Symbol_value::set_input_shndx): Add is_ordinary parameter.
Change all callers.
(Symbol_value::input_shndx): Add is_ordinary parameter. Change
all callers.
(class Sized_relobj): Update declarations.
(Sized_relobj::local_symbol_input_shndx): Add is_ordinary
parameter. Change all callers.
(Sized_relobj::adjust_shndx): New function.
* dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize dynsym_shndx_
field.
(Sized_dynobj::find_dynsym_sections): Remove pdynsym_shndx
parameter. Change all callers. Pick up SHT_DYNSYM_SHNDX section
for SHT_DYNSYM section if available. Set dynsym_shndx_ field.
(Sized_dynobj::read_dynsym_section): Adjust section links.
(Sized_dynobj::read_dynamic): Likewise.
(Sized_dynobj::do_read_symbols): Use dynsym_shndx_ field. Adjust
section links.
(Sized_dynobj::do_initialize_xindex): New function.
* dynobj.h (class Sized_dynobj): Add dynsym_shndx_ field. Declare
do_initialize_xindex.
(Sized_dynobj::adjust_shndx): New function.
* layout.cc (Layout::Layout): Initialize symtab_xindex_ and
dynsym_xindex_ fields.
(Layout::finalize): Add a call to set_section_indexes before
creating the symtab sections.
(Layout::set_section_indexes): Don't do anything if the section
already has a section index.
(Layout::create_symtab_sections): Add shnum parameter. Change
caller. Create .symtab_shndx section if needed.
(Layout::create_shdrs): Add shstrtab_section parameter. Change
caller.
(Layout::allocated_output_section_count): New function.
(Layout::create_dynamic_symtab): Create .dynsym_shndx section if
needed.
* layout.h (class Layout): Add symtab_xindex_ and dynsym_xindex_
fields. Update declarations.
(Layout::symtab_xindex): New function.
(Layout::dynsym_xindex): New function.
(class Write_symbols_task): Add layout_ field.
(Write_symbols_task::Write_symbols_task): Add layout parameter.
Change caller.
* output.cc (Output_section_headers::Output_section_headers): Add
shstrtab_section parameter. Change all callers.
(Output_section_headers::do_sized_write): Store overflow values
for section count and section string table section index in
section header zero.
(Output_file_header::do_sized_write): Check for overflow of
section count and section string table section index.
(Output_symtab_xindex::do_write): New function.
(Output_symtab_xindex::endian_do_write): New function.
* output.h (class Output_section_headers): Add shstrtab_section_.
Update declarations.
(class Output_symtab_xindex): Define.
(Output_section::has_out_shndx): New function.
* symtab.cc (Symbol::init_fields): Initialize is_ordinary_shndx_
field.
(Symbol::init_base): Add st_shndx and is_ordinary parameters.
Change all callers.
(Sized_symbol::init): Likewise.
(Symbol::output_section): Check for ordinary symbol.
(Symbol_table::add_from_object): Remove orig_sym parameter. Add
st_shndx, is_ordinary, and orig_st_shndx parameters. Change all
callers.
(Symbol_table::add_from_relobj): Add symndx_offset parameter.
Change all callers. Simplify handling of symbols from sections
not included in the link.
(Symbol_table::add_from_dynobj): Handle ordinary symbol
distinction.
(Weak_alias_sorter::operator()): Assert that symbols are
ordinary.
(Symbol_table::sized_finalize_symbol): Handle ordinary symbol
distinction.
(Symbol_table::write_globals): Add symtab_xindex and dynsym_xindex
parameters. Change all callers.
(Symbol_table::sized_write_globals): Likewise. Handle ordinary
symbol distinction. Use SHN_XINDEX when needed.
(Symbol_table::write_section_symbol): Add symtab_xindex
parameter. Change all callers.
(Symbol_table::sized_write_section_symbol): Likewise. Use
SHN_XINDEX when needed.
* symtab.h (class Symbol): Add is_ordinary_shndx_ field. Update
declarations.
(Symbol::shndx): Add is_ordinary parameter. Change all callers.
(Symbol::is_defined): Check is_ordinary.
(Symbol::is_undefined, Symbol::is_weak_undefined): Likewise.
(Symbol::is_absolute, Symbol::is_common): Likewise.
(class Sized_symbol): Update declarations.
(class Symbol_table): Update declarations.
* resolve.cc (Symbol::override_base): Add st_shndx and is_ordinary
parameters. Change all callers.
(Sized_symbol::override): Likewise.
(Symbol_table::override): Likewise.
(symbol_to_bits): Add is_ordinary parameter. Change all callers.
(Symbol_table::resolve): Remove orig_sym parameter. Add st_shndx,
is_ordinary, and orig_st_shndx parameters. Change all callers.
* copy-relocs.cc (Copy_relocs::emit_copy_reloc): Require symbol
to be in an ordinary section.
* dwarf_reader.cc (Sized_dwarf_line_info::symbol_section): Add
object and is_ordinary parameters. Change all callers.
(Sized_dwarf_line_info::read_relocs): Add object parameter.
Change all callers. Don't add undefined or non-ordinary symbols
to reloc_map_.
(Sized_dwarf_line_info::read_line_mappings): Add object parameter.
Change all callers.
* dwarf_reader.h (class Sized_dwarf_line_info): Update
declarations.
* ehframe.cc (Eh_frame::read_fde): Check for ordinary symbol.
* reloc.cc (Sized_relobj::do_read_relocs): Adjust section links.
(Sized_relobj::relocate_sections): Likewise.
* target-reloc.h (scan_relocs): Adjust section symbol index.
(scan_relocatable_relocs): Likewise.
* i386.cc (Scan::local): Check for ordinary symbols.
* sparc.cc (Scan::local): Likewise.
* x86_64.cc (Scan::local): Likewise.
* testsuite/binary_unittest.cc (Sized_binary_test): Update calls
to symbol_section_and_value.
* testsuite/many_sections_test.cc: New file.
* testsuite/Makefile.am (BUILT_SOURCES): Define.
(check_PROGRAMS): Add many_sections_test.
(many_sections_test_SOURCES): Define.
(many_sections_test_DEPENDENCIES): Define.
(many_sections_test_LDFLAGS): Define.
(BUILT_SOURCES): Add many_sections_define.h.
(many_sections_define.h): New target.
(BUILT_SOURCES): Add many_sections_check.h.
(many_sections_check.h): New target.
(check_PROGRAMS): Add many_sections_r_test.
(many_sections_r_test_SOURCES): Define.
(many_sections_r_test_DEPENDENCIES): Define.
(many_sections_r_test_LDFLAGS): Define.
(many_sections_r_test_LDADD): Define.
(many_sections_r_test.o): New target.
* testsuite/Makefile.in: Rebuild.
Alan Modra [Sat, 19 Apr 2008 00:00:06 +0000 (00:00 +0000)]
daily update
David S. Miller [Fri, 18 Apr 2008 21:19:48 +0000 (21:19 +0000)]
* doc/c-sparc.texi: Add syntax section.
H.J. Lu [Fri, 18 Apr 2008 18:22:37 +0000 (18:22 +0000)]
2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (build_modrm_byte): Don't check FMA to swap
REG and NDS for instructions with immediate operand.
DJ Delorie [Fri, 18 Apr 2008 15:14:13 +0000 (15:14 +0000)]
merge from gcc
H.J. Lu [Fri, 18 Apr 2008 13:10:32 +0000 (13:10 +0000)]
gas/
2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (build_modrm_byte): Swap REG and NDS for
FMA.
gas/testsuite/
2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.d: Updated.
* gas/i386/avx.d: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
opcodes/
2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_VEX_FMA): New.
(OP_EX_VexImmW): Likewise.
(VexFMA): Likewise.
(Vex128FMA): Likewise.
(EXVexImmW): Likewise.
(get_vex_imm8): Likewise.
(OP_EX_VexReg): Likewise.
(vex_i4_done): Renamed to ...
(vex_w_done): This.
(prefix_table): Replace EXVexW with EXVexImmW on vpermil2ps
and vpermil2pd. Replace Vex/Vex128 with VexFMA/Vex128FMA on
FMA instructions.
(print_insn): Updated.
(OP_EX_VexW): Rewrite to swap register in VEX with EX.
(OP_REG_VexI4): Check invalid high registers.
Paolo Bonzini [Fri, 18 Apr 2008 11:07:31 +0000 (11:07 +0000)]
2008-04-18 Paolo Bonzini <bonzini@gnu.org>
Sync with gcc:
2008-04-18 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/35457
* configure.ac: Include override.m4.
* configure: Regenerate.
2008-04-18 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (restrap): Call `make all' using double-colon rules.
* Makefile.in: Regenerate.
2008-04-11 Eric B. Weddington <eweddington@cso.atmel.com>
* configure.ac: Do not build libssp for the AVR.
* configure: Regenerate.
config:
2008-04-18 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/35457
* override.m4: Add this. Make sure aclocal always picks it.
Add more lenient precious variable check, backported from
autoconf trunk.
Nick Clifton [Fri, 18 Apr 2008 09:22:24 +0000 (09:22 +0000)]
* aix5ppc-core.c: Define macros for the default architecture and
machine for matching core files.
(xcoff64_core_p): Set the architecture and machine to the default
values defined in the macros mentioned above.
* rs6000-core.c: Define macros to determine whether or not the
core file header uses the core_dumpxx header format.
(rs6000coff_core_p): Don't match core files that use the
core_dumpxx header format.
Kai Tietz [Fri, 18 Apr 2008 09:06:22 +0000 (09:06 +0000)]
[patch]: ctor/dtor section must start at alignment of 8 for x86_64-pc-mingw32.
* scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
Nick Clifton [Fri, 18 Apr 2008 08:55:06 +0000 (08:55 +0000)]
* MAINTAINERS: Replace reference to configure.in with reference to configure.ac.
David S. Miller [Fri, 18 Apr 2008 08:47:35 +0000 (08:47 +0000)]
* config/tc-sparc.c (sparc_ip): Recognize %pc22 and %pc10.
Nick Clifton [Fri, 18 Apr 2008 08:45:05 +0000 (08:45 +0000)]
* configure.ac (cr16-*-*): Add case for cr16 target and include gdb
as nonconfigurable directories list.
* configure: Regenerate.
Alan Modra [Fri, 18 Apr 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Cary Coutant [Thu, 17 Apr 2008 22:45:47 +0000 (22:45 +0000)]
* errors.cc (Errors::info): New function.
(gold_info): New function.
* errors.h (Errors::info): New function.
* gold.h (gold_info): New function.
* object.cc (Input_objects::add_object): Print trace output.
* options.cc (options::parse_set): New function.
(General_options::parse_wrap): Deleted.
(General_options::General_options): Deleted initializer.
* options.h (options::String_set): New typedef.
(options::parse_set): New function.
(DEFINE_set): New macro.
(General_options::wrap): Changed to use DEFINE_set. Changed
callers of any_wrap_symbols and is_wrap_symbol.
(General_options::trace, General_options::trace_symbol):
New options.
(General_options::any_wrap_symbols, General_options::is_wrap_symbol)
(General_options::wrap_symbols_): Deleted.
* symtab.cc (Symbol_table::add_from_object): Print trace output.
David S. Miller [Thu, 17 Apr 2008 20:23:59 +0000 (20:23 +0000)]
* options.cc (General_options::parse_V): New function.
* options.h: Add entries for -V and -Qy.
Ian Lance Taylor [Thu, 17 Apr 2008 07:12:00 +0000 (07:12 +0000)]
* common.cc (Symbol_table::allocate_commons): Remove options
parameter. Change caller.
(Symbol_table::do_allocate_commons): Remove options parameter.
Change caller. Just call do_allocate_commons_list twice.
(Symbol_table::do_allocate_commons_list): New function, broken out
of do_allocate_commons.
* common.h (class Allocate_commons_task): Remove options_ field.
Update constructor.
* symtab.cc (Symbol_table::Symbol_table): Initialize
tls_commons_.
(Symbol_table::add_from_object): Put TLS common symbols on
tls_commons_ list.
(Symbol_table::sized_finalize_symbol): Handle STT_TLS symbols
which are IN_OUTPUT_DATA.
* symtab.h (class Symbol_table): Add tls_commons_ field. Update
allocate_commons and do_allocate_commons declarations. Declare
do_allocate_commons_list.
* gold.cc (queue_middle_tasks): Update creation of
Allocate_commons_task to not pass options.
* testsuite/Makefile.am (INCLUDES): Add -I.. .
(TLS_TEST_C_FLAGS): New variable.
(tls_test_c_pic.o): New target.
(tls_test_shared.so): Link in tls_test_c_pic.o.
(tls_test_c_pic_ie.o): New target.
(tls_test_ie_shared.so): Link in tls_test_c_pic_ie.o.
(tls_test_DEPENDENCIES, tls_test_LDADD): Add tls_test_c.o.
(tls_test_c.o): New target.
(tls_pic_test_DEPENDENCIES): Add tls_test_c_pic.o.
(tls_pic_test_LDADD): Likewise.
(tls_shared_gd_to_ie_test_DEPENDENCIES): Add tls_test_c_pic.o.
(tls_shared_gd_to_ie_test_LDADD): Likewise.
(tls_test_c_gnu2.o): New target.
(tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES): Add
tls_test_c_gnu2.o.
(tls_shared_gnu2_gd_to_ie_test_LDADD): Likewise.
(tls_test_gnu2_shared.so): Link in tls_test_c_gnu2.o.
(tls_test_shared_nonpic.so): Link in tls_test_c.o.
* testsuite/tls_test.cc: Include "config.h".
(t_last): Call t11_last.
* testsuite/tls_test.h (t11, t11_last): Declare.
* testsuite/tls_test_c.c: New file.
* testsuite/tls_test_main.cc (thread_routine): Call t11.
* configure.ac: Check for OpenMP support.
* configure, config.in, Makefile.in: Rebuild.
* testsuite/Makefile.in: Rebuild.
David S. Miller [Thu, 17 Apr 2008 07:07:37 +0000 (07:07 +0000)]
* sparc.cc (Target_sparc::Scan): Change from struct to class.
Add issued_non_pic_error_ field. Declare check_non_pic.
(Target_sparc::Scan::check_non_pic): New function.
(Target_sparc::Scan::local): Call check_non_pic as appropriate.
(Target_sparc::Scan::global): Likewise.
David S. Miller [Thu, 17 Apr 2008 05:52:32 +0000 (05:52 +0000)]
* configure.ac (FN_PTRS_IN_SO_WITHOUT_PIC): Add sparc64.
* configure: Rebuild.
Cary Coutant [Thu, 17 Apr 2008 02:00:54 +0000 (02:00 +0000)]
* i386.cc (Target_i386::define_tls_base_symbol): New function.
(Target_i386::tls_base_symbol_defined_): New field.
(Target_i386::Scan::local): Define _TLS_MODULE_BASE_ symbol.
(Target_i386::Scan::global): Likewise.
* symtab.cc (sized_finalize_symbol): Add check for TLS symbol.
* x86_64.cc (Target_x86_64::define_tls_base_symbol): New function.
(Target_x86_64::tls_base_symbol_defined_): New field.
(Target_x86_64::Scan::local): Define _TLS_MODULE_BASE_ symbol.
(Target_x86_64::Scan::global): Likewise.
Cary Coutant [Thu, 17 Apr 2008 00:14:36 +0000 (00:14 +0000)]
* symtab.h (Symbol::is_strong_undefined): Removed unused function.
(Symbol::needs_plt_entry): Allow weak undefined symbols.
(Symbol::needs_dynamic_reloc): Allow weak undefined symbols when
building shared libraries.
* testsuite/Makefile.am (weak_undef_nonpic_test): New target.
(weak_undef_file1_nonpic.o, weak_undef_file2_nonpic.o)
(weak_undef_lib_nonpic.so, alt/weak_undef_lib_nonpic.so): New targets.
* testsuite/Makefile.in: Rebuild.
* testsuite/weak_undef.h: New file.
* testsuite/weak_undef_file1.cc: Add extra test cases.
* testsuite/weak_undef_file2.cc: Likewise.
* testsuite/weak_undef_test.cc: Likewise.
Alan Modra [Thu, 17 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
David S. Miller [Wed, 16 Apr 2008 23:21:01 +0000 (23:21 +0000)]
elfcpp/
* elfcpp.h (DF_1_NOW, DF_1_GLOBAL, DF_1_GROUP,
DF_1_NODELETE, DF_1_LOADFLTR, DF_1_INITFIRST,
DF_1_NOOPEN, DF_1_ORIGIN, DF_1_DIRECT, DF_1_TRANS,
DF_1_INTERPOSE, DF_1_NODEFLIB, DF_1_NODUMP,
DF_1_CONLFAT): New enum constants.
gold/
* options.h (DEFINE_enable): New macro.
(new_dtags): New enable option.
(initfirst, interpose, loadfltr, nodefaultlib,
nodelete, nodlopen, nodump): New -z options.
* layout.cc (Layout:finish_dynamic_section): If new
dtags enabled, emit DT_RUNPATH. Also, emit a
DT_FLAGS_1 containing any specified -z flags.
Ian Lance Taylor [Wed, 16 Apr 2008 22:54:29 +0000 (22:54 +0000)]
* copy-relocs.cc: New file.
* copy-relocs.h: New file.
* reloc.cc: Remove Copy_relocs code.
* reloc.h: Likewise.
* reloc-types.h (struct Reloc_types) [both versions]: Add
get_reloc_addend_noerror.
* output.h (class Output_data_reloc<elfcpp::SHT_REL>): Add
variants of add_global which take an addend which must be zero.
* i386.cc: Include "copy-relocs.h".
(class Target_i386): Change type of copy_relocs_ to variable,
update initializer.
(Target_i386::copy_reloc): Rewrite to pass to Copy_relocs class.
Change all callers.
(Target_i386::do_finalize_sections): Change handling of
copy_relocs_.
* sparc.cc: Include "copy-relocs.h".
(class Target_sparc): Change type of copy_relocs_ to variable,
update initializer.
(Target_sparc::copy_reloc): Rewrite to pass to Copy_relocs class.
Change all callers.
(Target_sparc::do_finalize_sections): Change handling of
copy_relocs_.
* x86_64.cc: Include "copy-relocs.h".
(class Target_x86_64): Change type of copy_relocs_ to variable,
update initializer.
(Target_x86_64::copy_reloc): Rewrite to pass to Copy_relocs
class. Change all callers.
(Target_x86_64::do_finalize_sections): Change handling of
copy_relocs_.
* Makefile.am (CCFILES): Add copy-relocs.cc.
(HFILES): Add copy-relocs.h.
Ian Lance Taylor [Wed, 16 Apr 2008 18:55:15 +0000 (18:55 +0000)]
* Makefile.in, aclocal.m4, testsuite/Makefile.in: Rebuild.
Pedro Alves [Wed, 16 Apr 2008 18:02:01 +0000 (18:02 +0000)]
* config.bfd (i[3-7]86-*-dicos*, x86_64-*-dicos*): Add.
Ian Lance Taylor [Wed, 16 Apr 2008 17:43:38 +0000 (17:43 +0000)]
* testsuite/script_test_4.sh: Permit leading zeroes.
Dwarakanath Rajagopal [Wed, 16 Apr 2008 15:31:33 +0000 (15:31 +0000)]
<opcode changes>
2008-04-16 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Michael Meissner <michael.meissner@amd.com>
* i386-opc.tbl: Fix protX to allow memory in the middle operand.
* i386-tbl.h: Regenerate from i386-opc.tbl.
<gas/testsuite changes>
2008-04-16 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Michael Meissner <michael.meissner@amd.com>
* gas/i386/x86-64-sse5.s: Add protX tests to allow memory in the middle
operand.
* gas/i386/x86-64-sse5.d: Likewise.
David S. Miller [Wed, 16 Apr 2008 08:52:15 +0000 (08:52 +0000)]
Sorry, missed this ChangeLog updat in previous commit.
David S. Miller [Wed, 16 Apr 2008 08:51:18 +0000 (08:51 +0000)]
bfd/
* reloc.c (BFD_RELOC_SPARC_GOTDATA_HIX22,
BFD_RELOC_SPARC_GOTDATA_LOX10, BFD_RELOC_SPARC_GOTDATA_OP_HIX22,
BFD_RELOC_SPARC_GOTDATA_OP_LOX10, BFD_RELOC_SPARC_GOTDATA_OP): New.
* libbfd.h: Regnerate.
* bfd-in2.h: Regenerate.
* elfxx-sparc.c (_bfd_sparc_elf_howto_table): Add entries for
GOTDATA relocations.
(sparc_reloc_map): Likewise.
(_bfd_sparc_elf_check_relocs): Handle R_SPARC_GOTDATA_* like
R_SPARC_GOT*.
(_bfd_sparc_elf_gc_sweep_hook): Likewise.
(_bfd_sparc_elf_relocate_section): Transform R_SPARC_GOTDATA_HIX22,
R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22, and
R_SPARC_GOTDATA_OP_LOX10 into the equivalent R_SPARC_GOT* reloc.
Simply ignore R_SPARC_GOTDATA_OP relocations.
gas/
* config/tc-sparc.c (sparc_ip): Add support for gotdata mnemonics
and relocation generation.
(tc_gen_reloc): Likewise.
gas/testsuite/
* gas/sparc/gotops32.d: New.
* gas/sparc/gotops32.s: Likewise.
* gas/sparc/gotops64.d: Likewise.
* gas/sparc/gotops64.s: Likewise.
* gas/sparc/sparc.exp: Run new gotdata tests.
ld/testsuite/
* ld-sparc/gotop32.dd: New.
* ld-sparc/gotop32.rd: Likewise.
* ld-sparc/gotop32.s: Likewise.
* ld-sparc/gotop32.sd: Likewise.
* ld-sparc/gotop32.td: Likewise.
* ld-sparc/gotop64.dd: Likewise.
* ld-sparc/gotop64.rd: Likewise.
* ld-sparc/gotop64.s: Likewise.
* ld-sparc/gotop64.sd: Likewise.
* ld-sparc/gotop64.td: Likewise.
* ld-sparc/sparc.exp: Run new gotdata tests.
David S. Miller [Wed, 16 Apr 2008 08:35:17 +0000 (08:35 +0000)]
* elf/sparc.h (R_SPARC_GOTDATA_HIX22,
R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22,
R_SPARC_GOTDATA_OP_LOX10, R_SPARC_GOTDATA_OP,
R_SPARC_H34, R_SPARC_SIZE32, R_SPARC_SIZE64): New relocs.
Nick Clifton [Wed, 16 Apr 2008 08:33:54 +0000 (08:33 +0000)]
Move entries for changes in sub-directories into the changelogs in those sub-
directories.
Nick Clifton [Wed, 16 Apr 2008 08:24:21 +0000 (08:24 +0000)]
PR binutils/6034
* objcopy.c (stuct symlist): Rename to
is_specified_symbol_predicate_data.
(strip_specific_list): Rename to strip_specific_htab.
(strip_unneeded_list): Rename to strip_unneeded_htab.
(keep_specific_list): Rename to keep_specific_htab.
(localize_specific_list): Rename to localize_specific_htab.
(globalize_specific_list): Rename to globalize_specific_htab.
(keepglobal_specific_list): Rename to keepglobal_specific_htab.
(weaken_specific_list): Rename to weaken_specific_htab.
(eq_string): New function.
(create_symbol_htab): New function.
(create_symbol_htabs): New function.
(add_specific_symbol): Change to use hash tables.
(is_specified_symbol_predicate): New function.
(is_specified_symbol): Use hash table lookup.
(is_strip_section): Update to use new functions and hash tables.
(filter_symbols): Likewise.
(copy_object): Likewise.
(copy_section): Likewise.
(strip_main): Likewise.
(copy_main): Likewise.
(main): Likewise.
David S. Miller [Wed, 16 Apr 2008 01:56:33 +0000 (01:56 +0000)]
* sparc.h (EF_SPARC_EXT_MASK, EF_SPARC_32PLUS_MASK,
EF_SPARC_32PLUS, EF_SPARC_SUN_US1, EF_SPARC_HAL_R1,
EF_SPARC_SUN_US3, EF_SPARC_LEDATA, EF_SPARCV9_MM,
EF_SPARCV9_TSO, EF_SPARCV9_PSO, EF_SPARCV9_RMO):
Define as enum constants.
Alan Modra [Wed, 16 Apr 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Tue, 15 Apr 2008 22:50:37 +0000 (22:50 +0000)]
* script-sections.cc (Script_sections::create_segments): Use
header_size_adjustment even when there is enough room for the
headers.
* testsuite/script_test_4.sh: New file.
* testsuite/script_test_4.t: New file.
* testsuite/Makefile.am (check_SCRIPTS): Add script_test_4.sh.
(check_DATA): Add script_test_4.stdout.
(MOSTLYCLEANFILES): Likewise.
(script_test_4): New target.
(script_test_4.stdout): New target.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Tue, 15 Apr 2008 21:41:29 +0000 (21:41 +0000)]
* sparc.cc: Add definitions for Output_data_plt_sparc class
constants.
Andrew Stubbs [Tue, 15 Apr 2008 15:53:26 +0000 (15:53 +0000)]
2008-04-15 Andrew Stubbs <andrew.stubbs@st.com>
gas/
* config/tc-sh.c (md_apply_fix): Make sure BFD_RELOC_SH_PCRELIMM8BY4
relocations are properly aligned, and not negative.
gas/testsuite/
* gas/sh/arch/arch.exp: Align PC-relative instructions in the gererated
assembly files.
* gas/sh/arch/sh-dsp.s: Regenerate.
* gas/sh/arch/sh.s: Regenerate.
* gas/sh/arch/sh2.s: Regenerate.
* gas/sh/arch/sh2a-nofpu-or-sh3-nommu.s: Regenerate.
* gas/sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Regenerate.
* gas/sh/arch/sh2a-nofpu.s: Regenerate.
* gas/sh/arch/sh2a-or-sh3e.s: Regenerate.: Regenerate.
* gas/sh/arch/sh2a-or-sh4.s: Regenerate.
* gas/sh/arch/sh2a.s: Regenerate.
* gas/sh/arch/sh2e.s: Regenerate.
* gas/sh/arch/sh3-dsp.s: Regenerate.
* gas/sh/arch/sh3-nommu.s: Regenerate.
* gas/sh/arch/sh3.s: Regenerate.
* gas/sh/arch/sh3e.s: Regenerate.
* gas/sh/arch/sh4-nofpu.s: Regenerate.
* gas/sh/arch/sh4-nommu-nofpu.s: Regenerate.
* gas/sh/arch/sh4.s: Regenerate.
* gas/sh/arch/sh4a-nofpu.s: Regenerate.
* gas/sh/arch/sh4a.s: Regenerate.
* gas/sh/arch/sh4al-dsp.s: Regenerate.
* gas/sh/err-mova.s: New test.
ld/testsuite/
* ld-sh/arch/sh-dsp.s: Regenerate.
* ld-sh/arch/sh.s: Regenerate.
* ld-sh/arch/sh2.s: Regenerate.
* ld-sh/arch/sh2a-nofpu-or-sh3-nommu.s: Regenerate.
* ld-sh/arch/sh2a-nofpu-or-sh4-nommu-nofpu.s: Regenerate.
* ld-sh/arch/sh2a-nofpu.s: Regenerate.
* ld-sh/arch/sh2a-or-sh3e.s: Regenerate.: Regenerate.
* ld-sh/arch/sh2a-or-sh4.s: Regenerate.
* ld-sh/arch/sh2a.s: Regenerate.
* ld-sh/arch/sh2e.s: Regenerate.
* ld-sh/arch/sh3-dsp.s: Regenerate.
* ld-sh/arch/sh3-nommu.s: Regenerate.
* ld-sh/arch/sh3.s: Regenerate.
* ld-sh/arch/sh3e.s: Regenerate.
* ld-sh/arch/sh4-nofpu.s: Regenerate.
* ld-sh/arch/sh4-nommu-nofpu.s: Regenerate.
* ld-sh/arch/sh4.s: Regenerate.
* ld-sh/arch/sh4a-nofpu.s: Regenerate.
* ld-sh/arch/sh4a.s: Regenerate.
* ld-sh/arch/sh4al-dsp.s: Regenerate.
Nick Clifton [Tue, 15 Apr 2008 14:25:30 +0000 (14:25 +0000)]
* doc/tc-arm.texi: Fix fnstart and fnend directive names.
David S. Miller [Tue, 15 Apr 2008 05:16:51 +0000 (05:16 +0000)]
toplevel/
* configure.ac: Add sparc*-*-* to gold supported targets.
* configure: Regenerate.
gold/
* sparc.cc: New file.
* Makefile.am (TARGETSOURCES): Add sparc.cc
(ALL_TARGETOBJS): Add sparc.$(OBJEXT)
* configure.tgt: Document targ_extra_size and
targ_extra_big_endian. Add entries for sparc-* and
sparc64-*.
* configure.ac: Handle targ_extra_size and
targ_extra_big_endian.
* Makefile.in: Rebuild.
* configure: Likewise.
* po/POTFILES.in: Likewise.
* po/gold.pot: Likewise.
David S. Miller [Tue, 15 Apr 2008 04:11:45 +0000 (04:11 +0000)]
* readelf.c (get_gnu_elf_note_type): Recognize NT_GNU_GOLD_VERSION.
Ian Lance Taylor [Tue, 15 Apr 2008 04:06:41 +0000 (04:06 +0000)]
* layout.cc (Layout::Layout): Initialize sections_are_attached_.
(Layout::get_output_section): Ignore SHF_WRITE and SHF_EXECINSTR
in the name/type/flags to section mapping. Don't call
allocate_output_section.
(Layout::choose_output_section): Change parameter from adjust_name
to is_input_section. Don't permit input sections after sections
are attached to segments. Don't call allocate_output_section.
(Layout::layout_eh_frame): Call update_flags_for_input_section,
not write_enable_output_section.
(Layout::make_output_section): Don't push to
unattached_section_list_ nor call attach_to_segment. Call
attach_section_to_segment if sections are attached.
(Layout::attach_sections_to_segments): New function.
(Layout::attach_section_to_segment): New function.
(Layout::attach_allocated_section_to_segment): Rename from
attach_to_segment. Remove flags parameter.
(Layout::allocate_output_section): Remove function.
(Layout::write_enable_output_section): Remove function.
* layout.h (class Layout): Update for above changes. Add new
field sections_are_attached_.
* output.h (Output_section::update_flags_for_input_section): New
function.
* output.cc (Output_section::add_input_section): Call
update_flags_for_input_section.
* gold.cc (queue_middle_tasks): Call attach_sections_to_segments.
Alan Modra [Tue, 15 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Thiemo Seufer [Mon, 14 Apr 2008 19:58:48 +0000 (19:58 +0000)]
* configure.in: Link with the PIC version of libiberty on
Linux/MIPS hosts.
* configure: Regenerate.
Alan Modra [Mon, 14 Apr 2008 11:01:38 +0000 (11:01 +0000)]
ppc e500mc support
Ben Elliston [Mon, 14 Apr 2008 09:28:35 +0000 (09:28 +0000)]
* config.sub, config.guess: Update from upstream sources.
Alan Modra [Mon, 14 Apr 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 13 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Hans-Peter Nilsson [Sat, 12 Apr 2008 18:53:52 +0000 (18:53 +0000)]
* Makefile.tpl <gcc>: Error early unless at least GNU make 3.80.
* Makefile.in: Regenerate.
Cary Coutant [Fri, 11 Apr 2008 23:37:24 +0000 (23:37 +0000)]
* i386.cc (Target_i386::got_mod_index_entry): Restore code previously
thought unnecessary.
* x86_64.cc (Target_x86_64::got_mod_index_entry): Likewise.
Ian Lance Taylor [Fri, 11 Apr 2008 22:55:13 +0000 (22:55 +0000)]
* output.h (class Output_section_data): Remove inline definition
of set_addralign.
* output.cc (Output_section_data::set_addralign): New function.
Cary Coutant [Fri, 11 Apr 2008 21:24:30 +0000 (21:24 +0000)]
2008-04-11 Cary Coutant <ccoutant@google.com>
Add support for TLS descriptors for i386 and x86_64.
* i386.cc (Target_i386::Relocate::tls_desc_gd_to_ie): New function.
(Target_i386::Relocate::tls_desc_gd_to_le): New function.
(Target_i386::Got_type): Add GOT_TYPE_TLS_NOFFSET and
GOT_TYPE_TLS_DESC.
(Target_i386::got_mod_index_entry): Remove unnecessary code.
(Target_i386::Scan::local): Implement R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL relocations. Fix problem with initial-exec
relocations.
(Target_i386::Scan::global): Fix problem with GD-to-IE relaxation.
Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations;
Fix problem with initial-exec relocations.
(Target_i386::Relocate::relocate_tls): Likewise.
(Target_i386::Relocate::tls_gd_to_ie): Fix problem with GD-to-IE
relaxation.
* output.cc (Output_data_dynamic::Dynamic_entry::write): Add
support for section-plus-offset dynamic table entries.
* output.h (Output_data_dynamic::add_section_plus_offset): New function.
(Output_data_dynamic::Dynamic_entry): Add support for
section-plus-offset dynamic table entries.
(Output_data_dynamic::Classification): Likewise.
(Output_data_dynamic::classification_): Renamed offset_.
* x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): New function.
(Target_x86_64::Relocate::tls_desc_gd_to_le): New function.
(Target_x86_64::make_plt_section): New function.
(Target_x86_64::reserve_tlsdesc_entries): New function.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Add new parameter.
(Output_data_plt_x86_64::reserve_tlsdesc_entry): New function.
(Output_data_plt_x86_64::has_tlsdesc_entry): New function.
(Output_data_plt_x86_64::get_tlsdesc_got_offset): New function.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset): New function.
(Output_data_plt_x86_64::tlsdesc_plt_entry): New field.
(Output_data_plt_x86_64::set_final_data_size): Move out of line;
add extra PLT entry for TLS descriptors.
(Output_data_plt_x86_64::got_): New field.
(Output_data_plt_x86_64::tlsdesc_got_offset_): New field.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Initialize new
fields.
(Output_data_plt_x86_64::do_write): Write extra PLT entry for TLS
descriptors.
(Target_x86_64::make_plt_entry): Factor out make_plt_section.
(Target_x86_64::got_mod_index_entry): Remove unnecessary code.
(Target_x86_64::Scan::local): Implement R_386_TLS_GOTDESC and
R_386_TLS_DESC_CALL relocations.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::do_finalize_sections): Add dynamic table entries
for TLS descriptors.
(Relocate::relocate_tls): Fix problem with GD-to-IE relaxation.
Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations.
(Target_x86_64::Relocate::tls_gd_to_ie): Fix problem with
GD-to-IE relaxation.
* configure.ac: Export new conditional variables TLS_GNU2_DIALECT
and TLS_DESCRIPTORS.
* Makefile.in: Rebuild.
* configure: Rebuild.
* testsuite/Makefile.am (tls_shared_gd_to_ie_test): New target.
(tls_test_shared2.so): New target.
(tls_shared_gd_to_ie_test_SOURCES): New variable.
(tls_shared_gd_to_ie_test_DEPENDENCIES): New variable.
(tls_shared_gd_to_ie_test_LDFLAGS): New variable.
(tls_shared_gd_to_ie_test_LDADD): New variable.
(tls_shared_gnu2_gd_to_ie_test): New target.
(tls_test_gnu2.o, tls_test_file2_gnu2.o, tls_test_gnu2_shared2.so):
New targets.
(tls_shared_gnu2_gd_to_ie_test_SOURCES): New variable.
(ls_shared_gnu2_gd_to_ie_test_DEPENDENCIES): New variable.
(tls_shared_gnu2_gd_to_ie_test_LDFLAGS): New variable.
(tls_shared_gnu2_gd_to_ie_test_LDADD): New variable.
(tls_shared_gnu2_test): New target.
(tls_test_gnu2_shared.so): New target.
(tls_shared_gnu2_test_SOURCES): New variable.
(tls_shared_gnu2_test_DEPENDENCIES): New variable.
(tls_shared_gnu2_test_LDFLAGS): New variable.
(tls_shared_gnu2_test_LDADD): New variable.
* testsuite/Makefile.in: Rebuild.
* testsuite/Makefile.
Ian Lance Taylor [Fri, 11 Apr 2008 20:44:52 +0000 (20:44 +0000)]
* testsuite/Makefile.am (justsyms_2r.o): Add dependency on
justsyms.t.
* testsuite/Makefile.in: Rebuild.
* testsuite/script_test_2a.cc (script_test_string_a): Make 8 bytes
long.
* testsuite/script_test_2.cc (main): Adjust test.
Ian Lance Taylor [Fri, 11 Apr 2008 20:28:34 +0000 (20:28 +0000)]
* options.h (General_options): Add entries for '-Y' and
'-relax'.
* options.cc (General_options:finalize): If -Y was used, add those
entries to the library path instead of the default "/lib" and
"/usr/lib".
David S. Miller [Fri, 11 Apr 2008 19:13:08 +0000 (19:13 +0000)]
* sparc.h: New file
* elfcpp.h (SHN_BEFORE, SHN_AFTER): New enum constants.
(SHT_SPARC_GOTDATA, SHF_ORDERED, SHF_EXCLUDE,
STT_SPARC_REGISTER, DT_SPARC_REGISTER): Likewise.
David S. Miller [Fri, 11 Apr 2008 18:49:40 +0000 (18:49 +0000)]
* testsuite/justsyms.t: Start at 0x100.
* testsuite/justsyms_1.cc: Adjust justsyms_string assertion.
* script_test_2b.cc (script_test_string_b): Make 8 bytes long.
* script_test_2.cc: Adjust string and section length checks.
H.J. Lu [Fri, 11 Apr 2008 17:51:15 +0000 (17:51 +0000)]
2008-04-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/lns/lns-big-delta.d: Updated.
* gas/lns/lns-common-1.d: Likewise.
* gas/lns/lns-common-1-alt.d: Likewise.
* gas/lns/lns-duplicate.d: Likewise.
Nick Clifton [Fri, 11 Apr 2008 09:06:02 +0000 (09:06 +0000)]
* listing.c (print_timestamp): Use localtime rather than
localtime_r since not all build environments provide the latter.
Nick Clifton [Fri, 11 Apr 2008 09:04:17 +0000 (09:04 +0000)]
* dwarf.c (display_debug_lines): Rename to
display_debug_lines_raw.
(display_debug_lines_decoded): New function. Displays the
interpreted contents of a .debug_line section.
(display_debug_lines): New function: Selects either a raw dump or
a decoded dump (or both) as requested by the user.
* dwarf.h (do_debug_lines_decoded): New extern.
* readelf.c: Add support for -wL or --debug-dump=decodedline
option to display the decoded contents of a .debug_line section.
* doc/binutils.texi: Document the new option.
* NEWS: Mention the new feature.
Alan Modra [Fri, 11 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Thu, 10 Apr 2008 17:53:40 +0000 (17:53 +0000)]
gas/
2008-04-10 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention -msse-check=[none|error|warning].
* config/tc-i386.c (sse_check): New.
(OPTION_MSSE_CHECK): Likewise.
(md_assemble): Check SSE instructions if needed.
(md_longopts): Add -msse-check.
(md_parse_option): Handle OPTION_MSSE_CHECK.
(md_show_usage): Show -msse-check=[none|error|warning].
* doc/c-i386.texi: Document -msse-check=[none|error|warning].
gas/testsuite/
2008-04-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run sse-check, sse-check-warn,
sse-check-error, x86-64-sse-check, x86-64-sse-check-warn and
x86-64-sse-check-error.
* gas/i386/sse-check.d: New.
* gas/i386/sse-check.s: Likewise.
* gas/i386/sse-check-error.l: Likewise.
* gas/i386/sse-check-error.s: Likewise.
* gas/i386/sse-check-warn.d: Likewise.
* gas/i386/sse-check-warn.e: Likewise.
* gas/i386/x86-64-sse-check.d: Likewise.
* gas/i386/x86-64-sse-check-error.l: Likewise.
* gas/i386/x86-64-sse-check-error.s: Likewise.
* gas/i386/x86-64-sse-check-warn.d: Likewise.
Andreas Krebbel [Thu, 10 Apr 2008 13:36:43 +0000 (13:36 +0000)]
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* s390-dis.c (init_disasm): Evaluate disassembler_options.
(print_s390_disassembler_options): New function.
* disassemble.c (disassembler_usage): Invoke
print_s390_disassembler_options.
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* dis-asm.h (print_s390_disassembler_options):
Prototype added.
Andreas Krebbel [Thu, 10 Apr 2008 13:05:07 +0000 (13:05 +0000)]
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* s390-mkopc.c (insertExpandedMnemonic): Expand string sizes
of local variables used for mnemonic parsing: prefix, suffix and
number.
Nick Clifton [Thu, 10 Apr 2008 12:45:18 +0000 (12:45 +0000)]
* listing.c: Add -ag listing flag to show general information in
listings such as gas version, passed options, and time stamp.
(listing_general_info): New function.
(print_options): New function.
(print_single_option): New function.
(print_timestamp): New function.
(MAX_DATELEN): Define.
(listing_print): Add call to listing_general_info.
* listing.h (LISTING_GENERAL): Define.
(listing_print): Add new parameter.
* as.c (show_usage): Print new switch.
(parse_args): Parse new switch.
(main): Pass command line on to listing_print.
* NEWS: Mention this new feature.
* doc/as.texinfo: Document the new sub-option.
* gas/all/gas.exp: Check the performance of the -ag command line
switch.
Andreas Krebbel [Thu, 10 Apr 2008 08:59:46 +0000 (08:59 +0000)]
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* s390-mkopc.c (s390_cond_ext_format): Add back the mnemonic
extensions for conditional jumps (o, p, m, nz, z, nm, np, no).
(s390_crb_extensions): New extensions table.
(insertExpandedMnemonic): Handle '$' tag.
* s390-opc.txt: Remove conditional jump variants which can now
be expanded automatically.
Replace '*' tag with '$' in the compare and branch instructions.
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* gas/s390/zarch-z10.d: Map the compare and branch variants
with odd condition code mask to version with an even mask.
Ian Lance Taylor [Thu, 10 Apr 2008 01:02:46 +0000 (01:02 +0000)]
PR gold/5996
* script-sections.cc (Sections_element::allocate_to_segment): Add
orphan parameter.
(Output_section_definition::allocate_to_segment): Likewise.
(Orphan_output_section::allocate_to_segment): Likewise.
(Script_sections::attach_sections_using_phdrs_clause): Don't
propagate non-PT_LOAD segments to orphan sections.
* testsuite/Makefile.am (script_test_3.stdout): Generate using
readelf rather than objdump.
* testsuite/script_test_3.sh: Adjust accordingly. Test that
.interp section and PT_INTERP segment are the same size.
* testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Thu, 10 Apr 2008 00:58:58 +0000 (00:58 +0000)]
Fix typo in comment in last commit.
Alan Modra [Thu, 10 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Wed, 9 Apr 2008 22:45:08 +0000 (22:45 +0000)]
* symtab.cc (Symbol_table::add_from_dynobj): Only look for weak
aliases for symbols defined in the same object.
* testsuite/Makefile.am (check_PROGRAMS): Add weak_alias_test.
(weak_alias_test_SOURCES): New variable.
(weak_alias_test_DEPENDENCIES): New variable.
(weak_alias_test_LDFLAGS): New variable.
(weak_alias_test_LDADD): New variable.
(weak_alias_test_1_pic.o, weak_alias_test_1.so): New targets.
(weak_alias_test_2_pic.o, weak_alias_test_2.so): New targets.
(weak_alias_test_3.o): New target.
(weak_alias_test_4_pic.o, weak_alias_test_4.so): New targets.
* testsuite/weak_alias_test_main.cc: New file.
* testsuite/weak_alias_test_1.cc: New file.
* testsuite/weak_alias_test_2.cc: New file.
* testsuite/weak_alias_test_3.cc: New file.
Ian Lance Taylor [Wed, 9 Apr 2008 01:19:09 +0000 (01:19 +0000)]
* options.h (class General_options): Add --noinhibit-exec option.
* main.cc (main): Check --noinhibit-exec.
Ian Lance Taylor [Wed, 9 Apr 2008 00:48:13 +0000 (00:48 +0000)]
* options.h (class General_options): Define --wrap as a special
option. Add wrap_symbols_ field.
(General_options::any_wrap_symbols): New function.
(General_options::is_wrap_symbol): New function.
* options.cc (General_options::parse_wrap): New function.
(General_options::General_options): Initialize wrap_symbols_.
* symtab.cc (Symbol_table::wrap_symbol): New function.
(Symbol_table::add_from_object): Handle --wrap.
* symtab.h (class Symbol_table): Declare wrap_symbol.
* target.h (Target::wrap_char): New function.
(Target::Target_info): Add wrap_char field.
* i386.cc (Target_i386::i386_info): Initialize wrap_char.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info):
Likewise.
Ian Lance Taylor [Wed, 9 Apr 2008 00:33:48 +0000 (00:33 +0000)]
* errors.cc (Errors::undefined_symbol): Mention symbol version if
there is one.
Ian Lance Taylor [Wed, 9 Apr 2008 00:26:48 +0000 (00:26 +0000)]
* layout.h (class Layout): Add added_eh_frame_data_ field.
* layout.cc (Layout::Layout): Initialize new field.
(Layout::layout_eh_frame): Don't add eh_frame_data_ to .eh_frame
output section until we find a section we merged successfully.
* object.cc (Sized_relobj::check_eh_frame_flags): Don't require
that the size be non-zero.
Alan Modra [Wed, 9 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Tue, 8 Apr 2008 18:46:43 +0000 (18:46 +0000)]
* merge.cc (Object_merge_map::get_output_offset): Remove inline
qualifier.
Ian Lance Taylor [Tue, 8 Apr 2008 14:33:35 +0000 (14:33 +0000)]
* configure.ac: Export new conditional variable HAVE_ZLIB.
* testsuite/Makefile.am (flagstest_o_specialfile): Condition
on HAVE_ZLIB.
(flagstest_o_specialfile_and_compress_debug_sections): Likewise.
* configure, Makefile.in, testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Tue, 8 Apr 2008 14:29:55 +0000 (14:29 +0000)]
* version.cc (version_string): Set to "1.5".
M R Swami Reddy [Tue, 8 Apr 2008 08:33:51 +0000 (08:33 +0000)]
sim-cr16.h: New file. Added for cr16 target.
Alan Modra [Tue, 8 Apr 2008 06:12:32 +0000 (06:12 +0000)]
* po/POTFILES.in: Regenerate.
Alan Modra [Tue, 8 Apr 2008 05:53:28 +0000 (05:53 +0000)]
* dwarf.c: Remove trailing whitespace throughout file.
Alan Modra [Tue, 8 Apr 2008 05:48:28 +0000 (05:48 +0000)]
* elf32-spu.c (spu_elf_build_stubs): Correct error message.
(mark_functions_via_relocs): Remove premature init of symtab_hdr.
(collect_overlays): Commment typo fix.
Alan Modra [Tue, 8 Apr 2008 05:41:19 +0000 (05:41 +0000)]
* elflink.c (bfd_elf_size_dynamic_sections): Ignore GNU-stack note
in EXEC_P bfds.
Ian Lance Taylor [Tue, 8 Apr 2008 04:09:59 +0000 (04:09 +0000)]
* x86_64.cc (Target_x86_64::Scan): Change from struct to class.
Add issued_non_pic_error_ field. Declare check_non_pic.
(Target_x86_64::Scan::check_non_pic): New function.
(Target_x86_64::Scan::local): Call check_non_pic as appropriate.
(Target_x86_64::Scan::global): Likewise.
Alan Modra [Tue, 8 Apr 2008 03:26:54 +0000 (03:26 +0000)]
bfd/
* elf32-spu.c: Include libiberty.h.
(struct spu_link_hash_table): Add local_stire, overlay_fixed, reserved,
non_ovly_stub, spu_elf_load_ovl_mgr, spu_elf_open_overlay_script,
spu_elf_relink, auto_overlay fields.
(AUTO_OVERLAY, AUTO_RELINK, OVERLAY_RODATA): Define.
(needs_ovl_stub): Flip test so that call to non-function warning
is emitted during relocate_section rather than earlier.
(spu_elf_check_vma): Stash --auto-overlay parameters, and clear
auto_overlay if no section exceeds local store.
(struct call_info): Add count, max_depth, is_pasted fields.
(struct function_info): Add rodata, last_caller, call_count,
depth, new visit flags.
(insert_callee): Increment call count.
(copy_callee): New function.
(mark_functions_via_relocs): Investigate all reloc types to count
possible function pointer stubs for --auto-overlay. Track
last_caller and increment function call_count.
(pasted_function): Insert a "call" into call info for pasted section.
(remove_cycles): Track max depth of calls. Don't emit call graph
pruning warning for --auto-overlay.
(build_call_tree): Don't transfer_calls for --auto-overlay.
Adjust remove_cycles call.
(sort_calls, sort_lib, sort_bfds): New functions.
(struct _mos_param, struct _uos_param, struct _cl_param): New.
(mark_overlay_section, unmark_overlay_section): New functions.
(collect_lib_sectios, auto_ovl_lib_functions): New functions.
(collect_overlays, find_pasted_call): New functions.
(sum_stack): Deal with is_pasted "calls". Exit before printing
when --auto-overlay.
(spu_elf_auto_overlay): New function.
(spu_elf_final_link): Call spu_elf_auto_overlay.
* elf32-spu.h (spu_elf_check_vma): Update prototype.
ld/
* emultempl/spuelf.em (auto_overlay, auto_overlay_file,
auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
(spu_before_allocation): Warn on --auto-overlay and existing overlays.
(struct tflist, clean_tmp): Move.
(new_tmp_file): New function, extracted from..
(embedded_spu_file): ..here.
(spu_elf_open_overlay_script, spu_elf_relink): New function.
(gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
Warn on --auto-overlay and zero local store.
(gld${EMULATION_NAME}_choose_target): New function to stash argv.
(OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
(PARSE_AND_LIST_LONGOPTS): Add entries for new options.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Likewise.
(LDEMUL_CHOOSE_TARGET): Define.
Alan Modra [Tue, 8 Apr 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Mon, 7 Apr 2008 23:56:18 +0000 (23:56 +0000)]
* dwarf2dbg.c (dwarf2_emit_insn): Simplify test before dwarf2_where
call. Delete out of date comment.
(dwarf2_consume_line_info): Always clear dwarf2_loc_directive_seen.
(dwarf2_emit_label): Don't emit unless there has been a previous
.file or we are outputting assembler generated debug.
dwarf2_consume_line_info after emitting line info, not before.
(out_debug_info): Simplify files_in_use test.
Alan Modra [Mon, 7 Apr 2008 23:37:25 +0000 (23:37 +0000)]
* ld-spu/ovl2.s: Extend to test jump table references and
absolute _SPUEAR_ syms.
* ld-spu/ovl2.d: Update.
Ian Lance Taylor [Mon, 7 Apr 2008 22:46:17 +0000 (22:46 +0000)]
* output.cc (Output_reloc<SHT_REL>::local_section_offset): Add
addend parameter. Change caller. Handle merge sections.
(Output_reloc<SHT_REL>::symbol_value): Change parameter type from
Address to Addend. Don't add in the result of
local_section_offset, pass down the addend and use the returned
value.
* output.h (class Output_reloc<SHT_REL>): Add Addend typedef.
Update declarations of local_section_offset and symbol_value.
* testsuite/two_file_test_1.cc (t18): New function.
* testsuite/two_file_test_2.cc (f18): New function.
* testsuite/two_file_test_main.cc (main): Call t18.
* testsuite/two_file_test.h (t18, f18): Declare.
Ian Lance Taylor [Mon, 7 Apr 2008 22:16:03 +0000 (22:16 +0000)]
* configure.ac: Don't test for objdump, c++filt, or readelf.
* testsuite/Makefile.am: Remove READELF and OBJDUMP_AND_CPPFILT
conditionals.
(TEST_READELF): New variable.
(TEST_OBJDUMP, TEST_CXXFILT, TEST_STRIP): New variables.
(check_PROGRAMS): Add two_file_strip_test.
(two_file_strip_test): New target.
(check_PROGRAMS): Add two_file_same_shared_strip_test.
(two_file_same_shared_strip_test_SOURCES): New variable.
(two_file_same_shared_strip_test_DEPENDENCIES): New variable.
(two_file_same_shared_strip_test_LDFLAGS): New variable.
(two_file_same_shared_strip_test_LDADD): New variable.
(two_file_shared_strip.so): New target.
(ver_test_2.syms, ver_test_4.syms): Use TEST_READELF.
(ver_test_5.syms, ver_test_7.syms): Likewise.
(ver_matching_test.stdout): Use TEST_OBJDUMP and TEST_CXXFILT.
(strip_test_3.stdout): Use TEST_OBJDUMP.
* configure, Makefile.in, testsuite/Makefile.in: Rebuild.
Ian Lance Taylor [Mon, 7 Apr 2008 21:58:34 +0000 (21:58 +0000)]
* Makefile.def: check-gold depends upon all-binutils.
* Makefile.in: Regenerate.
H.J. Lu [Mon, 7 Apr 2008 21:29:50 +0000 (21:29 +0000)]
2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (PREFIX_VEX_38XX): Add a tab.
(PREFIX_VEX_3AXX): Likewis.
H.J. Lu [Mon, 7 Apr 2008 17:35:12 +0000 (17:35 +0000)]
2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
* i386-opc.tbl: Remove 4 extra blank lines.