Ulrich Weigand [Sun, 15 Mar 2009 15:15:29 +0000 (15:15 +0000)]
* elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
parameter just because fixed sections fit into local store.
(spu_elf_auto_overlay): Do not declare as "noreturn". Skip
generating overlays if fixed sections plus reserved stack
and heap space fit into local store.
Dave Korn [Sun, 15 Mar 2009 14:17:28 +0000 (14:17 +0000)]
* ld-auto-import/auto-import.exp: Add missing dll entrypoint.
Jan Kratochvil [Sun, 15 Mar 2009 09:19:40 +0000 (09:19 +0000)]
gdb/
* stack.c (return_command <retval_exp>): New variables retval_expr
and old_chain. Inline parse_and_eval to initialize retval_expr. Check
RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
if RETURN_TYPE is NULL.
gdb/doc/
* gdb.texinfo (Returning): New description for missing debug info.
gdb/testsuite/
* gdb.base/return-nodebug.exp, gdb.base/return-nodebug.c: New.
Alan Modra [Sun, 15 Mar 2009 03:28:51 +0000 (03:28 +0000)]
* elf32-spu.c (build_stub): Correct icache set_id.
(spu_elf_relocate_section): Likewise.
gdbadmin [Sun, 15 Mar 2009 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 15 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Sat, 14 Mar 2009 14:25:55 +0000 (14:25 +0000)]
Fix a racy FAIL.
* gdb.base/multi-forks.exp (continue_to_exit_bp_loc): New function with
code from `follow parent, print pids'.
(`follow child, print pids', `follow parent, print pids'): Call it.
Replace `gdb_test "break..."' by gdb_breakpoint.
Richard Sandiford [Sat, 14 Mar 2009 09:37:18 +0000 (09:37 +0000)]
gas/testsuite/
* gas/ppc/textalign-xcoff-001.d: Expect the section VMAs to be
properly aligned.
* gas/ppc/textalign-xcoff-002.d: Likewise.
Richard Sandiford [Sat, 14 Mar 2009 09:36:38 +0000 (09:36 +0000)]
bfd/
* xcofflink.c (xcoff_link_check_archive_element): Only free the
symbol table if it was created by the current call.
Richard Sandiford [Sat, 14 Mar 2009 09:36:11 +0000 (09:36 +0000)]
bfd/
* xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
class XMC_DS rather than XMC_UA.
Richard Sandiford [Sat, 14 Mar 2009 09:35:46 +0000 (09:35 +0000)]
include/coff/
* xcoff.h (XCOFF_EXPALL, XCOFF_EXPFULL): New flags.
(xcoff_loader_info): Add auto_export_flags.
bfd/
* bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
bfd_boolean export_defineds parameter with an unsigned int
auto_export_flags parameter.
* bfd-in2.h: Regenerate.
* xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
split out from xcoff_build_ldsyms.
(xcoff_covered_by_expall_p): New function.
(xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
but with extra code to handle -bexpfull and -bexpall.
(xcoff_mark_auto_exports): New function.
(xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
a function should be automatically exported.
(bfd_xcoff_size_dynamic_sections): Replace the export_defineds
parameter with an auto_export_flags parameter. Update ldinfo
accordingly. Use xcoff_mark_auto_exports to mark all automatically-
exported symbols.
ld/
* emultempl/aix.em (auto_export_flags): New variable.
(explicit_auto_export_flags): Likewise.
(OPTION_EXPALL, OPTION_EXPFULL): New enum values.
(OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
(gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
-bnoexpall and -bnoexpfull.
(gld${EMULATION_NAME}_handle_option): Handle them.
(gld${EMULATION_NAME}_before_allocation): Update the call to
bfd_size_dynamic_sections.
ld/testsuite/
* ld-powerpc/aix-export-1-all.dd, ld-powerpc/aix-export-1-full.dd,
ld-powerpc/aix-export-1a.s, ld-powerpc/aix-export-1b.s: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:35:06 +0000 (09:35 +0000)]
bfd/
* xcofflink.c (xcoff_mark_symbol_by_name): New function.
(bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
init and fini functions. Do garbage collection for objects
without an entry point too.
ld/testsuite/
* ld-powerpc/aix-gc-1.s, ld-powerpc/aix-gc-1.ex,
ld-powerpc/aix-gc-1-32.dd, ld-powerpc/aix-gc-1-64.dd,
ld-powerpc/aix-weak-1-gcdso.dnd, ld-powerpc/aix-weak-1-gcdso.hd,
ld-powerpc/aix-weak-1-gcdso.nd: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:34:27 +0000 (09:34 +0000)]
include/coff/
* internal.h (C_AIX_WEAKEXT): New macro.
(C_WEAKEXT): Use the GNU definition in the generic part of the file,
and conditionally reset it to C_AIX_WEAKEXT in the XCOFF part of
the file.
(CSECT_SYM_P): New macro.
* xcoff.h (L_WEAK): Define.
(EXTERN_SYM_P): New macro.
bfd/
* coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
check whether a symbol has csect information.
(coff_print_aux): Likewise.
* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
information for C_AIX_WEAKEXT too.
(_bfd_xcoff_swap_aux_out): Likewise.
(xcoff_reloc_type_br): Handle defweak symbols too.
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
information for C_AIX_WEAKEXT too.
(_bfd_xcoff64_swap_aux_out): Likewise.
(xcoff64_reloc_type_br): Handle defweak symbols too.
* coffgen.c (coff_print_symbol): Handle auxillary function
information for C_AIX_WEAKEXT too.
* xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
instead of BSF_GLOBAL if the L_WEAK flag is set.
(xcoff_dynamic_definition_p): New function.
(xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
defines h. Don't change h if ldsym isn't the definition. Otherwise,
always take the symbol class from the ldsym. Use weak bfd symbol
types for weak ldsyms.
(xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
Fix the check for whether a definition is from a shared object.
Allow redefinitions of weak symbols.
(xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
(xcoff_keep_symbol_p): Likewise.
(bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
(xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
but mark them as L_WEAK.
(xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
gas/
* config/tc-ppc.c (ppc_frob_symbol): Add csect information for
C_AIX_WEAKEXT too.
ld/testsuite/
* ld-powerpc/aix-glink-2a.s, ld-powerpc/aix-glink-2a.ex,
ld-powerpc/aix-glink-2b.s, ld-powerpc/aix-glink-2c.s,
ld-powerpc/aix-glink-2c.ex, ld-powerpc/aix-glink-2d.s,
ld-powerpc/aix-glink-2-32.dd, ld-powerpc/aix-glink-2-64.dd,
ld-powerpc/aix-weak-1a.s, ld-powerpc/aix-weak-1b.s,
ld-powerpc/aix-weak-1-rel.hd, ld-powerpc/aix-weak-1-rel.nd,
ld-powerpc/aix-weak-1-dso.hd, ld-powerpc/aix-weak-1-dso.nd,
ld-powerpc/aix-weak-1-dso.dnd, ld-powerpc/aix-weak-1.ex,
ld-powerpc/aix-weak-2a.s, ld-powerpc/aix-weak-2a.ex,
ld-powerpc/aix-weak-2a.nd, ld-powerpc/aix-weak-2b.s,
ld-powerpc/aix-weak-2b.nd, ld-powerpc/aix-weak-2c.s,
ld-powerpc/aix-weak-2c.ex, ld-powerpc/aix-weak-2c.nd,
ld-powerpc/aix-weak-2c.od, ld-powerpc/aix-weak-3a.s,
ld-powerpc/aix-weak-3a.ex, ld-powerpc/aix-weak-3b.s,
ld-powerpc/aix-weak-3b.ex, ld-powerpc/aix-weak-3-32.d,
ld-powerpc/aix-weak-3-32.dd, ld-powerpc/aix-weak-3-64.d,
ld-powerpc/aix-weak-3-64.dd: New tests.
* ld-powerpc/aix52.exp: Run them. Replace tmp/aix-* with
tmp/aix64-* in 64-bit ld options.
Richard Sandiford [Sat, 14 Mar 2009 09:33:39 +0000 (09:33 +0000)]
include/coff/
* xcoff.h (XCOFF_ALLOCATED): New flag.
bfd/
* xcofflink.c (xcoff_mark): When walking the relocations,
only mark the target symbol or the target section, not both.
(xcoff_final_definition_p): New function.
(xcoff_keep_symbol_p): Use it to check whether an external XCOFF
symbol is a valid definition of the associated output symbol.
Use XCOFF_ALLOCATED to stop the same hash table entry having
two output symbols.
(bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
keeping a symbol.
(xcoff_link_input_bfd): Use xcoff_final_definition_p.
ld/testsuite/
* ld-powerpc/aix-no-dup-syms-1a.s, ld-powerpc/aix-no-dup-syms-1b.s,
ld-powerpc/aix-no-dup-syms-1.ex, ld-powerpc/aix-no-dup-syms-1.im,
ld-powerpc/aix-no-dup-syms-1-dso.dnd,
ld-powerpc/aix-no-dup-syms-1-dso.drd,
ld-powerpc/aix-no-dup-syms-1-dso.nd,
ld-powerpc/aix-no-dup-syms-1-dso.rd,
ld-powerpc/aix-no-dup-syms-1-rel.nd,
ld-powerpc/aix-no-dup-syms-1-rel.rd: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:32:56 +0000 (09:32 +0000)]
bfd/
* xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
symbols as XMC_XO.
ld/testsuite/
* ld-powerpc/aix-abs-branch-1.nd,
ld-powerpc/aix-abs-reloc-1.nd: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:32:33 +0000 (09:32 +0000)]
bfd/
* libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
* libcoff.h: Regenerate.
* xcofflink.c (xcoff_link_add_symbols): Record per-symbol
line-number counts in the bfd's lineno_counts field.
Don't keep per-csect line-number counts.
(xcoff_sweep): Don't update per-csect line-number counts.
(bfd_xcoff_size_dynamic_sections): Count the number of line-number
entries in each output section.
(xcoff_link_input_bfd): Get the number of line numbers from
the bfd's lineno_counts field, rather than recalculating it
from scratch. Fix the range check when updating C_BINCL and
C_EINCL symbols.
(_bfd_xcoff_bfd_final_link): Don't count the output line numbers
here. Don't expect csects to have line-number counts.
ld/testsuite/
* ld-powerpc/aix-lineno-1.s, ld-powerpc/aix-lineno-1.txt,
ld-powerpc/aix-lineno-1a.dd, ld-powerpc/aix-lineno-1a.nd,
ld-powerpc/aix-lineno-1b.dd, ld-powerpc/aix-lineno-1b.nd: New tests.
* ld-powerpc/aix52.exp: Run them. Copy aix-lineno-1.txt to tmpdir.
Richard Sandiford [Sat, 14 Mar 2009 09:32:06 +0000 (09:32 +0000)]
bfd/
* libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
* libcoff.h: Regenerate.
* xcofflink.c (xcoff_keep_symbol_p): New function, using the
"skip" logic from xcoff_link_input_bfd.
(bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
objects in a dynamic link, rather than checking whether csectpp
is null. Always allocate debug_index for other objects,
and always go through the loop. Update the type of debug_index
after the change above. Read the auxillary csect information
and use xcoff_keep_symbol_p to decide whether a symbol should
be kept. Set its debug_index to -2 if not.
(xcoff_link_input_bfd): Update the type of debug_index after
the change above and always expect it to be nonnull. Use it to
test whether a symbol should be stripped, rather than making the
decision here. Postpone all symbol creation to the second pass.
Richard Sandiford [Sat, 14 Mar 2009 09:18:22 +0000 (09:18 +0000)]
bfd/
* xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
creating a descriptor.
(xcoff_sweep): Don't mark toc_section unless it's needed.
(bfd_xcoff_size_dynamic_sections): Skip the toc_section
when marking every bfd.
(xcoff_link_input_bfd): Skip all TOC anchors.
(xcoff_toc_section_p, xcoff_find_tc0): New functions.
(_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
to -1; call xcoff_find_tc0 instead.
ld/testsuite/
* ld-powerpc/aix-toc-1.ex, ld-powerpc/aix-toc-1a.s,
ld-powerpc/aix-toc-1b.s, ld-powerpc/aix-toc-1-32.dd,
ld-powerpc/aix-toc-1-64.dd: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:17:56 +0000 (09:17 +0000)]
bfd/
* libcoff-in.h (xcoff_section_tdata): Update commentary.
* libcoff.h: Regenerate.
* xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
the previous symbol's csect. Treat last_symndx as an inclusive value
and simplify its handling.
(xcoff_mark): Treat last_symndx as an inclusive value. Only mark
symbols with the right csect. Don't mark rsec when processing
relocations against undefined or absolute sections.
(bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
of bfd_und_section_ptr.
(xcoff_link_input_bfd): Likewise.
Richard Sandiford [Sat, 14 Mar 2009 09:17:32 +0000 (09:17 +0000)]
include/coff/
* xcoff.h (XCOFF_CALLED, XCOFF_IMPORT): Update comments.
(XCOFF_WAS_UNDEFINED): New flag.
(xcoff_link_hash_table): Add an "rtld" field.
bfd/
* coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
flag is set. Assert that all undefined symbols are either
imported or defined by a dynamic object.
* coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
* xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
handling to all relocations. Only set XCOFF_CALLED for function
symbols.
(xcoff_find_function): New function, split out from...
(bfd_xcoff_export_symbol) ...here.
(xcoff_set_import_path): New function, split out from...
(bfd_xcoff_import_symbol): ...here. Remove assertion for old
meaning of XCOFF_CALLED.
(xcoff_mark_symbol): If we mark an undefined and unimported
symbol, find some way of defining it. If the symbol is a function
descriptor, fill in its definition automatically. If the symbol
is a function, mark its descriptor and allocate room for global
linkage code. Otherwise mark the symbol as implicitly imported.
Move the code for creating function descriptors from...
(xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
check for symbols that were implicitly defined.
(xcoff_mark): Don't count any dynamic relocations against
function symbols.
(bfd_xcoff_size_dynamic_sections): Save the rtld parameter
in the xcoff link info.
(xcoff_link_input_bfd): Remove handling of undefined and
unexported symbols.
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
-berok and -bernotok control link_info.unresolved_syms_in_objects
and link_info.unresolved_syms_in_shared_libs instead of
force_make_executable.
ld/testsuite/
* ld-powerpc/aix-glink-1.ex, ld-powerpc/aix-glink-1.s,
ld-powerpc/aix-glink-1-32.dd, ld-powerpc/aix-glink-1-64.dd,
ld-powerpc/aix-glink-1-32.d, ld-powerpc/aix-glink-1-64.d: New tests.
* ld-powerpc/aix52.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:16:31 +0000 (09:16 +0000)]
gas/
* config/tc-ppc.c (md_apply_fix): On COFF targets, always reread
"value" from fx_offset. Manually resubtract md_pcrel_from_section
where necessary.
gas/testsuite/
* gas/ppc/xcoff-branch-1.s, gas/ppc/xcoff-branch-1-32.d,
gas/ppc/xcoff-branch-1-64.d: New tests.
* gas/ppc/aix.exp: Run them.
Richard Sandiford [Sat, 14 Mar 2009 09:16:01 +0000 (09:16 +0000)]
bfd/
* coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
if the target is absolute. Fix comment typo.
(xcoff_ppc_relocate_section): Remove FIXME.
* coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
if the target is absolute.
ld/testsuite/
* ld-powerpc/aix-abs-branch-1.im, ld-powerpc/aix-abs-branch-1.ex,
ld-powerpc/aix-abs-branch-1.s,
ld-powerpc/aix-abs-branch-1.dd: New test.
* ld-powerpc/aix52.exp: Run it.
Richard Sandiford [Sat, 14 Mar 2009 09:15:34 +0000 (09:15 +0000)]
bfd/
* xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
R_POS and R_NEG relocations against absolute symbols to the
.loader section.
ld/testsuite/
* ld-powerpc/aix-abs-reloc-1.ex, ld-powerpc/aix-abs-reloc-1.im,
ld-powerpc/aix-abs-reloc-1.od, ld-powerpc/aix-abs-reloc-1.s: New test.
* ld-powerpc/aix52.exp: Run it.
Richard Sandiford [Sat, 14 Mar 2009 09:15:12 +0000 (09:15 +0000)]
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
config.dynamic_link to TRUE.
Richard Sandiford [Sat, 14 Mar 2009 09:14:57 +0000 (09:14 +0000)]
bfd/
* coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
to 2 for bfd_mach_ppc_620.
Richard Sandiford [Sat, 14 Mar 2009 09:14:30 +0000 (09:14 +0000)]
ld/
* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
.text, .data and .bss output sections as SEC_KEEP.
ld/testsuite/
* ld-powerpc/aix-core-sec-1.s, ld-powerpc/aix-core-sec-1.ex,
ld-powerpc/aix-core-sec-1.hd, ld-powerpc/aix-core-sec-2.s,
ld-powerpc/aix-core-sec-2.ex, ld-powerpc/aix-core-sec-2.hd,
ld-powerpc/aix-core-sec-3.s, ld-powerpc/aix-core-sec-3.ex,
ld-powerpc/aix-core-sec-3.hd: New tests.
* ld-powerpc/aix52.exp: New harness.
Richard Sandiford [Sat, 14 Mar 2009 09:11:38 +0000 (09:11 +0000)]
bfd/
* config.bfd: Treat AIX 6+ in the same way as AIX 5.
* configure.in: Likewise.
* configure: Regenerate.
binutils/
* configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
* configure.in: Likewise.
* configure: Regenerate.
gas/
* configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
* configure.in: Likewise.
* configure: Regenerate.
ld/
* configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
Richard Sandiford [Sat, 14 Mar 2009 09:09:47 +0000 (09:09 +0000)]
ld/testsuite/
* lib/ld-lib.exp (ar_simple_create): Add an "aropts" parameter.
(run_ld_link_tests): Treat the second list element as "ar" options
when creating an archive. Don't run the linker in this case.
(run_cc_link_tests): Likewise.
Ian Lance Taylor [Sat, 14 Mar 2009 05:56:46 +0000 (05:56 +0000)]
* readsyms.cc (Read_symbols::incompatible_warning): New function.
(Read_symbols::requeue): New function.
(Read_symbols::do_read_symbols): If make_elf_object fails because
the target type is not configured, and the file was searched for,
issue a warning and retry with the next directory.
(Add_symbols::run): If the file has an incompatible format, and
it was searched for, requeue the Read_symbols task. On error,
release the object.
* readsyms.h (class Read_symbols): Add dirindex_ field. Add
dirindex parameter to constructor. Change all callers. Declare
incompatible_warning and requeue.
(class Add_symbols): Add dirpath_, dirindex_, mapfile_,
input_argument_ and input_group_ fields. Add them to
constructor. Change all callers.
(class Read_script): Add dirindex_ field. Add it to constructor.
Change all callers.
* archive.cc (Archive::setup): Remove input_objects parameter.
Change all callers.
(Archive::get_file_and_offset): Likewise.
(Archive::read_all_symbols): Likewise.
(Archive::read_symbols): Likewise.
(Archive::get_elf_object_for_member): Remove input_objects
parameter. Add punconfigured parameter. Change all callers.
(Archive::add_symbols): Change return type to bool. Check return
value of include_member.
(Archive::include_all_members): Likewise.
(Archive::include_member): Change return type to bool. Return
false if first included object has incompatible target. Set
included_member_ field.
(Add_archive_symbols::run): If add_symbols returns false, requeue
Read_symbols task.
* archive.h (class Archive): Add included_member_ field.
Initialize it in constructor. Add input_file and searched_for
methods. Update declarations.
(class Add_archive_symbols): Add dirpath_, dirindex_, and
input_argument_ fields. Add them to constructor. Change all
callers.
* script.cc: Include "target-select.h".
(class Parser_closure): Add skip_on_incompatible_target_ and
found_incompatible_target_ fields. Add
skip_on_incompatible_target parameter to constructor. Change all
callers. Add methods skip_on_incompatible_target,
clear_skip_on_incompatible_target, found_incompatible_target, and
set_found_incompatible_target.
(read_input_script): Add dirindex parameter. Change all callers.
If parser finds an incompatible target, requeue Read_symbols
task.
(script_set_symbol): Clear skip_on_incompatible_target in
closure.
(script_add_assertion, script_parse_option): Likewise.
(script_start_sections, script_add_phdr): Likewise.
(script_check_output_format): New function.
* script.h (read_input_script): Update declaration.
* script-c.h (script_check_output_format): Declare.
* yyscript.y (file_cmd): Handle OUTPUT_FORMAT.
(ignore_cmd): Remove OUTPUT_FORMAT.
* fileread.cc (Input_file::Input_file): Add explicit this.
(Input_file::will_search_for): New function.
(Input_file::open): Add pindex parameter. Change all callers.
* fileread.h (class Input_file): Add input_file_argument method.
Declare will_search_for. Update declarations.
* object.cc (make_elf_object): Add punconfigured parameter.
Change all callers.
* object.h (class Object): Make input_file public. Add
searched_for method.
(make_elf_object): Update declaration.
* dirsearch.cc (Dirsearch::find): Add pindex parameter. Use it to
restart search.
* dirsearch.h (class Dirsearch): Update declaration.
* options.h (class General_options): Add --warn-search-mismatch.
* parameters.cc (Parameters::is_compatible_target): New function.
* parameters.h (class Parameters): Declare is_compatible_target.
* workqueue.cc (Workqueue::add_blocker): New function.
* workqueue.h (class Workqueue): Declare add_blocker.
Dave Korn [Sat, 14 Mar 2009 03:30:26 +0000 (03:30 +0000)]
include/ChangeLog
2009-03-12 Dave Korn <dave.korn.cygwin@gmail.com>
* coff/internal.h (struct internal_extra_pe_aouthdr): Correct type
of DllCharacteristics flags field to unsigned.
* coff/pe.h (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION,
IMAGE_DLLCHARACTERISTICS_NO_SEH,
IMAGE_DLLCHARACTERISTICS_NO_BIND,
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): New macros to
define flag bit values for DllCharacteristics field of PEAOUTHDR,
PEPAOUTHDR.
ld/ChangeLog
2009-03-12 Dave Korn <dave.korn.cygwin@gmail.com>
Danny Smith <dannysmith@users.sourceforge.net>
* emultmpl/pe.em (pe_dll_characteristics): New variable.
(OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
New macros for options to set DllCharacteristics flag bits.
(gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
(init): Add DllCharacteristics field.
(gld_${EMULATION_NAME}_list_options): List new options.
(gld${EMULATION_NAME}_handle_option): Handle new options.
* emultmpl/pep.em (pe_dll_characteristics): New variable.
(OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
New macros for options to set DllCharacteristics flags.
(gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
(init): Add DllCharacteristics field.
(gld_${EMULATION_NAME}_list_options): List new options.
(gld${EMULATION_NAME}_handle_option): Handle new options.
* ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
Pedro Alves [Sat, 14 Mar 2009 01:38:08 +0000 (01:38 +0000)]
2009-03-14 Pedro Alves <pedro@codesourcery.com>
gdb/
* remote.c (PACKET_qAttached): New.
(remote_query_attached): New.
(remote_add_inferior): Add new `attached' argument. Handle it.
(remote_notice_new_inferior, remote_start_remote): Adjust to pass
-1 to remote_add_inferior in new parameter.
(extended_remote_attach_1): Adjust to pass 1 to
remote_add_inferior in the new parameter.
(extended_remote_create_inferior_1): Adjust to pass 0 to
remote_add_inferior in the new parameter.
(_initialize_remote): Add "set/show remote query-attached-packet"
commands.
2009-03-14 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
* server.c (handle_query): Handle "qAttached".
2009-03-14 Pedro Alves <pedro@codesourcery.com>
gdb/doc/
* gdb.texinfo (Remote Configuration): Document query-attached.
(General Query Packets): Document qAttached.
Alan Modra [Sat, 14 Mar 2009 00:00:09 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 14 Mar 2009 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Fri, 13 Mar 2009 21:30:06 +0000 (21:30 +0000)]
* fileread.cc (Input_file::open): Remove options parameter.
Change all callers.
(Input_file::open_binary): Likewise.
* script.cc (read_input_script): Likewise.
* readsyms.h (class Read_symbols): Remove options_ field. Remove
options parameter from constructor. Change all callers.
(class Read_script): Likewise.
* fileread.h (class Input_file): Update declarations.
* script.h (read_input_script): Update declaration.
Tom Tromey [Fri, 13 Mar 2009 21:02:58 +0000 (21:02 +0000)]
* symtab.c (lookup_symbol_in_language): Use a cleanup.
Doug Evans [Fri, 13 Mar 2009 17:26:59 +0000 (17:26 +0000)]
* exceptions.h: Clean up some comments on catch_exceptions usage.
* exceptions.c: Ditto. Plus mark catch_errors as superseded by
catch_exceptions.
H.J. Lu [Fri, 13 Mar 2009 13:39:57 +0000 (13:39 +0000)]
bfd/
2009-03-13 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9945
* elf.c (assign_section_numbers): Generate symbol table if there
is any relocation in output.
(_bfd_elf_compute_section_file_positions): Likewise.
binutils/
2009-03-13 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9945
* objcopy.c (copy_object): Clear HAS_RELOC when stripping all.
Nick Clifton [Fri, 13 Mar 2009 11:34:43 +0000 (11:34 +0000)]
PR 9934
* elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
* elflink.c (elf_link_read_relocs_from_section): Use
NUM_SHDR_ENTRIES. Gracefully handle the case where there are
relocs but no symbol table.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
Vladimir Prus [Fri, 13 Mar 2009 10:55:08 +0000 (10:55 +0000)]
* gdb.mi/mi-cli.exp: Adjust for output difference in
sync and async modes.
Nick Clifton [Fri, 13 Mar 2009 09:00:59 +0000 (09:00 +0000)]
* lib/ld-lib.exp (run_dump_test): Add verbose to list of globals.
Replace call to verbose_eval with a test of verbose level. If
greater than 2 always dump the contents of the dumpfile. If equal
to 2 only dump the contents if the regexp diff failed.
(proc verbose_eval): Delete.
Nathan Sidwell [Fri, 13 Mar 2009 07:57:47 +0000 (07:57 +0000)]
* Makefile.in, hostio-errno.c, errno.c, xtensa-xtregs.c: Change to
GPLv3, update license URL.
Joel Brobecker [Fri, 13 Mar 2009 02:34:13 +0000 (02:34 +0000)]
* source.c (source_full_path_of): Constify parameter filename.
* defs.h (source_full_path_of): Update declaration accordingly.
Joel Brobecker [Fri, 13 Mar 2009 02:30:55 +0000 (02:30 +0000)]
* ada-lang.c (ada_evaluate_subexp): Merge case BINOP_REM and
BINOP_MOD cases with the handling of case BINOP_DIV and BINOP_MUL.
Remove useless op value checks when EVAL_AVOID_SIDE_EFFECTS.
Joel Brobecker [Fri, 13 Mar 2009 02:24:38 +0000 (02:24 +0000)]
* gdb.ada/ptype_arith_binop.exp: Remove some commented-out code
that was checked in by mistake. Remove loading of ada.exp, since
this is not necessary in this case.
Joel Brobecker [Fri, 13 Mar 2009 02:15:36 +0000 (02:15 +0000)]
* gdb.ada/ptype_arith_binop.exp: New testcase.
Joel Brobecker [Fri, 13 Mar 2009 02:15:01 +0000 (02:15 +0000)]
* ada-lang.c (ada_evaluate_subexp) <BINOP_DIV>: make sure to
promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS.
Joel Brobecker [Fri, 13 Mar 2009 01:52:33 +0000 (01:52 +0000)]
Fix the author name in the last entry.
Joel Brobecker [Fri, 13 Mar 2009 01:51:17 +0000 (01:51 +0000)]
* ada-tasks.c (ada_task_is_alive): Move up and make static.
* ada-lang.h (ada_task_is_alive): Remove declaration.
Joel Brobecker [Fri, 13 Mar 2009 01:28:05 +0000 (01:28 +0000)]
* ada-lang.c (ada_delta): Change the type of numerators and
denominators to DOUBLEST, as they may not fit into a long.
(scaling_factor): Ditto.
Joel Brobecker [Fri, 13 Mar 2009 01:13:33 +0000 (01:13 +0000)]
Improve the last changelog entry.
Joel Brobecker [Fri, 13 Mar 2009 01:12:21 +0000 (01:12 +0000)]
* language.c (lang_bool_type): Return a builtin bool type in the
Ada case.
Joel Brobecker [Fri, 13 Mar 2009 00:57:52 +0000 (00:57 +0000)]
* ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: For tagged
types, if we are unable to determine the actual symbol type
from its tag, then use the static approximation instead.
gdbadmin [Fri, 13 Mar 2009 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 13 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Joel Brobecker [Thu, 12 Mar 2009 23:42:05 +0000 (23:42 +0000)]
* gdb.ada/mod_from_name: New testcase.
Joel Brobecker [Thu, 12 Mar 2009 23:41:16 +0000 (23:41 +0000)]
Fix crash printing packed record with packed array.
* ada-lang.c (ada_modulus_from_name): New function.
(ada_modulus): In the case where the type length is bigger than
the size of the type used to hold the bounds, try determining
the modulus from the type name.
(ada_value_primitive_packed_val): Fix bug in the computation of
ntarg causing an out-of-buffer invalid access.
Joel Brobecker [Thu, 12 Mar 2009 23:19:35 +0000 (23:19 +0000)]
* gdb.ada/tick_last_segv: New testcase.
Joel Brobecker [Thu, 12 Mar 2009 23:17:33 +0000 (23:17 +0000)]
Fix segfault when printing short_integer'last.
* ada-lang.c (ada_find_any_type): Search in the primitive types
if a symbol could not be found.
Joel Brobecker [Thu, 12 Mar 2009 22:53:38 +0000 (22:53 +0000)]
* ada-tasks.c (task_states,long_task_states): Add new states
Activating and Acceptor_Delay_Sleep. Update the description
of state Acceptor_Sleep.
Joel Brobecker [Thu, 12 Mar 2009 22:29:30 +0000 (22:29 +0000)]
Fix a build failure on Darwin following some changes in
the profile of some target_ops methods.
* darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
where missing.
(darwin_stop_inferior, darwin_detach): Likewise.
Vladimir Prus [Thu, 12 Mar 2009 20:16:06 +0000 (20:16 +0000)]
* gdb.mi/mi-cli.exp: Remove debug print.
Vladimir Prus [Thu, 12 Mar 2009 20:08:04 +0000 (20:08 +0000)]
Include token in ^running notification for CLI commands.
* mi/mi-main.c (mi_execute_command): Set current_token here.
(mi_cmd_execute): Do not set current_token here.
Vladimir Prus [Thu, 12 Mar 2009 19:54:54 +0000 (19:54 +0000)]
Fix MI timings.
* mi/mi-main.c (mi_print_timing_maybe): New.
(captured_mi_execute_command): Simplify. Output timings to
CLI commands, too.
(mi_execute_async_cli_command): Do not print timings.
* mi/mi-main.h (mi_print_timing_maybe): Declare.
* mi/mi-interp.c (mi_on_normal_stop): Call mi_print_timing_maybe.
Joel Brobecker [Thu, 12 Mar 2009 17:56:20 +0000 (17:56 +0000)]
* xcoffread.c (process_linenos): Check if the line in the
include table refers to the main source file and, if so,
add them to the main subfile.
Joel Brobecker [Thu, 12 Mar 2009 17:44:29 +0000 (17:44 +0000)]
Fix a build failure on AIX introduced after a change in the profile
of some of the "methods" in the target_ops structure.
* aix-thread.c: Add missing target_ops parameter throughout.
Implement Ada task switching on AIX.
* aix-thread.c (aix_thread_get_ada_task_ptid): New function.
(init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid.
H.J. Lu [Thu, 12 Mar 2009 17:13:41 +0000 (17:13 +0000)]
2009-03-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/9938
* elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
to check ___tls_get_addr.
* elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
strncmp to check __tls_get_addr.
Andrew Stubbs [Thu, 12 Mar 2009 10:57:18 +0000 (10:57 +0000)]
2009-03-12 Andrew Stubbs <ams@codesourcery.com>
* dwarf2.c (read_section): Always check the offset, even when the
section has been read before.
gdbadmin [Thu, 12 Mar 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 12 Mar 2009 00:00:09 +0000 (00:00 +0000)]
daily update
Joseph Myers [Wed, 11 Mar 2009 22:49:54 +0000 (22:49 +0000)]
* binutils-all/objdump.W, binutils-all/objdump.s: Don't match
literal "tmpdir/" in expected output.
Daniel Jacobowitz [Wed, 11 Mar 2009 20:26:02 +0000 (20:26 +0000)]
* breakpoint.c (bpstat_check_breakpoint_conditions): Use
value_mark and value_free_to_mark.
* objfiles.c (free_objfile): Call objfile_free_data before
freeing the BFD.
H.J. Lu [Wed, 11 Mar 2009 16:42:23 +0000 (16:42 +0000)]
2009-03-11 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
comments.
Chris Demetriou [Wed, 11 Mar 2009 04:36:40 +0000 (04:36 +0000)]
[bfd/ChangeLog]
2009-03-11 Chris Demetriou <cgd@google.com>
* bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
* bfd-in2.h: Regenerate.
* archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
mode.
(bsd_write_armap): Likewise.
(_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
flag is set, do nothing.
(coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
for timestamp.
[binutils/ChangeLog]
2009-03-11 Chris Demetriou <cgd@google.com>
* ar.c (deterministic): New global variable.
(main): Recognize new 'D' option, which enables 'deterministic mode'.
(usage): Document new 'D' option.
(write_archive): Set BFD_DETERMINISTIC_OUTPUT in output archive's
flags if deterministic mode was requested.
* doc/binutils.texi (ar): Document deterministic mode ('D' option).
[binutils/testsuite/ChangeLog]
2009-03-11 Chris Demetriou <cgd@google.com>
* binutils-all/ar.exp (deterministic_archive): New test.
Hans-Peter Nilsson [Wed, 11 Mar 2009 03:22:44 +0000 (03:22 +0000)]
* config/tc-cris.c (cris_create_short_jump): Remove prototype.
Rename, changing all callers, to...
(md_create_short_jump): Adjust head comment. Assert
word-sized-branch distance for v32. Bail out calling as_fatal for
compatibility mode here.
(md_create_long_jump): ...not here.
* config/tc-cris.h (md_create_short_jump): Do not define.
Hans-Peter Nilsson [Wed, 11 Mar 2009 03:17:32 +0000 (03:17 +0000)]
* gas/cris/rd-bkw5.d, gas/cris/rd-bkw5.s, gas/cris/rd-bkw5b.d,
gas/cris/rd-bkw5bpic.d, gas/cris/rd-bkw5bv32.d,
gas/cris/rd-bkw5bv32pic.d, gas/cris/rd-bkw5pic.d,
gas/cris/rd-bkw5v32.d, gas/cris/rd-bkw5v32pic.d: New tests.
Ulrich Weigand [Wed, 11 Mar 2009 00:18:02 +0000 (00:18 +0000)]
* elf32-spu.c (find_function_stack_adjust): Handle sf instruction
used to update stack pointer.
gdbadmin [Wed, 11 Mar 2009 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 11 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Hans-Peter Nilsson [Tue, 10 Mar 2009 14:40:36 +0000 (14:40 +0000)]
* gas/cris/rd-bkw4.d, gas/cris/rd-bkw4v32.d, gas/cris/rd-bkw4.s:
New test.
Hans-Peter Nilsson [Tue, 10 Mar 2009 14:38:03 +0000 (14:38 +0000)]
* write.c (write_object_file) [!WORKING_DOT_WORD]: When patching
the jump table for multiple overflowing entries with the same
target, handle base symbols being different.
(relax_segment) <case rs_broken_word, second loop>: Whenever a
single entry overflows, arrange to redirect all entries with the
same target.
Nick Clifton [Tue, 10 Mar 2009 09:21:01 +0000 (09:21 +0000)]
Add Spanish translation to gold.
Update Indonesian translation for opcodes.
Hui Zhu [Tue, 10 Mar 2009 08:53:53 +0000 (08:53 +0000)]
* disasm.c (gdb_disassembly): Remove unused argument
"line_num".
* disasm.h (gdb_disassembly): Ditto.
* cli/cli-cmds.c (print_disassembly): Ditto.
* mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
Alan Modra [Tue, 10 Mar 2009 06:53:46 +0000 (06:53 +0000)]
include/opcode/
* ppc.h (ppc_parse_cpu): Declare.
opcodes/
* ppc-dis.c: Include "opintl.h".
(struct ppc_mopt, ppc_opts): New.
(ppc_parse_cpu): New function.
(powerpc_init_dialect): Use it.
(print_ppc_disassembler_options): Dump options from ppc_opts.
Internationalize message.
gas/
* config/tc-ppc.c (parse_cpu): Delete.
(md_parse_option, ppc_machine): Use ppc_parse_cpu.
gas/testsuite/
* gas/ppc/altivec_and_spe.d (objdump): Add -Maltivec.
* gas/ppc/common.d: Adjust for -Mcom not including -Mppc.
H.J. Lu [Tue, 10 Mar 2009 00:48:10 +0000 (00:48 +0000)]
binutils/
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9933
* objcopy.c (filter_symbols): Properly handle common symbols
in relocatable file.
binutils/testsuite/
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9933
* binutils-all/copy-4.d: New.
* binutils-all/objcopy.exp: Run copy-4.
gdbadmin [Tue, 10 Mar 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 10 Mar 2009 00:00:08 +0000 (00:00 +0000)]
daily update
Paul Pluzhnikov [Mon, 9 Mar 2009 22:38:37 +0000 (22:38 +0000)]
2009-03-09 Paul Pluzhnikov <ppluzhnikov@google.com>
* solib.c (solib_contains_address_p): New function.
(solib_name_from_address): Use it.
* printcmd.c (display_uses_solib_p): Use it.
* solib.h (solib_contains_address_p): Declare it.
Jan Kratochvil [Mon, 9 Mar 2009 22:35:44 +0000 (22:35 +0000)]
* varobj.c (free_variable): Call value_free.
Jan Kratochvil [Mon, 9 Mar 2009 18:53:48 +0000 (18:53 +0000)]
PR gdb/9873:
* dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'.
Move the variable `macinfo_type' out of the loop. Create a new
processing pass before the current one to pre-create `current_file'.
New complaint on misplaced zero/non-zero definitions/includes.
Skip first DW_MACINFO_start_file with `at_commandline' set.
H.J. Lu [Mon, 9 Mar 2009 18:33:42 +0000 (18:33 +0000)]
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR gas/9915
* config/tc-i386.h (LOCAL_LABELS_DOLLAR): New. Defined as 0.
(LOCAL_LABELS_FB): Undefine befoe define.
Vladimir Prus [Mon, 9 Mar 2009 13:19:19 +0000 (13:19 +0000)]
* solib.c (reload_shared_libraries): Give
inferior a chance to reset solib breakpoint.
Reinit frame cache.
Christopher Faylor [Mon, 9 Mar 2009 05:35:56 +0000 (05:35 +0000)]
Minor formatting change
gdbadmin [Mon, 9 Mar 2009 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 9 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Christopher Faylor [Sun, 8 Mar 2009 21:01:52 +0000 (21:01 +0000)]
* windows-nat.c (dr): Redefine to use largest possible integer which holds a
pointer.
(cygwin_set_dr): Avoid coercion.
* windows-nat.c (windows_create_inferior): implement --tty handling on
non-cygwin.
Alan Modra [Sun, 8 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 8 Mar 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Dave Anglin [Sat, 7 Mar 2009 23:42:28 +0000 (23:42 +0000)]
* ld-elf/empty2.d: Remove xfail for hppa*-*-*.
* ld-elf/merge.d: Change xfail for hppa to hppa*64*-*-*.
Dave Anglin [Sat, 7 Mar 2009 23:38:13 +0000 (23:38 +0000)]
PR binutils/9921
* som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
for unknown symbols in absolute section.
Alan Modra [Sat, 7 Mar 2009 00:00:04 +0000 (00:00 +0000)]
daily update