Ian Lance Taylor [Thu, 23 Sep 1993 21:59:07 +0000 (21:59 +0000)]
* archive.c (compute_and_write_armap): Put weak symbols in the
armap.
* elfcode.h (fix_up_strtabs): Set sh_entsize for the .stab
section, not the .stabstr section. Set the type of the .stabstr
section to SHT_STRTAB.
(elf_section_from_bfd_section): Handle SHT_STRTAB sections.
Also set SEC_DEBUGGING for appropriate SHT_STRTAB sections.
Ian Lance Taylor [Thu, 23 Sep 1993 15:14:12 +0000 (15:14 +0000)]
* section.c (SEC_DEBUGGING): New section flag.
* elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS,
and the name starts with .debug, .line or .stab, set
SEC_DEBUGGING.
* elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
SEC_DEBUGGING to section_flags.
* elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added
SEC_DEBUGGING and SEC_CODE to section_flags.
* bfd-in2.h: Updated.
Peter Schauer [Thu, 23 Sep 1993 07:22:06 +0000 (07:22 +0000)]
* config/mips/tm-mips.h (STORE_STRUCT_RETURN): Define as noop as
the pushing of the struct return address is already handled in
mips_push_arguments.
* mips-tdep.c (reinit_frame_cache_sfunc): Fix typo in prototype
declaration.
* mipsread.c (parse_symbol, parse_type, upgrade_type): Add more
sanity checks for corrupt symbol entries to avoid core dumps
reported by benson@odi.com. Obviously Ultrix 4.3A cc now has
the same problems as the OSF/1 alpha cc.
* mipsread.c (parse_lines): Iterate over the range of the compressed
line number entries, the old iteration sometimes failed to stop
and wrote past the end of the LINETABLE. Add sanity check to avoid
the same problem in case the line number info is corrupt.
* mipsread.c (parse_procedure): Adjust pdr for alpha __sigtramp.
* mipsread.c (parse_external, parse_partial_symbols): Ignore stNil
symbols that are produced for statics in .o files and stLocal symbols
that are produced for every section in OSF/1 dynamically linked
executables.
* mipsread.c (psymtab_to_symtab_1): Put out `undefined symbols'
warning only under `verbose on' as there are many undefined symbols
in a dynamically linked executable.
Jim Kingdon [Thu, 23 Sep 1993 00:27:06 +0000 (00:27 +0000)]
* config/i960/nindy960.mt: Don't define REMOTE_O; REMOTE_O was
intended only for VxWorks. Remove dcache.o from TDEPFILES now
that we pick it up from the default REMOTE_O.
Ian Lance Taylor [Wed, 22 Sep 1993 20:49:57 +0000 (20:49 +0000)]
* ecoff.c (ecoff_compute_section_file_positions): Set filepos for
sections with SEC_LOAD set, even if SEC_HAS_CONTENTS is clear.
(ecoff_write_object_contents): Don't set scnptr to zero just
because size of section is zero. Needed for Irix 4.0.5F.
Stu Grossman [Wed, 22 Sep 1993 15:23:53 +0000 (15:23 +0000)]
* Makefile.in: Add i386lynx-tdep to the right places.
(TARDIRS): Add gdbserver.
* exec.c (print_section_info): Print entry point.
* i386lynx-nat.c (i386lynx_saved_pc_after_call): Move into
i386lynx-tdep.c. Add core file support.
* i386lynx-tdep.c: New module for Lynx/386 target dependant code.
* maint.c: Add `maint info sections' command to print info about all
sections that BFD knows about for exec and core files.
* sparc-tdep.c (sparc_push_dummy_frame): Update stack pointer
before putting frame on the stack. Consolidate writes to reduce
traffic for remote debugging.
* config/i386/i386lynx.mh (NATDEPFILES): Remove exec.o.
* config/i386/i386lynx.mt (TDEPFILES): Add exec.o, i386lynx-tdep.o.
* config/i386/nm-i386lynx.h: Add target_pid_to_str().
* config/i386/tm-i386lynx.h: Remove target_pid_to_str().
* sparclite/Makefile.in: Add deps to keep Sun make happy.
Jim Kingdon [Wed, 22 Sep 1993 01:16:50 +0000 (01:16 +0000)]
* breakpoint.h, breakpoint.c (bpstat_stop_status): Add new argument
not_a_breakpoint.
* infrun.c (wait_for_inferior): Pass it. Also consolidate the
test of whether we are stepping into a CURRENTLY_STEPPING macro.
* m88k-tdep.c: include ieee-float.h. new global target_is_m88110.
new const struct ext_format_m88110 for float format.
(pic_prologue_code): add braces.
(next_insn): remove unused variable buf.
(frame_find_saved_regs): remove unused variables next_addr,
saved_regs, regnum.
(frame_locals_address): remove unused variables frame, ap.
(frame_args_address): remove unused variables frame, ap.
(push_parameters): add some breaks and a default case.
* remote-bug.c: remove redundant includes of value.h, target.h,
serial.h.
(bug_open): corrected typo, sr_multi_scan -> gr_multi_scan.
(bug_fetch_register): special case sfip register for m88110.
remove flag bit masking of pc registers. This should be handled
by the ADDR_BITS_* macros.
(bug_store_register): special case sfip register for m88110.
Corrected sprint format for extended registers.
* config/m88k/tm-m88k.h: white space and comment changes. include
ieee-float.h. expanded to cope with m88110 extended registers.
(R0_REGNUM, XFP_REGNUM, X0_REGNUM): new macros.
(SHIFT_INST_REGS): becomes a real macro.
Jim Kingdon [Tue, 21 Sep 1993 22:32:04 +0000 (22:32 +0000)]
* Makefile.in: Remove definition of CC and remove the second
definition of CXX (the "CXX = gcc" one remains). These definitions
were causing backquotes to be expanded within backquotes, which
doesn't work.
Ian Lance Taylor [Tue, 21 Sep 1993 21:21:35 +0000 (21:21 +0000)]
* elfread.c (record_minimal_symbol_and_info): Guess the section to
use from the type.
* objfiles.c: Include gdb-stabs.h for SECT_* macros.
(objfile_relocate): Relocate textlow and texthigh in psymtabs.
Relocate partial symbols. Check that minimal SYMBOL_SECTION is
nonnegative before using it.
* symtab.h: Adjust section field comment.
Ian Lance Taylor [Tue, 21 Sep 1993 21:03:35 +0000 (21:03 +0000)]
Snapshot of current i386 NetWare debugging stub.
Added some more debugging information. Added handling of memory fault
errors when caused by invalid memory accesses. Always use N response,
not S.
Jim Kingdon [Tue, 21 Sep 1993 18:54:46 +0000 (18:54 +0000)]
* printcmd.c (print_scalar_formatted): When truncating value we are
going to print as unsigned, handle it generally for any length
less than sizeof (LONGEST), rather than special-casing sizeof (char),
sizeof (short), and sizeof (long). Clarify comment on what this
is for.
Jim Kingdon [Tue, 21 Sep 1993 17:41:45 +0000 (17:41 +0000)]
* symfile.c (deduce_language_from_filename): Accept .cxx for C++.
* buildsym.c (start_subfile): Use deduce_language_from_filename
rather than checking for .C or .cc ourself.
Ian Lance Taylor [Mon, 20 Sep 1993 23:31:57 +0000 (23:31 +0000)]
* nlmconv.c (main): Adjust data section size to correspond to bss
alignment adjustment. Clear BSF_SECTION_SYM if symbol is moved to
a different section. Use time_t for time variable.
(setup_sections): Only put sections with contents in output NLM.
(i386_mangle_relocs): No symbols are common at this point. Add
casts to avoid warnings.
Ian Lance Taylor [Mon, 20 Sep 1993 23:29:42 +0000 (23:29 +0000)]
* read.c (get_stab_string_offset): Make non-static. Make
arguments const. Don't align strings to 4 byte boundaries.
* read.h: Declare get_stab_string_offset.
* config/obj-elf.c (obj_elf_section): Set SEC_ALLOC as well as
SEC_LOAD for progbits section.
(obj_elf_init_stab_section): New function.
(adjust_stab_sections): Add casts to avoid warnings.
* config/obj-elf.h (INIT_STAB_SECTION): Call
obj_elf_init_stab_section.
(OBJ_PROCESS_STAB): Removed definition.
Ian Lance Taylor [Mon, 20 Sep 1993 23:25:52 +0000 (23:25 +0000)]
* elfcode.h (bfd_section_from_shdr): Only set SEC_DATA for a
SHF_PROGBITS or SHT_STRTAB section if SEC_ALLOC is set. Never set
SEC_DATA for a SHF_NOBITS section.
* nlm32-i386.c (nlm_i386_mangle_relocs): Check SEC_LOAD rather
than SEC_CODE | SEC_DATA. Add some casts to avoid warnings.
* nlmcode.h: Add some casts to avoid warnings.
(nlm_write_object_contents): Ignore relocs for sections that are
neither code nor data. Just use the symbol value for debugging
symbols; don't offset by the section vma.
David D. Zuhn [Mon, 20 Sep 1993 00:04:33 +0000 (00:04 +0000)]
* Makefile.in: define M4, and pass it down to sub-makes;
all-autoconf now depends on all-m4
* Makefile.in ({AR,RANLIB}_FOR_TARGET): make contingent on
presence of {ar,ranlib} instead of a configured directory
Jim Kingdon [Sat, 18 Sep 1993 19:15:36 +0000 (19:15 +0000)]
* defs.h (make_cleanup): Change PTR to void * when inside PARAMS.
Some of the following is in #ifdef CALL_DUMMY_BREAKPOINT_OFFSET.
* breakpoint.h (enum bptype): Add bp_call_dummy.
(struct bpstat_what): Add call_dummy field.
* infrun.c (wait_for_inferior): Deal with it.
* breakpoint.c (bpstat_what): Deal with call dummy breakpoint.
* infcmd.c (run_stack_dummy): Set the call dummy breakpoint.
* config/sparc/tm-sparc.h: Define CALL_DUMMY_BREAKPOINT_OFFSET.
Ian Lance Taylor [Fri, 17 Sep 1993 22:13:33 +0000 (22:13 +0000)]
* reloc.c (bfd_perform_relocation): Don't return an error when
performing a reloc against an undefined weak symbol.
* syms.c (bfd_print_symbol_vandf): Show value of BSF_WEAK rather
than obsolete BSF_EXPORT.
Ian Lance Taylor [Fri, 17 Sep 1993 22:11:00 +0000 (22:11 +0000)]
Finish up support for i386-sysv4 (without shared libraries):
* ld.h (flag_is_weak): Define.
* ldlang.c (print_symbol): Mention whether symbol is weak.
(print_input_section): Print weak symbols as globals.
* ldmain.c (refize): Do not zero out BSF_WEAK flag.
(enter_global_ref): Do not warn if a weak symbol redefines a
global symbol. Do not let a weak symbol redefine a common symbol.
(enter_file_symbols): Treat weak symbols as global symbols.
(subfile_wanted_p): Do not pull in an object file from a archive
just to resolve an undefined weak symbol.
* ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
error; the error might be that malloc has run out of space.
* ldsym.c (write_file_locals): Treat weak symbols as global.
* configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
use i386-elf.
* config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
* config/i386-elf.mt: New file; set EMUL to elf_i386.
* emulparams/elf_i386.sh: New file.
* scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
* Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
(ALL_EMULATIONS): Add em_elf_i386.o.
(GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
(em_elf_i386.c): New target, like other em_*.c targets.
($(LD_PROG)): Pass $(CFLAGS) to $(CC).
* genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If
nonempty, and configured for native, add it to LIB_PATH.
Jim Kingdon [Fri, 17 Sep 1993 17:27:43 +0000 (17:27 +0000)]
* remote-sim.h: New file.
* remote-sim.c: Add remote debug feature. Rename stuff to distinguish
interface to simulator from gdb-specific stuff. Other changes.
start-sanitize-v9
* remote-sp64sim.c: Renamed to remote-sim.c.
Use sr_get_debug instead of our own sim_verbose/simif_snoop.
Use gnutarget in call to bfd_openr.
Rename simif_* to gdbsim_*.
* config/sparc/sp64sim.mt: Change remote-sp64sim.c to remote-sim.c.
end-sanitize-v9
Peter Schauer [Fri, 17 Sep 1993 11:46:50 +0000 (11:46 +0000)]
* findvar.c (extract_signed_integer): Cast *p to LONGEST before doing
the xor and subtract. Otherwise it will not sign extend if the type
of LONGEST is larger than int.
* cp-valprint.c (cp_print_class_method): Inhibit core dump if
domain is an undefined cross reference.
* valops.c (call_function_by_hand): Set real_pc to correct
Jim Kingdon [Fri, 17 Sep 1993 03:32:10 +0000 (03:32 +0000)]
* sym.h, symconst.h: Add comment stating these files are not part
of GDB, GAS, etc. In 1991, when we asked rms whether we could
include these files in GDB (although they are copyrighted by
someone besides the FSF), he said it was OK if they were not
considered part of GDB.
Jim Kingdon [Thu, 16 Sep 1993 23:45:46 +0000 (23:45 +0000)]
* remote-udi.c, remote-adapt.c, remote-mm.c: Move processor_type
to tm-a29k.h and a29k-tdep.c and make it an enum.
* a29k-tdep.c (a29k_get_processor_type): New function. Fix many
aspects of how we detected the processor type.
* remote-udi.c, remote-adapt.c, remote-mm.c (*_open): Call it
rather than figuring out the type ourselves.
Rob Savoye [Thu, 16 Sep 1993 23:27:10 +0000 (23:27 +0000)]
* config/vx-gdb.exp: Use fake device to load files rather than
NFS.
* lib/gdb.exp: New proc to do "file" command.
* config/unix-gdb.exp: Use new "file" proc.
Ian Lance Taylor [Thu, 16 Sep 1993 22:24:33 +0000 (22:24 +0000)]
* elfcode.h (elf_map_symbols): Create section symbols for all
sections, not just allocated sections; debugging sections can have
relocs.
(elf_symbol_from_bfd_symbol): If there is an output section, use
the section index from that rather than the input section.
Ian Lance Taylor [Thu, 16 Sep 1993 18:26:36 +0000 (18:26 +0000)]
* tc.h: Declare tc_gen_reloc differently depending upong
RELOC_EXPANSION_POSSIBLE.
* config/obj-elf.c (obj_elf_section): Only set flags when first
creating the section.
Peter Schauer [Thu, 16 Sep 1993 07:38:42 +0000 (07:38 +0000)]
* mipsread.c: Many changes for alpha ecoff format:
Correct sizeof(int) == sizeof(long) assumptions.
Replace stParsed hack by putting the parsed types on the pending chain.
Replace mips specific ecoff mapping by ECOFF_REG_TO_REGNUM macro,
provide default for cross debugging.
Swapping the symbol back is no longer needed as the symbol is not
modified anymore.
Add new alpha basic types, handle btTypedef, handle stStaticProc
external symbols .
Update and clean up cross_ref for alpha cc cross ref variations.
Allocate types on the type_obstack to inhibit storage leaks.
* config/mips/tm-mips.h (ECOFF_REG_TO_REGNUM): Define.
* gdbtypes.c (recursive_dump_type): Dump TYPE_TAG_NAME if it is set.
Ian Lance Taylor [Wed, 15 Sep 1993 20:57:47 +0000 (20:57 +0000)]
* libbfd.h (COERCExx): Cast x to bfd_signed_vma before doing the
xor and subtract. Otherwise it will not sign extend if the type
of bfd_vma is larger than int.
Ian Lance Taylor [Tue, 14 Sep 1993 22:29:26 +0000 (22:29 +0000)]
* elf32-i386.c (elf_howto_table): Add bfd_elf_generic_reloc
special function for all reloc entries.
* elf32-target.h (TARGET_LITTLE_SYM): Add SEC_CODE to
section_flags.
* libelf.h (elf_symbol_type): Remove desc, type and other fields.
* Makefile.in (elf32-*.o): These depend upon elf32-target.h.
Ian Lance Taylor [Tue, 14 Sep 1993 22:28:22 +0000 (22:28 +0000)]
* config/obj-elf.c (obj_elf_data, obj_elf_text): New functions;
set previous_section and previous_subsection and then call s_data
and s_text, respectively.
(obj_pseudo_table): Add data and text.
(obj_elf_section): Add SEC_LOAD to default initialization of
flags. Treat .rodata1 like .rodata. Set SEC_LOAD as well as
SEC_ALLOC for "alloc" string. Don't bother trying to find the
section; just use subseg_new.
Ian Lance Taylor [Tue, 14 Sep 1993 17:58:35 +0000 (17:58 +0000)]
Some more gcc lint, and:
* read.c (change_to_section): Removed. This is now done by
subseg_new.
(get_stab_string_offset): Rearranged somewhat. Create the section
using subseg_new. Store the string index in seg_info, rather than
in a static variable. Force the first string to be empty. Use
frag_more rather than FRAG_APPEND_1_CHAR.
(s_stab_generic): Rewrote.
* subsegs.h (segment_info_type): Added stabu union.
* subsegs.c (subseg_new): Initialize stab_string_size to 0.
* config/obj-aout.c: Don't include aout/stab_gnu.h.
(obj_aout_stab, obj_aout_desc): Removed.
(obj_pseudo_table): Removed desc and stabX entries.
* config/obj-bout.c: Same changes as config/obj-aout.c.
* config/obj-bout.h (S_SET_TYPE): Define.
(tc_bout_fix_to_chars): Declare.
* config/obj-coff.c (obj_coff_stab): Removed.
(obj_pseudo_table): Removed desc and stabX entries.
* config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define.
* config/obj-coffbfd.c (current_stab_symbol): Removed.
* config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type,
n_other, n_desc and n_value fields.
(S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed.
(MAKE_STAB_SYMBOL): Removed.
* config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab.
Changed arguments and removed parsing code.
(obj_pseudo_table): Removed stabX entries.
* config/obj-ecoff.h (ecoff_stab): Declare.
(OBJ_PROCESS_STAB): Define.
* config/obj-elf.c: Don't include aout/stab_gnu.h.
(obj_elf_stab, obj_elf_xstab, obj_elf_desc,
elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic):
Removed.
(obj_pseudo_table): Removed desc, stabX and xstabs entries.
(obj_elf_version): Use subseg_new, not bfd_make_section. Don't
set SEC_LOAD for .note section.
(adjust_stab_sections): Get frag pointer from seg_info, rather
than looking through frags.
* config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed.
(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
Define.
* config/obj-vms.c (obj_aout_stab): Removed.
(obj_pseudo_table): Removed stabX entries.
* config/obj-vms.h (S_SET_TYPE): Define.