Ian Lance Taylor [Fri, 21 Mar 2008 17:48:18 +0000 (17:48 +0000)]
Bump version for general release.
Pedro Alves [Fri, 21 Mar 2008 17:09:35 +0000 (17:09 +0000)]
gdb/
* target.h (struct target_ops): Delete to_async_mask_value and add
to_async_mask.
(target_is_async_p, target_async): Formatting.
(target_async_mask_value): Delete.
(target_async_mask): Delete function declaration, and add new
target macro with the same name.
* target.c (update_current_target): Replace to_async_mask_value by
to_async_mask. Default to_async_mask to return_one.
(target_async_mask): Delete.
(find_default_can_async_p, find_default_is_async_p): New.
(init_dummy_target): register find_default_can_async_p and
find_default_is_async_p on the dummy target.
* linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
(debug_linux_nat_async): New global.
(show_debug_linux_nat_async): New function.
(linux_nat_async_enabled, linux_nat_async_mask_value)
(linux_nat_event_pipe, linux_nat_num_queued_events)
(linux_nat_async_events_enabled): New globals.
(struct waitpid_result): New struct.
(waitpid_queue): New global.
(queued_waitpid, push_waitpid, drain_queued_events): New.
(my_waitpid): Call queued_waitpid.
(linux_child_follow_fork): Disable async events during the call.
(blocked_mask): Delete.
(sync_sigchld_action, async_sigchld_action): New globals.
(lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In
async mode, block events during the call.
(linux_nat_create_inferior): New.
(linux_nat_attach): In sync mode, restore the mask states. In
async mode, wake the event loop immediatelly.
(detach_callback): Drain all queued events of the lwp we're
detaching from.
(linux_nat_detach): Block async mode, and drain events of the main
process.
(linux_nat_resume): If in async mode, mask async events during the
call. If short circuiting, force event loop to wake up. If
resuming, set target_executing, and register target events in the
event loop.
(pipe_to_local_event_queue, local_event_queue_to_pipe): New.
(linux_nat_wait): In async mode, block events during the call.
Only enable/disable passing SIGINT to the inferior in sync mode.
Get events from local waitpid queue. If no interesting events was
found, return to events loop. Reregister target events in the
event loop on exit. In sync mode, no need to reblock SIGCHLD.
(linux_nat_kill): Disable events on entry.
(linux_nat_mourn_inferior): In sync mode, don't restore the masks
here. Detach async mode from the event loop if there are no more
forks available, otherwise leave it on.
(sigchld_handler): Assure this is called only in sync mode.
(linux_async_permitted, linux_async_permitted_1): New globals.
(set_maintenance_linux_async_permitted)
(show_maintenance_linux_async_permitted): New functions.
(linux_nat_is_async_p, linux_nat_can_async_p)
(linux_nat_async_mask): New.
(linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
(get_pending_events, async_sigchld_handler): New.
(linux_nat_async_events): New.
(async_terminal_is_ours): New global.
(linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
(async_client_callback, async_client_context): New.
(linux_nat_async_file_handler, linux_nat_async)
(linux_nat_disable_async, linux_nat_enable_async): New.
(linux_nat_add_target): Register linux_nat_create_inferior,
linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
linux_nat_async_mask, linux_nat_terminal_inferior and
linux_nat_terminal_ours.
(_initialize_linux_nat): Remove local action variable, and update
code that used it to use sync_sigchld_action. Add new
"lin-lwp-async" debug set/show command. Put the "lin-lwp" debug
set/show command in the maintenance class. Add new "linux-async"
maintenance set/show command. Block SIGCHLD by default. Setup
async_sichld_action, and sync_sigchld_action. Install the default
async mode.
(lin_thread_get_thread_signals): Use a local sigset_t for blocking
the cancel signals.
* linux-thread-db.c (re_check_for_thread_db): New.
(clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
(thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
(thread_db_async_mask): New.
(init_thread_db_ops): Register thread_db_can_async_p,
thread_db_is_async_p, thread_db_async and thread_db_async_mask.
* remote.c (remote_async_mask_value): New.
(remote_return_zero): New.
(init_remote_ops): Register remote_return_zero as callbacks of
to_can_async_p and to_is_async_p.
(remote_can_async_p, remote_is_async_p, remote_async): Update to
use remote_async_mask_value.
(remote_async_mask): New.
(init_remote_async_ops): Remove to_async_mask_value setting and
register remote_async_mask as to_async_mask callback in
remote_async_ops.
* Makefile.in (linux-nat.o): Update.
gdb/doc/
* gdb.texinfo (Debugging Output): Document
"set/show debug lin-lwp-async".
(Maintenance Commands): Document "maint set/show linux-async".
Adam Nemet [Fri, 21 Mar 2008 16:29:26 +0000 (16:29 +0000)]
* ld-mips-elf/dyn-sec64.d, ld-mips-elf/dyn-sec64.s,
ld-mips-elf/dyn-sec64.ld: New test.
* ld-mips-elf/mips-elf.exp: Run it.
Adam Nemet [Fri, 21 Mar 2008 16:22:51 +0000 (16:22 +0000)]
* elf.c (_bfd_elf_print_private_bfd_data): Use bfd_fprintf_vma to
print the values from the dynamic section.
Daniel Jacobowitz [Fri, 21 Mar 2008 15:44:53 +0000 (15:44 +0000)]
2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
* gdbthread.h (add_thread_with_info): New.
* linux-thread-db.c: Add some documentation.
(GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
(struct private_thread_info): Remove th_valid and ti_valid.
Replace ti with tid.
(thread_get_info_callback): Do not add TID to the new ptid. Do
not cache th or ti.
(thread_db_map_id2thr, lwp_from_thread): Delete functions.
(thread_from_lwp): Assert that the LWP is set. Do not add TID to the
new PTID.
(attach_thread): Handle an already-existing thread. Use
add_thread_with_info. Cache the th and tid.
(detach_thread): Verify that private was set. Remove verbose
argument and printing. Update caller.
(thread_db_detach): Do not adjust inferior_ptid.
(clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
(check_event, find_new_threads_callback): Do not add TID to the new PTID.
(thread_db_wait): Do not use lwp_from_thread.
(thread_db_pid_to_str): Use the cached TID.
(thread_db_extra_thread_info): Check that private is set.
(same_ptid_callback): Delete.
(thread_db_get_thread_local_address): Do not use it or check
is_thread. Check that private is set. Assume that the thread
handle is already cached.
(init_thread_db_ops): Remove to_resume and to_kill.
* thread.c (add_thread_with_info): New.
(add_thread): Use it.
* linux-nat.c (find_thread_from_lwp): Delete.
(exit_lwp): Do not use it. Check print_thread_events. Print before
deleting the thread.
(GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
* linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
* inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
printf_unfiltered for thread exits.
* procfs.c (procfs_wait): Likewise.
2008-03-21 Pedro Alves <pedro@codesourcery.com>
* gdb.threads/fork-child-threads.exp: Test next over fork.
Ian Lance Taylor [Fri, 21 Mar 2008 15:42:41 +0000 (15:42 +0000)]
Copy this patch over from master gcc repository:
* configure.ac: Add support for --enable-gold.
* Makefile.def: Add gold as a directory like ld.
* configure, Makefile.in: Regenerate.
Daniel Jacobowitz [Fri, 21 Mar 2008 15:33:11 +0000 (15:33 +0000)]
2008-03-21 Chris Demetriou <cgd@google.com>
* symtab.c (rbreak_command): Quote symbol name before passing
it to break_command.
* gdb.base/break.exp (rbreak junk): New test for rbreak
"Junk at end of arguments" issue.
Daniel Jacobowitz [Fri, 21 Mar 2008 15:02:38 +0000 (15:02 +0000)]
* eval.c (evaluate_subexp_for_address): Clarify error message.
Use value_must_coerce_to_target.
* infcall.c (value_arg_coerce): Call value_coerce_to_target.
* valops.c (value_assign): Call value_coerce_to_target when
assigning to anything but internalvars. Leave GDB-side arrays
as arrays when assigning to internalvars.
(value_must_coerce_to_target, value_coerce_to_target): New.
(value_coerce_array, value_addr): Call value_coerce_to_target.
(value_array): Create the array in GDB's memory instead of
the inferior's.
* value.h (value_must_coerce_to_target, value_coerce_to_target):
Declare.
* gdb.texinfo (Expressions): Update description of malloced arrays.
* gdb.base/printcmds.exp (test_print_array_constants): Do not expect
*& to work on created array elements.
(Top level): Test print $pc with a file. Test string operations
without a target.
* gdb.base/ptype.exp: Do not expect *& to work on created array
elements.
Daniel Jacobowitz [Fri, 21 Mar 2008 14:39:23 +0000 (14:39 +0000)]
* top.c (quit_confirm): Warn that we will kill the program.
* gdb.threads/killed.exp, gdb.threads/manythreads.exp,
gdb.threads/staticthreads.exp: Update exit query.
H.J. Lu [Fri, 21 Mar 2008 03:27:57 +0000 (03:27 +0000)]
2008-03-20 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_mips_specific): Declare addr_size as int.
gdbadmin [Fri, 21 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 20 Mar 2008 23:00:06 +0000 (23:00 +0000)]
daily update
Richard Sandiford [Thu, 20 Mar 2008 10:53:11 +0000 (10:53 +0000)]
binutils/
* readelf.c (print_mips_got_entry): New function.
(process_mips_specific): Print GOT information.
ld/testsuite/
* ld-mips-elf/got-dump-1.d, ld-mips-elf/got-dump-1.s,
ld-mips-elf/got-dump-1.ld, ld-mips-elf/got-dump-2.d,
ld-mips-elf/got-dump-2.s, ld-mips-elf/got-dump-2.ld: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
Richard Sandiford [Thu, 20 Mar 2008 10:52:14 +0000 (10:52 +0000)]
bfd/
* elfxx-mips.c (MIPS_ELF_GNU_GOT1_MASK): New macro.
(_bfd_mips_elf_finish_dynamic_sections): Use it instead of 0x80000000.
ld/testsuite/
* ld-mips-elf/elf-rel-got-n64-linux.d: Expect bit 63 rather than
bit 31 of the second GOT entry to be set.
* ld-mips-elf/elf-rel-got-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
Alan Modra [Thu, 20 Mar 2008 05:35:10 +0000 (05:35 +0000)]
bfd/
* elf32-spu.c (spu_elf_create_sections): Remove output_bfd parameter.
(spu_elf_find_overlays, spu_elf_size_stubs): Likewise
(process_stubs, discover_functions, build_call_tree): Likewise.
(spu_elf_stack_analysis): Likewise.
(spu_elf_check_vma): Likewise. Move.
(struct call_info): Make "is_tail" a bitfield.
(insert_callee): Clear fun->start and set fun->is_func if we find
a non-tail call.
* elf32-spu.h (spu_elf_create_sections): Update prototype.
(spu_elf_find_overlays, spu_elf_size_stubs, spu_elf_check_vma): Ditto.
ld/
* emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
Ian Lance Taylor [Thu, 20 Mar 2008 05:22:37 +0000 (05:22 +0000)]
From Craig Silverstein: implement -z defs.
gdbadmin [Thu, 20 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 19 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Wed, 19 Mar 2008 21:41:38 +0000 (21:41 +0000)]
Make sure the start and size of the TLS segment are aligned.
Pedro Alves [Wed, 19 Mar 2008 14:54:05 +0000 (14:54 +0000)]
* inflow.c (terminal_ours_1): Guard access to
inferior_process_group with #ifdef PROCESS_GROUP_TYPE.
Andreas Krebbel [Wed, 19 Mar 2008 10:29:18 +0000 (10:29 +0000)]
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* opcodes/s390-mkopc.c (s390_opcode_cpu_val): S390_OPCODE_Z10 added.
(s390_cond_extensions): Reduced extensions to the compare related.
(main): z10 cpu type option added.
(expandConditionalJump): Renamed to ...
(insertExpandedMnemonic): ... this.
* opcodes/s390-opc.c: Re-group the operand format makros.
(INSTR_RIE_RRPU, INSTR_RIE_RRP0, INSTR_RIE_RUPI,
INSTR_RIE_R0PI, INSTR_RIE_RUPU, INSTR_RIE_R0PU, INSTR_RIE_R0IU,
INSTR_RIE_R0I0, INSTR_RIE_R0UU, INSTR_RIE_R0U0,
INSTR_RIE_RRUUU, INSTR_RIS_RURDI, INSTR_RIS_R0RDI, INSTR_RIS_RURDU,
INSTR_RIS_R0RDU, INSTR_RRF_U0RR, INSTR_RRF_00RR, INSTR_RRS_RRRDU,
INSTR_RRS_RRRD0, INSTR_RXY_URRD, INSTR_SIY_IRD, INSTR_SIL_RDI,
INSTR_SIL_RDU): New instruction formats added.
(MASK_RIE_RRPU, MASK_RIE_RRP0, MASK_RIE_RUPI, MASK_RIE_R0PI,
MASK_RIE_RUPU, MASK_RIE_R0PU, MASK_RIE_R0IU, MASK_RIE_R0I0,
MASK_RIE_R0UU, MASK_RIE_R0U0, MASK_RIE_RRUUU, MASK_RIS_RURDI,
MASK_RIS_R0RDI, MASK_RIS_RURDU, MASK_RIS_R0RDU, MASK_RRF_U0RR,
MASK_RRF_00RR, MASK_RRS_RRRDU, MASK_RRS_RRRD0, MASK_RXY_URRD,
MASK_SIY_IRD, MASK_SIL_RDI, MASK_SIL_RDU): New instruction format
masks added.
(s390_opformats): New formats added "ris", "rrs", "sil".
* opcodes/s390-opc.txt: Add the conditional jumps with the
extensions removed from automatic expansion in s390-mkopc.c manually.
(asi - trtre): Add new System z10 EC instructions.
* include/opcode/s390.h (s390_opcode_cpu_val): S390_OPCODE_Z10 added.
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* config/tc-s390.c (md_parse_option): z10 option added.
2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* gas/s390/zarch-z10.d: New file.
* gas/s390/zarch-z10.s: New file.
* gas/s390/s390.exp: Run the z10 testcases.
gdbadmin [Wed, 19 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 18 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ulrich Weigand [Tue, 18 Mar 2008 19:40:47 +0000 (19:40 +0000)]
2008-03-18 Ulrich Weigand <uweigand@de.ibm.com>
Jim Blandy <jimb@codesourcery.com>
Daniel Jacobowitz <drow@false.org>
* dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member.
(dwarf2_read_address): Update prototype.
* dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter.
(signed_address_type): Likewise.
(dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE.
(execute_stack_op): Update calls to unsigned_address_type,
signed_address_type and dwarf2_read_address. Fix implementation
of DW_OP_deref_size.
* dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype.
(dwarf2_per_cu_addr_size): Likewise.
(struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU.
(struct dwarf2_loclist_baton): Likewise.
* dwarf2loc.c (find_location_expression): Update calls to
dwarf2_read_address. Use dwarf2_per_cu_objfile and
dwarf2_per_cu_addr_size to retrieve PER_CU parameters.
(locexpr_describe_location): Likewise.
(dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter.
Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu).
(dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size
to dwarf2_per_cu_addr_size (per_cu).
(locexpr_read_variable): Update dwarf2_evaluate_loc_desc call.
(loclist_read_variable): Likewise.
(locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call.
* dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu
instead of baton->objfile.
(dwarf2_per_cu_obfile): New function.
(dwarf2_per_cu_addr_size): Likewise.
* dwarf2-frame.c (struct comp_unit): Move higher.
(struct dwarf2_cie): Add UNIT and ADDR_SIZE members.
(execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size.
(execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P
parameter by using fde->eh_frame_p. Use read_encoded_value
to implement DW_CFA_set_loc.
(struct dwarf2_frame_cache): Add ADDR_SIZE member.
(dwarf2_frame_cache): Set cache->addr_size. Update calls to
execute_stack_op and execute_cfa_program.
(dwarf2_frame_prev_register): Update calls to execute_stack_op.
(size_of_encoded_value): Remove.
(read_encoded_value): Add PTR_LEN and FUNC_BASE parameters.
Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel.
(add_cie): Set cie->unit backlink.
(decode_frame_entry_1): Set cie->addr_size. Update calls to
read_encoded_value.
(dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
Nick Clifton [Tue, 18 Mar 2008 16:56:00 +0000 (16:56 +0000)]
* gas/macros/test1.s: Rename symbols to avoid conflicts with
possible register names.
* gas/macros/test1.d: Update expected disassembly.
Ralf Wildenhues [Tue, 18 Mar 2008 06:20:40 +0000 (06:20 +0000)]
Fix ChangeLog date.
gdbadmin [Tue, 18 Mar 2008 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 17 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Ralf Wildenhues [Mon, 17 Mar 2008 22:17:33 +0000 (22:17 +0000)]
* configure.ac: m4_include config/proginstall.m4.
* configure: Regenerate.
config/
* proginstall.m4: New file, with fixed AC_PROG_INSTALL.
bfd/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
bfd/doc/
* Makefile.in: Regenerate.
intl/
* aclocal.m4: Regenerate.
* configure: Likewise.
gas/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
ld/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
opcodes/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
binutils/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
gprof/
* aclocal.m4: Regenerate.
* configure: Likewise.
* Makefile.in: Likewise.
Markus Deuling [Mon, 17 Mar 2008 19:32:56 +0000 (19:32 +0000)]
* i386-tdep.c (i386_print_insn): Remove unnecessary call to
gdbarch_bfd_arch_info.
Joel Brobecker [Mon, 17 Mar 2008 19:00:31 +0000 (19:00 +0000)]
* aix-thread.c (pdc_read_regs): Minor reformatting.
Richard Sandiford [Mon, 17 Mar 2008 18:52:04 +0000 (18:52 +0000)]
ld/testsuite/
* ld-mips-elf/eh-frame1-n32.d: Expect a warning about .eh_frame_hdr.
Remove duplicate CIEs. Adjust relocation addresses and .eh_frame
offsets accordingly. Do not allow there to be any trailing
R_MIPS_NONE relocations.
* ld-mips-elf/eh-frame1-n64.d: Likewise.
* ld-mips-elf/eh-frame2-n32.d: Likewise.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
Richard Sandiford [Mon, 17 Mar 2008 18:45:35 +0000 (18:45 +0000)]
gas/testsuite/
* gas/mips/elf-rel26.d: Add -32.
* gas/mips/mips16-intermix.d: Likewise.
ld/testsuite/
* ld-mips-elf/mips-elf.exp (o32_as_flags, o32_ld_flags): New variables.
(mips16_call_global_test, mips16_intermix_test): Use them.
Vladimir Prus [Mon, 17 Mar 2008 18:41:29 +0000 (18:41 +0000)]
* thread.c (print_thread_info): Don't insist
on having current thread if there are no
threads at all.
Craig Silverstein [Mon, 17 Mar 2008 17:56:52 +0000 (17:56 +0000)]
Up the version number to 1.3, which was just pushed to devtools.
Pedro Alves [Mon, 17 Mar 2008 17:30:29 +0000 (17:30 +0000)]
* infcmd.c (attach_command_post_wait)
(attach_command_continuation): New.
(attach_command): Support background async execution, and async
execution in synchronous mode.
Daniel Jacobowitz [Mon, 17 Mar 2008 15:05:42 +0000 (15:05 +0000)]
* stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR.
* symmisc.c (dump_symtab_1): Likewise.
* wrapper.c (gdb_value_struct_elt): Likewise.
Pedro Alves [Mon, 17 Mar 2008 14:54:07 +0000 (14:54 +0000)]
* linux-nat.c (linux_nat_filter_event): Fix comment typo.
Pedro Alves [Mon, 17 Mar 2008 14:49:06 +0000 (14:49 +0000)]
* linux-nat.c (linux_nat_filter_event): New, refactored from
linux_nat_wait.
(linux_nat_wait): Call linux_nat_filter_event.
Ulrich Weigand [Mon, 17 Mar 2008 14:06:11 +0000 (14:06 +0000)]
* top.c (execute_command): Fix uninitialized variable error.
gdbadmin [Mon, 17 Mar 2008 00:00:36 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Sun, 16 Mar 2008 23:51:19 +0000 (23:51 +0000)]
Fix handling of RELA relative relocs against local symbols in merge
sections.
Alan Modra [Sun, 16 Mar 2008 23:16:03 +0000 (23:16 +0000)]
PR 5946
* config/tc-hppa.c (is_same_frag): Delete.
Alan Modra [Sun, 16 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sun, 16 Mar 2008 22:26:23 +0000 (22:26 +0000)]
bfd/
2008-03-16 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5789
PR ld/5943
* elf32-i386.c (elf_i386_relocate_section): Issue an error
for R_386_GOTOFF relocaton against undefined hidden/internal
symbols when building a shared object.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Issue an
error for R_X86_64_PC8/R_X86_64_PC16/R_X86_64_PC32
relocaton against undefined hidden/internal symbols when
building a shared object.
(elf64_x86_64_finish_dynamic_symbol): Return FALSE when symbol
is referenced locally, but isn't defined in a regular file.
ld/testsuite/
2008-03-16 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5789
PR ld/5943
* ld-i386/hidden1.d: New.
* ld-i386/hidden1.s: Likewise.
* ld-i386/hidden2.d: Likewise.
* ld-i386/hidden2.s: Likewise.
* ld-i386/hidden3.d: Likewise.
* ld-i386/hidden4.s: Likewise.
* ld-i386/protected1.d: Likewise.
* ld-i386/protected1.s: Likewise.
* ld-i386/protected2.d: Likewise.
* ld-i386/protected2.s: Likewise.
* ld-i386/protected3.d: Likewise.
* ld-i386/protected3.s: Likewise.
* ld-x86-64/hidden1.d: Likewise.
* ld-x86-64/hidden1.s: Likewise.
* ld-x86-64/hidden2.d: Likewise.
* ld-x86-64/hidden2.s: Likewise.
* ld-x86-64/hidden3.d: Likewise.
* ld-x86-64/hidden3.s: Likewise.
* ld-x86-64/protected1.d: Likewise.
* ld-x86-64/protected1.s: Likewise.
* ld-x86-64/protected2.d: Likewise.
* ld-x86-64/protected2.s: Likewise.
* ld-x86-64/protected3.d: Likewise.
* ld-x86-64/protected3.s: Likewise.
* ld-i386/i386.exp: Run hidden1, hidden2, hidden3, protected1,
protected2 and protected3.
* ld-x86-64/x86-64.exp: Likewise.
Nick Hudson [Sun, 16 Mar 2008 08:50:43 +0000 (08:50 +0000)]
* Makefile.in (amd64nbsd-nat.o): New dependency.
* amd64nbsd-nat.c: Include "nbsd-nat.h".
(_initialize_amd64nbsd_nat): Update target vector to use
nbsd_pid_to_exec_file.
* config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o.
Brian Dessent [Sun, 16 Mar 2008 07:26:56 +0000 (07:26 +0000)]
* rcparse.y (resid): Allow control text to span multiple lines.
H.J. Lu [Sun, 16 Mar 2008 06:53:48 +0000 (06:53 +0000)]
2008-03-15 H.J. Lu <hongjiu.lu@intel.com>
* bfd-in.h (BFD_NO_FLAGS, HAS_RELOC, EXEC_P, HAS_LINENO,
HAS_DEBUG, HAS_SYMS, HAS_LOCALS, DYNAMIC, WP_TEXT, D_PAGED,
BFD_IS_RELAXABLE, BFD_TRADITIONAL_FORMAT, BFD_IN_MEMORY,
HAS_LOAD_PAGE, BFD_LINKER_CREATED): Moved to ...
* bfd.c: Here.
* bfd.c (bfd): Change cacheable, target_defaulted, opened_once,
mtime_set, no_export, output_has_begun and has_armap to bit
field.
* bfd-in2.h: Regenerated.
Ralf Wildenhues [Sun, 16 Mar 2008 06:49:28 +0000 (06:49 +0000)]
2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Backport from upstream Libtool:
2007-10-12 Eric Blake <ebb9@byu.net>
Deal with Autoconf 2.62's semantic change in m4_append.
* ltsugar.m4 (lt_append): Replace broken versions of
m4_append.
(lt_if_append_uniq): Don't require separator to be overquoted,
and avoid broken m4_append.
(lt_dict_add): Fix typo.
* libtool.m4 (_LT_DECL): Don't overquote separator.
gdbadmin [Sun, 16 Mar 2008 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 15 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Vladimir Prus [Sat, 15 Mar 2008 14:55:21 +0000 (14:55 +0000)]
Remove ignoring leading exec events code.
* fork-child.c (startup_inferior): Do not set
inferior_ignoring_leading_exec_events.
* inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove.
(inf_child_target): Do not set to_reported_exec_events_per_exec_call.
* infrun.c (inferior_ignoring_leading_exec_events): Remove.
(handle_inferior_event): Remove code for ignoring leading exec
events.
* target.c (update_current_target): Do not inherit, or default,
to_reported_exec_events_per_exec_call.
(debug_to_reported_exec_events_per_exec_call): Remove.
(setup_target_debug): Do not set to_reported_exec_events_per_exec_call.
* target.h (target_reported_exec_events_per_exec_call): Remove.
(struct target): Remove the to_reported_exec_events_per_exec_call
field.
Vladimir Prus [Sat, 15 Mar 2008 13:53:25 +0000 (13:53 +0000)]
Implement -thread-info.
* gdbthread.h (print_thread_info): Declare.
* thread.c (print_thread_info): New, extracted
from info_threads_command and adjusted to
work for CLI and MI.
(info_threads_command): Use print_thread_info.
* Makefile.in: Update dependencies.
* mi/mi-cmds.c (mi_cmds): Specify a handler
for -thread-info.
* mi/mi-cmds.h (mi_cmd_thread_info): Declare.
* mi/mi-main.c (mi_cmd_thread_info): New.
(mi_cmd_list_features): Include 'thread-info'.
Kevin Buettner [Sat, 15 Mar 2008 00:00:48 +0000 (00:00 +0000)]
* mips-tdep.c (mips32_scan_prologue): Use the ABI register size
to decide whether to match instruction patterns using "sw" and "sd".
gdbadmin [Sat, 15 Mar 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Fri, 14 Mar 2008 23:24:53 +0000 (23:24 +0000)]
* infcmd.c (jump_command): Postpone disabling stdin until after
the possible query.
Alan Modra [Fri, 14 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Pedro Alves [Fri, 14 Mar 2008 22:58:58 +0000 (22:58 +0000)]
* inflow.c (gdb_getpgrp): New.
(gdb_has_a_terminal): Use get_getpgrp.
(terminal_ours_1): If attach_flag is set, don't refetch
inferior_process_group.
Pedro Alves [Fri, 14 Mar 2008 22:30:07 +0000 (22:30 +0000)]
* features/library-list.dtd: Allow "section" elements as children
of "library". Add "section" element and describe its attributes.
* solib-target.c (struct lm_info): Add section_bases member.
(library_list_start_segment): Error out if seen a section element.
(library_list_start_section): New.
(library_list_end_library): New.
(solib_target_free_library_list): Free section_bases.
(section_attributes): New.
(library_children): Make "segment" optional. Add "section" child.
(library_list_children): Register library_list_end_library.
(solib_target_relocate_section_addresses): Handle section bases.
* NEWS: Mention new qXfer:libraries:read section offsets support.
doc/
* gdb.texinfo (Library List Format): Update to mention the
possibility to pass section addresses instead of segment
addresses.
Nick Hudson [Fri, 14 Mar 2008 20:26:49 +0000 (20:26 +0000)]
* configure.ac: Pass ../../intl to ZW_GNU_GETTEXT_SISTER_DIR.
* configure: Regenerate.
Bob Wilson [Fri, 14 Mar 2008 20:17:39 +0000 (20:17 +0000)]
2008-03-14 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.h (xtensa_relax_statesE): Update comment for
RELAX_LOOP_END_ADD_NOP.
Vladimir Prus [Fri, 14 Mar 2008 19:55:51 +0000 (19:55 +0000)]
* defs.h (do_exec_error_cleanups, discard_exec_error_cleanups)
(make_exec_error_cleanup): Remove declarations.
* utils.c (exec_error_cleanup_chain): Remove.
(do_exec_error_cleanups, discard_exec_error_cleanups)
(make_exec_error_cleanup): Remove.
* event-loop.c (start_event_loop): Adjust call to
async_enable_stdin.
* event-top.c (async_enable_stdin): Remove the paramater dummy.
(async_disable_stdin): Don't register async_enable_stdin via
cleanup.
* inf-loop.c (inferior_event_handler): Don't
call do_exec_error_cleanups. Call async_enable_stdin instead.
* event-loop.c (start_event_loop): Adjust call to
async_enable_stdin.
* tui/tui-interp.c (tui_command_loop): Adjust call to
async_enable_stdin.
Vladimir Prus [Fri, 14 Mar 2008 18:57:44 +0000 (18:57 +0000)]
Async mode fixes.
* Makefile.in (infcmd.o, inf-loop.o): Update dependencies.
* breakpoint.c (bpstat_do_actions): In async mode,
don't jump to top expecting stop_bpstat to be already
updated.
* event-loop.c (start_event_loop): Call async_enable_stdin
on exception.
* event-top.c (async_enable_stdin): Do nothing if sync_execution
is not set.
(command_handler): Do not setup continuation here.
(command_line_handler_continuation): Move to...
* top.c (command_line_handler_continuation): ... here.
(execute_command): In async mode, register continuation.
Don't check frame's language in running in async mode.
* exceptions.c (throw_exception): Don't do exec_error_cleanups.
* inf-loop.c (complete_execution): Inline into...
(inferior_event_handler): ... here. Clear target_executing before
doing any cleanups. Don't try to show prompt if the target was
resumed.
* infcmd.c (signal_command): Add support for async mode.
(finish_command): Only add continuation if the target was
successfully resumed.
* remote.c (init_async_opts): Register to_get_thread_local_address
handler.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess
with sync_execution.
* tui/tui-interp.c (tui_command_loop): Call async_enable_stdin
on exception.
Daniel Jacobowitz [Fri, 14 Mar 2008 18:39:43 +0000 (18:39 +0000)]
* cache.c (close_one): Remove mtime hack.
* corefile.c (reopen_exec_file): Use exec_bfd_mtime.
* exec.c (exec_bfd_mtime): Define.
(exec_close): Clear it.
(exec_file_attach): Set it.
* gdbcore.h (exec_bfd_mtime): Declare.
* source.c (find_source_lines): Do not use bfd_get_mtime.
Vladimir Prus [Fri, 14 Mar 2008 17:46:54 +0000 (17:46 +0000)]
* top.c (simplified_command_loop): Remove.
Vladimir Prus [Fri, 14 Mar 2008 17:44:43 +0000 (17:44 +0000)]
Remove unused remote.c hooks.
* remote.c (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Remove.
(remote_resume): Do not call deprecated_target_resume_hook.
(remote_wait): Do not call deprecated_target_wait_loop_hook.
(remote_async_wait): Likewise.
Vladimir Prus [Fri, 14 Mar 2008 17:21:08 +0000 (17:21 +0000)]
Implement MI notification for new threads.
* doc/observer.texi (new_thread): Document.
* observer.sh: Forward declare struct thread_info.
* thread.c (add_thread): Notify observer.
* interps.h (interp_init_ftype): New parameter
top_level.
(interp_set): Likewise.
(top_level_interpreter_data): Declare.
* interps.c (interp_set): New parameter top_level.
Pass it to interpreter's init function. Remember
top level interpreter.
(interpreter_exec_cmd): Adjust.
(top_level_interpreter_data): New.
* main.c (captured_main): Pass 1 for top_level
parameter of interp_set.
* cli/cli-interp.c (cli_interpreter_init): New
parameter top_level.
* tui/tui-interp.c (tui_init): New parameter top_level.
* mi/mi-interp.c (mi_new_thread): New.
(mi_interpreter_init): If top level, register
observer for new threads.
* Makefile.in (mi-interp.o, thread.o): Update dependencies.
H.J. Lu [Fri, 14 Mar 2008 16:40:09 +0000 (16:40 +0000)]
2008-03-14 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5913
* elfxx-ia64.c (elfNN_ia64_tprel_base): Remove BFD_ASSERT.
(elfNN_ia64_dtprel_base): Likewise.
(elfNN_ia64_relocate_section): Go to missing_tls_sec if
tls_sec is NULL before calling elfNN_ia64_tprel_base or
elfNN_ia64_dtprel_base. Report unsupported TLS relocations.
Pedro Alves [Fri, 14 Mar 2008 15:46:32 +0000 (15:46 +0000)]
* top.c (execute_command): Disable break and stop
commands in async mode.
Pedro Alves [Fri, 14 Mar 2008 15:14:49 +0000 (15:14 +0000)]
revert:
2008-03-14 Pedro Alves <pedro@codesourcery.com>
* inf-loop.c (inferior_event_handler): Don't include remote.h.
Call target_stop in the INF_QUIT_REQ case.
* Makefile.in (inf-loop.o): Update.
Pedro Alves [Fri, 14 Mar 2008 08:01:28 +0000 (08:01 +0000)]
* inf-loop.c (inferior_event_handler): Don't include remote.h.
Call target_stop in the INF_QUIT_REQ case.
* Makefile.in (inf-loop.o): Update.
Pedro Alves [Fri, 14 Mar 2008 07:59:32 +0000 (07:59 +0000)]
* top.c (execute_command): Enable break, info and interrupt
commands in async mode.
Ian Lance Taylor [Fri, 14 Mar 2008 05:57:19 +0000 (05:57 +0000)]
Don't get confused about whether a symbol is the default version if we
see a later reference to it. Add tests for this case.
Alan Modra [Fri, 14 Mar 2008 04:43:08 +0000 (04:43 +0000)]
* ld-spu/ovl2.s: Make setjmp global.
* ld-spu/ovl2.d: Update.
Alan Modra [Fri, 14 Mar 2008 04:42:44 +0000 (04:42 +0000)]
* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
spu_elf_build_stubs with is_spu_target.
Alan Modra [Fri, 14 Mar 2008 04:42:16 +0000 (04:42 +0000)]
* elf32-spu.c (process_stubs, spu_elf_relocate_section): Move
common code to..
(maybe_needs_stub): ..here, a new function that also omits stubs
for .eh_frame, and..
(needs_ovl_stub): ..here. Create stubs for labels in code section
referenced by switch jump table.
(spu_elf_find_overlays): Set htab->ovly_load and htab->ovly_return.
(enum _insn_type): Delete.
(enum _stub_type): New.
(count_stub, build_stub): Adjust.
(allocate_spuear_stubs, build_spuear_stubs): Adjust.
gdbadmin [Fri, 14 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 13 Mar 2008 23:00:06 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Thu, 13 Mar 2008 21:04:21 +0000 (21:04 +0000)]
Update copyright years. Update language files.
Ian Lance Taylor [Thu, 13 Mar 2008 20:58:11 +0000 (20:58 +0000)]
Don't crash if we change the address of the .eh_frame section after we
find its size.
David Edelsohn [Thu, 13 Mar 2008 19:27:44 +0000 (19:27 +0000)]
* config.rpath: Add AIX 6 support.
DJ Delorie [Thu, 13 Mar 2008 19:13:36 +0000 (19:13 +0000)]
merge from gcc
Paolo Bonzini [Thu, 13 Mar 2008 13:35:08 +0000 (13:35 +0000)]
2008-03-13 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (stageprofile). Remove -fprofile-generate
from stage_libcflags.
* Makefile.in: Regenerate.
Daniel Jacobowitz [Thu, 13 Mar 2008 12:22:14 +0000 (12:22 +0000)]
* breakpoint.h (breakpoint_restore_shadows): New
declaration.
* breakpoint.c (breakpoint_restore_shadows): New.
(read_memory_nobpt): Delete.
* gdbcore.h (read_memory_nobpt): Delete declaration.
* target.c (memory_xfer_partial): Call
breakpoint_restore_shadows.
(restore_show_memory_breakpoints)
(make_show_memory_beakpoints_cleanup): New.
(show_memory_breakpoints): New.
* target.h (make_show_memory_beakpoints_cleanup): Declare.
* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint):
Make sure we see memory breakpoints when checking if
breakpoint is still there.
* alpha-tdep.c, alphanbsd-tdep.c, frame.c, frv-tdep.c,
hppa-linux-tdep.c, hppa-tdep.c, i386-linux-nat.c, i386-tdep.c,
m68klinux-tdep.c, mips-tdep.c, mn10300-tdep.c, s390-tdep.c,
sparc-tdep.c: Use target_read_memory instead of read_memory_nobpt.
Nick Clifton [Thu, 13 Mar 2008 10:51:33 +0000 (10:51 +0000)]
PR gas/5895
* read.c (s_mexit): Warn if attempting to exit a macro when not
inside a macro definition.
* gas/macros/exit.s: New test case.
* gas/macros/macros.exp: Run the new test, expect it to produce an
error result.
Alan Modra [Thu, 13 Mar 2008 05:27:42 +0000 (05:27 +0000)]
include/elf/
* internal.h (Elf_Internal_Shdr): Change sh_link and sh_info from
unsigned long to unsigned int. Change sh_addralign to bfd_vma.
Order struct as for external version.
bfd/
* elf.c (_bfd_elf_make_section_from_shdr): Remove unnecessary cast.
(_bfd_elf_assign_file_position_for_section): Simplify align.
(_bfd_elf_init_reloc_shdr): Ensure shift expression wide enough
for sh_addralign.
(elf_fake_sections, swap_out_syms): Likewise.
* elflink.c (bfd_elf_final_link): Likewise.
binutils/
* readelf.c: Use %u throughout when printing sh_link or sh_info,
%lu when printing sh_addralign.
(process_version_sections): Use identical formats when printing
all offset and sh_link fields.
Alan Modra [Thu, 13 Mar 2008 02:05:23 +0000 (02:05 +0000)]
bfd/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
bfd/doc/
* Makefile.in: Regenerate.
binutils/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* configure: Regenerate.
gas/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* configure: Regenerate.
gprof/
* configure: Regenerate.
ld/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* configure: Regenerate.
opcodes/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* configure: Regenerate.
Ian Lance Taylor [Thu, 13 Mar 2008 01:46:17 +0000 (01:46 +0000)]
From Craig Silverstein: Implement --debug=files to track file opens,
and implement --verbose as a synonym.
gdbadmin [Thu, 13 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Ben Elliston [Wed, 12 Mar 2008 23:45:14 +0000 (23:45 +0000)]
* config.sub, config.guess: Update from upstream sources.
Alan Modra [Wed, 12 Mar 2008 23:00:05 +0000 (23:00 +0000)]
daily update
Joel Brobecker [Wed, 12 Mar 2008 22:26:29 +0000 (22:26 +0000)]
Fix month number in brobecke's last entry.
Pedro Alves [Wed, 12 Mar 2008 22:10:55 +0000 (22:10 +0000)]
* thread.c (add_thread): Use printf_unfiltered to print.
Joel Brobecker [Wed, 12 Mar 2008 20:00:21 +0000 (20:00 +0000)]
* sol-thread.c: Replace use of TM_I386SOL2_H by an expression
that is true only on x86-solaris and x86_64-solaris.
* procfs.c: Likewise. Move procfs_find_LDT_entry up together
with proc_get_LDT_entry.
Thiago Jung Bauermann [Wed, 12 Mar 2008 14:10:56 +0000 (14:10 +0000)]
* configure.ac (AC_CHECK_FUNCS): Add check for setsid.
* config.in, configure: Regenerate.
* fork-child.c (fork_inferior): Call create_tty_session.
* inflow.c (new_tty): Set controlling terminal with TIOCSCTTY.
(create_tty_session): New function.
* terminal.h: Declare create_tty_session.
Bernd Schmidt [Wed, 12 Mar 2008 14:01:28 +0000 (14:01 +0000)]
From Jie Zhang <jie.zhang@analog.com>
* elf32-bfin.c (struct bfinfdpic_relocs_info): Make got17m4,
gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4, fdgoffhilo,
gotoff, call and sym not bitfields.
(bfinfdpic_gc_sweep_hook): New function; update the relocation
information for the relocations of the section being removed.
(bfinfdpic_check_relocs): Accumulate the number of relocations
which set got17m4, gothilo, fd, fdgot17m4, fdgothilo, fdgoff17m4,
fdgoffhilo, gotoff, call and sym fields.
(elf_backend_gc_sweep_hook): Redefine for FD-PIC.
Alan Modra [Wed, 12 Mar 2008 08:37:09 +0000 (08:37 +0000)]
include/elf/
PR 5900
* common.h (SHN_BAD): Delete.
(SHN_LORESERVE .. SHN_HIRESERVE): Move to..
* external.h: ..here.
* internal.h (SHN_LORESERVE, SHN_HIRESERVE): Define.
(SHN_LOPROC, SHN_HIPROC, SHN_LOOS, SHN_HIOS): Define.
(SHN_ABS, SHN_COMMON, SHN_XINDEX, SHN_BAD): Define.
bfd/
PR 5900
* elf-bfd.h: Include elf/internal.h after elf/external.h.
* elfcode.h (elf_swap_symbol_in): Map reserved shndx range.
(elf_swap_symbol_out): Adjust SHN_XINDEX test.
(elf_swap_ehdr_out): Mask SHN_LORESERVE and SHN_XINDEX to values
seen in external structs.
(valid_section_index_p): Delete.
(elf_object_p): Don't increment section numbers over reserved range.
Simplify test for valid sh_link, sh_info and e_shstrndx fields.
(elf_write_shdrs_and_ehdr): Mask SHN_LORESERVE and SHN_XINDEX to values
seen in external structs. Don't increment section numbers over
reserved range.
* elf.c (bfd_elf_sym_name): Remove redundant tests on st_shndx.
(bfd_section_from_shdr): Likewise.
(group_signature): Range check before accessing elf_elfsections.
(_bfd_elf_setup_sections): Likewise.
(bfd_section_from_shdr): Likewise.
(bfd_section_from_shdr): Don't increment section number over
reserved sections.
(assign_file_positions_for_non_load_sections): Likewise.
(assign_file_positions_except_relocs): Likewise.
(_bfd_elf_write_object_contents): Likewise.
(assign_section_numbers): Likewise. Adjust for changed SHN_*.
(prep_headers): Delete unused variable.
* elflink.c (bfd_elf_link_record_local_dynamic_symbol): Adjust
for changed SHN_* values.
(check_dynsym, elf_link_input_bfd): Likewise.
(bfd_elf_final_link): Likewise. Don't skip over reserved section
range.
(elf_fixup_link_order): Check that sh_link field is valid.
* elf-hppa.h (elf_hppa_add_symbol_hook): Make "index" unsigned.
* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Range check before
accesssing elf_elfsections.
* elf32-avr.c (elf32_avr_size_stubs): Likewise.
* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Likewise.
* elf64-hppa.c (elf64_hppa_check_relocs): Adjust for changed
SHN_* defines. Test for SHN_BAD return from
_bfd_elf_section_from_bfd_section
binutils/
PR 5900
* readelf.c (SECTION_HEADER_INDEX, SECTION_HEADER_NUM): Delete.
Remove use throughout file.
(SECTION_HEADER): Likewise.
(dump_relocations): Don't adjust st_shndx for reserved range.
(process_file_header): Mask SHN_XINDEX to values seen in external
elf structs. Simplify valid section index tests.
(get_32bit_elf_symbols, get_64bit_elf_symbols): Mask SHN_XINDEX.
Map reserved st_shndx to internal form.
(process_section_groups): Test that group symbol st_shndx is in
range, not just non-zero. Delete reserved range check.
(get_symbol_index_type): Mask "type" to 16 bits when printing PRC,
OS or RSV.
gdb/
PR 5900
* elfread.c (elf_symtab_read): Make shndx an unsigned int.
* mipsread.c: Include elf/internal.h.
(read_alphacoff_dynamic_symtab): Map external reserved sym_shndx
to internal range.
ld/testsuite/
PR 5900
* ld-elf/sec64k.exp: Update.
Ian Lance Taylor [Wed, 12 Mar 2008 04:38:42 +0000 (04:38 +0000)]
Combine read-only .eh_frame sections with read-write .eh_frame
sections.
gdbadmin [Wed, 12 Mar 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 11 Mar 2008 23:23:23 +0000 (23:23 +0000)]
* elf-bfd.h (_bfd_elf_section_from_bfd_section): Update prototype.
* elf.c (_bfd_elf_section_from_bfd_section): Return unsigned int,
SHN_BAD on error.
(_bfd_elf_print_private_bfd_data): Test for SHN_BAD result from
_bfd_elf_section_from_bfd_section, not -1.
(swap_out_syms): Likewise.
* elflink.c (elf_link_add_object_symbols): Likewise.
(bfd_elf_get_bfd_needed_list): Likewise.
(bfd_elf_match_symbols_in_sections): Likewise.
(elf_link_add_object_symbols): Don't bother testing for symbols
using normal sections before calling bfd_section_from_elf_index.
(elf_link_input_bfd, bfd_elf_final_link): Likewise.
(bfd_elf_reloc_symbol_deleted_p): Likewise.
* elfcode.h (elf_slurp_symbol_table): Likewise.
* elf32-spu.c (get_sym_h): Likewise.
* elf32-xtensa.c (get_elf_r_symndx_section): Likewise.
* elf64-ppc.c (opd_entry_value, get_sym_h, ppc64_elf_edit_toc): Ditto.
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.