include/elf/
* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc.
bfd/
* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
* elf32-v850.c (v850_elf_howto_table): Add entry for
R_V850_LO16_SPLIT_OFFSET.
(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
(v850_elf_perform_lo16_relocation): New function, extracted from...
(v850_elf_perform_relocation): ...here. Use it to handle
R_V850_LO16_SPLIT_OFFSET.
(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
R_V850_LO16_SPLIT_OFFSET.
* libbfd.h, bfd-in2.h: Regenerate.
gas/
* config/tc-v850.c (handle_lo16): New function.
(v850_reloc_prefix): Use it to check lo().
(md_assemble, md_apply_fix3): Handle BFD_RELOC_V850_LO16_SPLIT_OFFSET.
gas/testsuite/
* gas/v850/split-lo16.{s,d}: New test.
* gas/v850/v850.exp: Run it.
* config/obj-elf.c (obj_elf_change_section): Only set type and
attributes on new sections. Emit warning when type of re-declared
section doesn't match.
* doc/binutils.texi: Document --strip-unneeded-symbol and
--strip-unneeded-symbols.
* objcopy.c (strip_unneeded_list): New.
(enum command_line_switch): Add OPTION_STRIP_UNNEEDED_SYMBOL
and OPTION_STRIP_UNNEEDED_SYMBOLS.
(copy_options): Add --strip-unneeded-symbol and
--strip-unneeded-symbols.
(copy_usage): Likewise.
(filter_symbols): Suppress copying of symbol if in strip_unneeded_list
and the symbol is not needed.
(copy_main): Handle OPTION_STRIP_UNNEEDED_SYMBOL and
OPTION_STRIP_UNNEEDED_SYMBOLS.
* dw2gencfi.c (output_cfi_insn): Adjust DW_CFA_def_cfa_sf generation
to emit a signed and factored offset. Adjust DW_CFA_def_cfa_offset_sf
generation to emit a factored offset.
* elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
to prototype, to make hash info available.
Prevent wrapped symbols from being adjusted twice.
* elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *' to prototype, to make hash info available.
Prevent wrapped symbols from being adjusted twice.
Jerome Guitton [Mon, 13 Dec 2004 15:56:47 +0000 (15:56 +0000)]
* stabsread.c (read_huge_number): Add support for reading octal
signed number in twos complement, based on the size of this
number.
(read_range_type): Add support for reading octal signed bounds
in twos complements, based on the size of the type.
(read_type_number, read_cpp_abbrev, read_member_functions,
read_cpp_abbrev, read_one_struct_field, read_baseclasses,
read_struct_type, read_array_type, read_enum_type,
read_sun_builtin_type, read_sun_floating_type): Update calls to
read_huge_number.
(read_type): Update call to read_range_type.
Joel Brobecker [Mon, 13 Dec 2004 05:07:23 +0000 (05:07 +0000)]
* alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Change
parameter name to make it clear that we already have a next
frame. Return the sigcontext from that next frame instead
of the frame following it.
* Makefile.in (pa64solib_h, somsolib_h): Delete.
(solib_pa64_h, solib_som_h): New.
(HFILES_NO_SRCDIR, ALLDEPFILES): Replace somsolib.h with solib-som.h.
(hppa-hpux-tdep.o, hpread.o): Update dependencies.
(pa64solib.o, somsolib.o): Delete.
(solib-pa64.o, solib-som.o): New.
* hppa-hpux-tdep.c: Include new solib interfaces.
(hppa_hpux_som_init_abi): Attach to SOM solib interface.
(hppa_hpux_elf_init_abi): Attach to PA64 ELF solib interface.
* hppa-tdep.c (internalize_unwinds): If solib_get_text_base method
is available, use it to determine the base of unwind records.
* hppa-tdep.h (gdbarch_tdep): Add new solib methods.
* hpread.c: Replace somsolib.h with solib-som.h.
(hpread_process_one_debug_symbol): Use target vector to get thread
start address.
* config/pa/hppa64.mt (TDEPFILES): Use new solib interface.
* config/pa/hppahpux.mt (TDEPFILES): Likewise.
* config/pa/hpux.mh (NATDEPFILES): Delete references to target objects.
* config/pa/tm-hppah.h: Use new solib interface.
* frame.c (get_prev_frame): When unwinding normal frames, check
that the PC isn't zero.
* hppa-tdep.c (hppa_stub_frame_unwind_cache): Delete check for a
zero PC.
Mark Kettenis [Sat, 11 Dec 2004 23:04:58 +0000 (23:04 +0000)]
* hppa-hpux-nat.c (ss_mpsfu_high): Remove define.
(hppa_hpux_save_state_offset): New function, replacing variable
with the same name.
(hppa_cannot_fetch_register, hppa_cannot_store_register): Remove
functions.
(hppa_hpux_fetch_register): Don't call hppa_cannot_fetch_register.
Use new hppa_hpux_save_state_offset function. Add special
handling for handling 64-bit "flags" register.
(hppa_hpux_store_register): Likewise.
(hppa_hpux_child_can_run): Tweak comment.
Mark Kettenis [Sat, 11 Dec 2004 21:53:58 +0000 (21:53 +0000)]
* inf-ttrace.c (inf_ttrace_him): Set TTEVT_BPT_SSTEP if available.
(inf_ttrace_attach): Likewise.
(inf_ttrace_resume_callback): New function.
(inf_ttrace_resume): Don't use TT_PROC_CONTINUE. Iterate over all
lwps and call inf_ttrace_resume_callback instead.
(inf_ttrace_wait): Handle TTEVT_BPT_SSTEP.
Alan Modra [Sat, 11 Dec 2004 03:56:43 +0000 (03:56 +0000)]
* elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
have been adjusted for output.
(ppc64_elf_relocate_section): Mark sections with reloc_done.
* mn10300-tdep.c: New file. This is a re-implementation of
the mn10300 target back-end using the new frame api etc.
* mn10300-tdep.h: New file.
* config/mn10300/mn10300.mt: New file (or replace old file).
* configure.tgt: Add mn10300 target.
Ian Lance Taylor [Fri, 10 Dec 2004 19:48:42 +0000 (19:48 +0000)]
* gas/mips/elf-rel23a.d: New test.
* gas/mips/elf-rel23b.d: New test.
* gas/mips/elf-rel25.s: New test.
* gas/mips/elf-rel25.d: New test.
* gas/mips/elf-rel25a.d: New test.
* gas/mips/mips.exp: Run new tests.
Kris Warkentin [Fri, 10 Dec 2004 13:38:23 +0000 (13:38 +0000)]
* nto-tdep.h: Include osabi.h. Prototypes for generic Neutrino
osabi sniffer, signal handling initializer, 'in_dynsym_resolve_code'
function and nto_set_target function.
(struct nto_target_ops): Put comments inline with struct. Add osabi
sniffer hook. Redefine macros to permit testing/assignment. Remove
nto_ prefix from members.
* nto-tdep.c (nto_find_and_open_solib): Allocate all buffers
dynamically to support arbitrary root paths. Check for basename of
lib in search path and then check for absolute.
(nto_in_dynsym_resolve_code): New function.
(nto_core_sniffer): New function.
(regset_core_fns): Register core sniffer.
(nto_initialize_signals): New function.
(_initialize_nto_tdep): Move signal initialization code to above to
avoid initialization race conditions.
(nto_set_target): New function.
* nto-procfs.c: Minor formatting/indenting changes.
(procfs_is_nto_target): New function.
(procfs_open): Set nto_is_nto_target.
(_initialize_procfs): Ditto. Remove notice_signals() call to avoid
initialization race conditions.
(procfs_create_inferior): Resume inferior after creation.
* i386-nto-tdep.c: Declare i386_nto_target.
(init_i386nto_ops): Initialize i386_nto_target instead of
current_nto_target.
(i386nto_init_abi): Initialize signals. Call nto_set_target. Set
TARGET_SO_IN_DYNSYM_RESOLVE_CODE.
(_initialize_i386nto_tdep): Call init_i386nto_ops. Register osabi sniffer.
Mark Kettenis [Fri, 10 Dec 2004 10:45:33 +0000 (10:45 +0000)]
* hppa-hpux-tdep.c (child_enable_exception_callback): Use XMALLOC.
(hppa_hpux_sigtramp_frame_unwind_cache): Use ARRAY_SIZE.
(hppa_hpux_init_abi): Reformat long line.
* solib-pa64.c (pa64_relocate_section_addresses): Properly relocate
text and data sections.
(pa64_current_sos): Also include the dld in the list of current shared
objects.
(pa64_solib_get_solib_by_pc): Update comments.
(pa64_solib_get_text_base): New function.
(pa64_solib_select): Set solib_get_text_base method.
* elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
return a real value, unless it is a PLT symbol.
(mips_elf_perform_relocation): On the RM9000, turn a jal into a
bal if possible.
Committed by Kei Sakamoto.
* traps-linux.c (m32r_trap): Add entries of the following dummy system
calls: __NR_mmap2, __NR_lchown32, __NR_getuid32, __NR_getgid32,
__NR_geteuid32, __NR_getegid32, __NR_getgroups32, __NR_fchown32,
__NR_setfsuid32, __NR_setfsgid32, __NR_getresuid32,
__NR_getresgid32 and __NR_chown32.
* syscall.h: Add new definitions of system call number.
* linux-thread-db.c (BUILD_THREAD): Delete.
(thread_get_info_callback): Include LWP ID in thread ID.
(thread_from_lwp, check_event, find_new_threads_callback): Likewise.
(lwp_from_thread): Use the LWP ID from the thread ID.