Doug Kwan [Sat, 7 Nov 2009 01:58:06 +0000 (01:58 +0000)]
2009-11-06 Doug Kwan <dougkwan@google.com>
* arm.cc (class Reloc_stub): Correct a comment.
(Target_arm::Target_arm): Initialize arm_input_section_map_.
(Target_arm::scan_section_for_stubs): New method declaration.
(Target_arm::do_make_elf_object, Target_arm::do_make_output_section):
Change methods from private to protected.
(Target_arm::do_may_relax): New method definition.
(Target_arm::do_relax, Target_arm::group_sections,
Target_arm::scan_reloc_for_stub,
Target_arm::scan_reloc_section_for_stubs): New method declarations.
(Target_arm::arm_input_section_map_): New data member declaration.
(Target_arm::scan_reloc_for_stub,
Target_arm::scan_reloc_section_for_stubs,
Target_arm::scan_section_for_stubs, Target_arm::group_sections,
Target_arm::do_relax): New method definitions.
Sebastian Pop [Fri, 6 Nov 2009 23:17:26 +0000 (23:17 +0000)]
2009-11-06 Sebastian Pop <sebastian.pop@amd.com>
* opcodes/i386-dis.c (reg_table): Add XOP_8F_TABLE (XOP_09) to
reg_table[REG_8F][1]: for XOP instructions, ModRM.reg first points to
B.mm in the RXB.mmmmm byte, and so when B is set, we still should use
the xop_table.
(get_valid_dis386): Removed unused condition (from cut/n/paste) for
XOP instructions.
* gas/testsuite/gas/i386/x86-64-lwp.s: Updated to also contain
patterns with r[8-15] registers.
* gas/testsuite/gas/i386/x86-64-lwp.d: Same.
Kai Tietz [Fri, 6 Nov 2009 15:50:56 +0000 (15:50 +0000)]
2009-11-06 Kai Tietz <kai.tietz@onevision.com>
* pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
(gld_XXX_before_parse): Set pseudo-relocation default
version to DEFAULT_PSEUDO_RELOC_VERSION.
(gldXXX_handle_option): Likewise.
* dwarf2read.c (struct dwarf2_cu): Remove ranges_offset and
has_ranges_offset.
(struct partial_die_info): Remove language, has_stmt_list, dirname,
and line_offset.
(dwarf2_build_include_psymtabs): Take a die_info. Handle a missing
line table.
(dwarf2_get_pc_bounds): Take PST argument. Pass it
to dwarf2_ranges_read. Update all callers.
(init_cu_die_reader): Move earlier.
(dwarf2_find_base_address): New function.
(process_psymtab_comp_unit): Rewrite to use a full DIE for the
compilation unit. Use dwarf2_get_pc_bounds and
dwarf2_find_base_address.
(load_comp_unit): Rewrite to use a full DIE for the compilation unit.
(process_full_comp_unit): Use dwarf2_find_base_address.
(read_partial_die): Remove support for attributes only used
in the compilation unit DIE.
* symfile.c (allocate_psymtab): Make FILENAME const.
(start_psymtab_common): Likewise.
* symfile.h (allocate_psymtab, start_psymtab_common): Update
prototypes.
Tom Tromey [Thu, 5 Nov 2009 19:53:04 +0000 (19:53 +0000)]
* symtab.h (SYMBOL_SET_LINKAGE_NAME): Update comment.
* symfile.c (allocate_symtab): Don't use obsavestring on a
constant string.
* stabsread.c (define_symbol): Don't use obsavestring on a
constant string.
* mdebugread.c (parse_type): Don't use obsavestring on a constant
string.
(new_symtab): Likewise.
* elfread.c (elf_symtab_read): Don't use obsavestring on a
constant string.
Nick Clifton [Thu, 5 Nov 2009 15:35:50 +0000 (15:35 +0000)]
* lexsup.c: Rename --add-needed to --copy-dt-needed-entries.
* ldlang.h (struct lang_input_statement_struct): Rename add_needed
to add_DT_NEEDED_for_dynamic. Rename as_needed to
add_DT_NEEDED_for_regular.
* ldlang.c: Likewise.
* ldlang.h: Likewise.
* ldlang.c: Use the new variable names.
* ldgram.y: Likewise.
* emultempl/elf32.em: Likewise.
* ld.texinfo: Document the renamed option. Also mention its
affect on the resolution of dynamic symbols.
* NEWS: Mention the changed option name.
Nick Clifton [Thu, 5 Nov 2009 15:34:18 +0000 (15:34 +0000)]
* elflink.c (elf_link_add_object_symbols): Improve error
message generated when a symbol is left unresolved because a
--no-add-needed command line option has prevented the
inclusion of the DSO defining it.
Kai Tietz [Thu, 5 Nov 2009 09:49:07 +0000 (09:49 +0000)]
2009-11-05 Kai Tietz <kai.tietz@onevision.com>
* dllwrap.c (is_leading_underscore): New variable.
(cpu_type): New enum type.
(which_cpu): New variable.
(usage): Add new options --no-leading-underscore
and --leading-underscore.
(long_options): Likewise.
(OPTION_NO_LEADING_UNDERSCORE): New define.
(OPTION_LEADING_UNDERSCORE): Likewise.
(main): Initialize which_host, pass new options
to dlltool, do underscoring dependent on
is_leading_underscore, and do '@12' decoration
only for x86.
PR 10880
* object.h (class Object): Add is_needed and set_is_needed
methods. Add is_needed_ field. Make bool fields into bitfields.
* symtab.cc (Symbol_table::set_dynsym_indexes): If a symbol is
defined in a dynamic object and referenced by a regular object,
set is_needed for the dynamic object.
* layout.cc (Layout::finish_dynamic_section): Don't add DT_NEEDED
if the file is marked with as_needed and it is not needed.
Maxim Kuvyrkov [Wed, 4 Nov 2009 09:52:00 +0000 (09:52 +0000)]
2009-11-04 Daniel Jacobowitz <dan@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* config/tc-m68k.h (CF_DIFF_EXPR_OK): Define to 0 for uClinux.
(CFI_DIFF_LSDA_OK): Define.
* config/te-uclinux.h: New file.
* configure.tgt (m68k-uclinux): Define em.
* dw2gencfi.c (CFI_DIFF_LSDA_OK): New macro.
(dot_cfi_lsda, output_fde): Use instead of CFI_DIFF_EXPR_OK.
PR 10860
* options.h (class General_options): Add --warn-common.
* resolve.cc (Symbol_table::resolve): Handle --warn-common when
merging two common symbols.
(Symbol_table::should_override): Handle --warn-common when merging
a common symbol with a defined symbol. Use report_resolve_problem
for multiple definitions.
(Symbol_table::report_resolve_problem): New function.
* symtab.h (class Symbol_table): Declare report_resolve_problem.
Doug Kwan [Tue, 3 Nov 2009 21:18:13 +0000 (21:18 +0000)]
2009-11-03 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::Target_arm): Initialize stub_tables_ and
stub_factory_.
(Target_arm::stub_factory): New method definition.
(Target_arm::new_arm_input_section,
Target_arm::find_arm_input_section, Target_arm::new_stub_table,
Target_arm::reloc_uses_thumb_bit): New method declarations.
(Target_arm::Stub_table_list, Target_arm::Arm_input_section_map):
New type definitions.
(Target_arm::stub_tables_, Target_arm::stub_factory_): New data
member declarations.
(Target_arm::reloc_uses_thumb_bit, Target_arm::new_arm_input_section,
Target_arm::find_arm_input_section, Target_arm::new_stub_table):
New method definitions.
PR 10895
* po/Make-in ($(srcdir)/$(PACKAGE).pot): Pass -C and
--msgid-bugs-address.
(install-pdf): New target.
(install-data_yes): Look up one directory to find mkinstalldirs.
Nathan Sidwell [Tue, 3 Nov 2009 09:33:18 +0000 (09:33 +0000)]
* configure.ac (i[34567]86-*): Check if we're targetting x86-64
with an i686 compiler.
* configure.srv (i[34567]86-*-linux*): Pull in x86-64 handling if
needed.
* configure: Rebuilt.
Jan Kratochvil [Mon, 2 Nov 2009 14:59:53 +0000 (14:59 +0000)]
gdb/
* symfile.c (build_id_to_debug_filename): New variable debugdir. Move
variables size, s and data into a new inner block. Change xmalloc for
alloca, use direct BUILDID->SIZE there now. Loop for the
DEBUG_FILE_DIRECTORY components.
(find_separate_debug_file): New variable debugdir and debugdir_end.
Loop for the DEBUG_FILE_DIRECTORY components.
(_initialize_symfile): For "debug-file-directory" use plural and note
one can use multiple components now.
gdb/doc/
* gdb.texinfo (set debug-file-directory, show debug-file-directory)
(Auto-loading): Use plural and note one can use multiple components now.
gdb/testsuite/
* gdb.base/sepdebug.exp: New test_different_dir call for multiple-dirs.
Jan Kratochvil [Mon, 2 Nov 2009 14:57:02 +0000 (14:57 +0000)]
gdb/
* symfile.c (find_separate_debug_file): Initialize dir, debugfile and
canon_name to NULL. Change alloca to xmalloc, newly call xfree for it.
New label cleanup_return_debugfile, jump to it from the failure paths.
Jan Kratochvil [Mon, 2 Nov 2009 14:50:29 +0000 (14:50 +0000)]
gdb/
Remove INVALID_ENTRY_POINT.
* frame.c (inside_entry_func): New variable entry_point. Return 0 if
the entry point is not known.
* solib-irix.c (enable_break): Likewise.
* objfiles.c (init_entry_point_info): Stop using INVALID_ENTRY_POINT.
Initialize EI.ENTRY_POINT_P.
(entry_point_address): Rename to ...
(entry_point_address_query): ... a new function. Use EI.ENTRY_POINT_P.
(entry_point_address): New function.
(objfile_relocate): Use EI.ENTRY_POINT_P.
* objfiles.h (struct entry_info): Simplify entry_point comment. New
field entry_point_p.
(INVALID_ENTRY_POINT): Remove.
(entry_point_address_query): New prototype.
* solib-frv.c (enable_break): Check for NULL SYMFILE_OBJFILE and its
EI.ENTRY_POINT_P. Return 0 if ".interp" is not found.
Paul Brook [Mon, 2 Nov 2009 13:44:05 +0000 (13:44 +0000)]
2009-11-02 Paul Brook <paul@codesourcery.com>
ld/testsuite/
* ld-arm/arm-elf.exp: Add new attr-merge-vfp tests.
* ld-arm/attr-merge-vfp-1.d: New test.
* ld-arm/attr-merge-vfp-1r.d: New test.
* ld-arm/attr-merge-vfp-2.d: New test.
* ld-arm/attr-merge-vfp-2r.d: New test.
* ld-arm/attr-merge-vfp-3.d: New test.
* ld-arm/attr-merge-vfp-3r.d: New test.
* ld-arm/attr-merge-vfp-4.d: New test.
* ld-arm/attr-merge-vfp-4r.d: New test.
* ld-arm/attr-merge-vfp-5.d: New test.
* ld-arm/attr-merge-vfp-5r.d: New test.
* ld-arm/attr-merge-vfp-2.s: New test.
* ld-arm/attr-merge-vfp-3.s: New test.
* ld-arm/attr-merge-vfp-3-d16.s: New test.
* ld-arm/attr-merge-vfp-4.s: New test.
* ld-arm/attr-merge-vfp-4-d16.s: New test.
gas/
* doc/c-arm.texi: Document new -mfpu options.
* config/tc-arm.c (fpu_vfp_ext_v3xd, fpu_vfp_fp16, fpu_neon_ext_fma,
fpu_vfp_ext_fma): New.
(NEON_ENC_TAB): Add vfma, vfms, vfnma and vfnms.
(do_vfp_nsyn_fma_fms, do_neon_fmac): New functions.
(insns): Move double precision load/store. Split out double
precision VFPv3 instrucitons. Add VFPv4 instructions.
(arm_fpus): Add VFPv3-FP16, VFPv3xD and VFPv4 variants.
(aeabi_set_public_attributes): Set VFPv4 variants
gas/testsuite/
* gas/arm/attr-mfpu-vfpv4.d: New test.
* gas/arm/attr-mfpu-vfpv4-d16.d: New test.
* gas/arm/neon-fma-cov.d: New test.
* gas/arm/neon-fma-cov.s: New test.
* gas/arm/vfp-fma-inc.s: New test.
* gas/arm/vfp-fma-arm.d: New test.
* gas/arm/vfp-fma-arm.s: New test.
* gas/arm/vfp-fma-thumb.d: New test.
* gas/arm/vfp-fma-thumb.s: New test.
* gas/arm/vfma1.d: New test.
* gas/arm/vfma1.s: New test.
* gas/arm/vfpv3xd.d: New test.
* gas/arm/vfpv3xd.s: New test.
* breakpoint.c (catch_syscall_split_args): Remove unecessary warning
displayed when the user provided a syscall name and there is no
XML support.
* xml-syscall.c: Renamed `_sysinfo' to `sysinfo'.
(set_xml_syscall_file_name): Remove syscall_warn_user.
(xml_init_syscalls_info): Remove warning.
(init_sysinfo): Update warnings.
* gdb.base/catch-syscall.exp: Adapt the testcase in order to accept
the modified warnings for catch syscall. Verify if GDB was compiled
with support for lib expat, and choose which tests to run depending
on this.
Doug Kwan [Sat, 31 Oct 2009 02:59:36 +0000 (02:59 +0000)]
2009-10-30 Doug Kwan <dougkwan@google.com>
* arm.cc (Stub_addend_reader): New struct template definition
and partial specializations.
(Stub_addend_reader::operator()): New method definition for a
partially specialized template.