Jakub Jelinek [Fri, 21 Dec 2001 22:35:24 +0000 (22:35 +0000)]
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for
R_SPARC_DISP32. Support R_SPARC_PLT32.
(sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32.
(elf32_sparc_check_relocs): Handle R_SPARC_PLT32.
(elf32_sparc_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for
R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64.
(sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL
and BFD_RELOC_SPARC_PLT32.
(sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64.
(sparc64_elf_relocate_section): Likewise.
* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32.
* bfd-in2.h, libbfd.h: Rebuilt.
* config/tc-sparc.h (TC_PARSE_CONS_EXPRESSION): Define.
(sparc_cons): Provide prototype.
* config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_*_PCREL and
BFD_RELOC_SPARC_PLT{32,64}. Enumerate for which relocs
reloc->addend = fixp->fx_addnumber shouldn't be done instead of
enumarating for which pc relative ones it should be done.
(sparc_cons_special_reloc): New variable.
(sparc_cons): New function.
(cons_fix_new_sparc): Use sparc_cons_special_reloc.
* testsuite/gas/sparc/pcrel.s: New test.
* testsuite/gas/sparc/pcrel.d: Expected output.
* testsuite/gas/sparc/pcrel64.s: New test.
* testsuite/gas/sparc/pcrel64.d: Expected output.
* testsuite/gas/sparc/plt.s: New test.
* testsuite/gas/sparc/plt.d: Expected output.
* testsuite/gas/sparc/plt64.s: New test.
* testsuite/gas/sparc/plt64.d: Expected output.
* testsuite/gas/sparc/sparc.exp: Add pcrel, pcrel64, plt and plt64
tests.
* maint.c (match_substring): New function. Tokenizer for
'maintenance info sections' command arguments.
(match_bfd_flag): Use match_substring.
(print_bfd_section_info): Use match_substring.
(print_objfile_section_info): Use match_substring.
(maintenance_info_sections): Use match_substring.
Jeff Law [Fri, 21 Dec 2001 00:30:38 +0000 (00:30 +0000)]
* gdb.hp/gdb.defects/bs15503.exp: Only run this test if compiling
with HP's compiler.
* gdb.hp/gdb.objdbg/objdbg01.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg02.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg03.exp: Likewise.
* gdb.hp/gdb.objdbg/objdbg04.exp: Likewise.
* gdb.hp/gdb.defects/solib-d.exp: Update to handle building with
either HP's compilers or GCC.
Jeff Law [Thu, 20 Dec 2001 23:37:33 +0000 (23:37 +0000)]
* gdb.hp/gdb.base-hp/so-thresh.exp: Update text in expect strings
to match current gdb output. Update due to using auto-solib-limit
for limiting instead of overloading auto-solib-add.
* gdb.hp/gdb.base-hp/so-thresh.mk: Always use "cc" to build the
test program.
* ppc-linux-nat.c (ppc_ptrace_cannot_fetch_store_register):
New function.
(fetch_register): New function.
(fetch_ppc_registers): New function.
(fetch_inferior_registers): New function.
(store_register): New function.
(store_ppc_registers): New function.
(store_inferior_registers): New function.
(ppc_register_u_addr): Eliminate ustart parameter and its
uses. Make static.
(PT_READ_U, PT_WRITE_U, PTRACE_XFER_TYPE): Define if needed.
Include sys/ptrace.h.
* maint.c (maintenance_info_sections): Accept new argument
'ALLOBJ', iterate over all object files.
(print_section_table): Delete. Replaced by:
(print_section_info): New function.
(print_bfd_section_info): New function.
(print_objfile_section_info): New function.
(_initialize_maint_commands): Add help for new features.
Kevin Buettner [Thu, 20 Dec 2001 21:56:56 +0000 (21:56 +0000)]
* arm-tdep.c (arm_scan_prologue): Don't require "mov ip, sp"
to be the first instruction in the prologue. Also, revise
the way the frame offset is computed for frameless functions.
* maint.c (maintenance_info_sections): Pass string argument to
print_section_table, so that it can be used to select sections.
(print_section_table): Change PTR to void *. Look at string arg
to select sections by name and by flag attributes.
(match_bfd_flags): New function.
(print_bfd_flags): New function.
Andrew Cagney [Thu, 20 Dec 2001 17:39:58 +0000 (17:39 +0000)]
* remote.c (struct packet_reg): Add field in_g_packet.
(struct remote_state): Rename field g_packet to regs;
(free_remote_state): Update.
(init_remote_state): Add pseudo-registers to table. Initialize
in_g_packet. Drop sentinal from table.
(packet_reg_from_regnum, packet_reg_from_pnum): Update.
(remote_fetch_registers): Handle registers not in the g-packet.
(remote_store_registers): Ditto.
Jim Blandy [Thu, 20 Dec 2001 08:54:02 +0000 (08:54 +0000)]
* s390-tdep.c (s390_frame_saved_pc_nofix): If we get the saved PC
out of the return address register, cache that in the frame's
extra info, just as if we'd gotten it from the saved regs array;
that way, it's not a lie to set the saved_pc_valid flag.
Jim Blandy [Thu, 20 Dec 2001 08:33:34 +0000 (08:33 +0000)]
* gdbarch.sh (TARGET_CHAR_SIGNED): New macro.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbtypes.c (build_gdbtypes): If TARGET_CHAR_SIGNED is zero,
set the TYPE_FLAG_UNSIGNED bit on the type.
* s390-tdep.c (s390_gdbarch_init): On the S/390, characters
are unsigned by default.
* rs6000-tdep.c (rs6000_gdbarch_init): Same for PowerPC and
RS6000.
Jim Blandy [Thu, 20 Dec 2001 03:26:08 +0000 (03:26 +0000)]
* gdbarch.sh (TARGET_CHAR_SIGNED): New macro.
* gdbarch.c, gdbarch.h: Regenerated.
* gdbtypes.c (build_gdbtypes): If TARGET_CHAR_SIGNED is zero,
set the TYPE_FLAG_UNSIGNED bit on the type.
* s390-tdep.c (s390_gdbarch_init): On the S/390, characters
are unsigned by default.
* rs6000-tdep.c (rs6000_gdbarch_init): Same for PowerPC and
RS6000.
* corefile.c (do_captured_read_memory_integer,
safe_read_memory_integer): New functions.
* gdbcore.h (safe_read_memory_integer): Export.
* arm-tdep.c (arm_scan_prologue): Use safe_read_memory_integer,
to read the frame value, to capture calls to error().
Jeff Law [Wed, 19 Dec 2001 20:21:43 +0000 (20:21 +0000)]
* config/pa/tm-hppa.h (STORE_RETURN_VALUE): Use hppa_store_return_value.
(EXTRACT_RETURN_VALUE): Similarly.
* hppa-tdep.c (hppa_store_return_value): New function.
(hppa_extract_return_value): New function.
Jakub Jelinek [Wed, 19 Dec 2001 11:48:15 +0000 (11:48 +0000)]
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size
is 0, temporarily grow it to minimal CIE size.
(_bfd_elf_write_section_eh_frame): If input .eh_frame section would
end up empty, build a fake minimal CIE.
Jim Blandy [Wed, 19 Dec 2001 06:29:45 +0000 (06:29 +0000)]
* gdb.base/printcmds.exp: Expect the null character to be printed
as '\0', and the '\013' to be printed as '\v'.
* gdb.base/callfuncs.exp ("backtrace at nested call level 4"): Same.
* gdb.base/setvar.exp: Same.
* objcopy.c (copy_file): Accept corefiles (format bfd_core).
(copy_object): Don't set the start address or flags of a core file.
(copy_section): Don't relocate a core file. Don't copy contents
if the input section has the contents flag set, but the output
section does not (which happens with the fake 'note' pseudo-
sections that BFD creates for corefiles).
Alan Modra [Wed, 19 Dec 2001 02:18:20 +0000 (02:18 +0000)]
* config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for
ia64*-*-hpux* target.
(bfd_elf64_ia64_hpux_big_vec): Likewise.
* targets.c: Ditto.
* configure.in: Ditto.
* configure: Regenerate
* elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of
alloca with bfd_malloc.
(get_local_sym_hash): Likewise.
(elfNN_hpux_post_process_headers): New function.
#include elfNN-target.h again with values for IA64 HP-UX vector.