Kung Hsu [Thu, 9 Jun 1994 22:03:41 +0000 (22:03 +0000)]
Modified Files:
remote-os9k.c stabsread.c
* remote-os9k.c (rombuf_command): fix a bug accepting rombug
output.
* stabsread.c (read_struct_fields): os9k nested structure does not
have terminating ';', instead it just get to ',' and bit position
and length.
Stu Grossman [Thu, 9 Jun 1994 06:30:38 +0000 (06:30 +0000)]
* nlmread.c (nlm_symtab_read): Clean up a bit.
* (nlm_symfile_read): Record bounds of main() so that backtrace
command will know where to stop.
* objfiles.c (objfile_relocate): Relocate entry point/func info
for backtrace as well.
* objfiles.h: Define values for invalid PCs for entry point info.
* symfile.c (init_entry_point_info): Initialize invalid values
with aforementioned macros.
* config/alpha/tm-alphanw.h: Turn on FRAME_CHAIN_VALID_ALTERNATE
to cause backtrace to stop when it gets back to main().
* config/i386/tm-i386nw.h: Ditto.
* aoutx.h (aout_get_external_symbols): Don't try to read the
strings if there are no symbols.
(aout_link_write_other_symbol): Use the output section when
working out the type.
* elfcode.h (assign_section_numbers): Put shstrtab, symtab and
strtab sections at end of file. Avoids bug in some versions of
SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
* coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
set SEC_DEBUGGING for STYP_INFO sections.
(coff_compute_section_file_positions): If COFF_PAGE_SIZE is
defined, and D_PAGED is set, set the file position equal to the
section VMA modulo COFF_PAGE_SIZE.
* coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
* coff-i386.c: Set D_PAGED in BFD target.
(COFF_PAGE_SIZE): Define.
* coff-m68k.c, coff-sparc.c: Likewise.
Jim Kingdon [Tue, 7 Jun 1994 16:40:10 +0000 (16:40 +0000)]
* gdb.c++/demangle.exp: Use gdb_test_exact, rather than demangle
(which was basically just a local version of the same thing). In
addition to avoiding duplication, gdb_test_exact is faster.
* lib/gdb.exp (gdb_test_exact): Fix typo.
Stan Shebs [Tue, 7 Jun 1994 01:50:58 +0000 (01:50 +0000)]
Mon Jun 6 18:26:50 1994 Stan Shebs (shebs@andros.cygnus.com)
Reorganization of the GDB Test Suite.
* gdb.base: New directory, contains all the basic tests.
* gdb.c++: New directory, tests specific to C++.
* gdb.chill: New directory, tests specific to Chill.
* gdb.t00, gdb.t01, gdb.t02, gdb.t03, gdb.t04, gdb.t05, gdb.t06,
gdb.t07, gdb.t08, gdb.t09, gdb.t10, gdb.t11, gdb.t12, gdb.t13,
gdb.t15, gdb.t16, gdb.t17, gdb.t20, gdb.t21, gdb.t22, gdb.t23,
gdb.t24, gdb.t30, gdb.t31: Removed directories, contents moved
into appropriate new directories (t00-t17 to base, t20-t23 to c++,
t30-31 to chill).
* */gdbme.*: Rename to match appropriate expect scripts.
* gdb.base/bitfields.c, gdb.base/break.c, gdb.base/callfuncs.c,
gdb.base/coremaker.c, gdb.base/exprs.c, gdb.base/funcargs.c,
gdb.base/interrupt.c, gdb.base/list0.c, gdb.base/list0.h,
gdb.base/list1.c, gdb.base/mips_pro.c, gdb.base/nodebug.c,
gdb.base/opaque-info.c, gdb.base/opaque0.c, gdb.base/opaque1.c,
gdb.base/printcmds.c, gdb.base/ptype.c, gdb.base/recurse.c,
gdb.base/return.c, gdb.base/run.c, gdb.base/scope0.c,
gdb.base/scope1.c, gdb.base/setvar.c, gdb.base/signals.c,
gdb.base/types.c, gdb.base/twice.c, gdb.base/watchpoint.c,
gdb.base/whatis-info.c, gdb.base/whatis.c: New names of C files.
* gdb.c++/cplusfuncs.cc, gdb.c++/templates.cc, gdb.c++/misc.cc,
gdb.c++/virtfunc.cc: New names of C++ files.
* gdb.chill/chillvars.ch: New name of Chill file.
* gdb.base/configure.in, gdb.c++/configure.in,
gdb.chill/configure.in: Merge in contents of gdb.t*/configure.in.
* gdb.base/Makefile.in, gdb.c++/Makefile.in,
gdb.chill/Makefile.in: Merge in contents of gdb.t*/Makefile.in.
* configure.in (configdirs): Update to reflect directory changes.
(target_abbrev): No longer define for any configuration.
* Makefile.in: Cosmetic improvements to header comments.
* elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
into a BFD section just because SHF_ALLOC is set; require that it
not use the normal symbol table.
(elf_section_from_bfd_section): Corresponding change.
Better indirect and warning symbol handling inspired by Stuart
Quick <stuck@cs.man.ac.uk>.
* linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
(link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
(_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
REFC. If a new indirect symbol has been referenced, push the
reference down to the symbol it points to. FIx handling of WARN.
* aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
clobber e_type of next symbol.
(translate_to_native_sym_flags): Likewise.
(aout_link_write_symbols): Loop on bfd_link_hash_warning as well
as bfd_link_hash_indirect.
* libecoff.h (ecoff_data_type): Add linker field.
* ecoff.c (ecoff_write_object_contents): Check new tdata linker
field, rather than outsymbols being non-NULL, to decide whether to
output the symbols and relocs.
(ecoff_bfd_final_link): Set new tdata linker field to true.
* config/tc-mips.c (RDATA_SECTION_NAME): Define.
(macro): Correct M_LI_SS SVR4_PIC/EMBEDDED_PIC case. After M_LI_D
or M_L_DOB or label dob, force a new frag to avoid getting
confused in tc_gen_reloc.
(mips_ip): Use RDATA_SECTION_NAME, not .rdata.
(s_change_sec): Likewise.
Changes to support ELF strip and objcopy on dynamically linked
files.
* elfcode.h (elf_fake_sections): Add prototype.
(bfd_section_from_shdr): Make a BFD section from an SHT_HASH
section, and from an SHT_DYNSYM section, and from the dynamic
string table section.
(elf_object_p): Set D_PAGED if there is a program header.
(elf_make_sections): Remove.
(fix_up_strtabs): Remove.
(elf_fake_sections): Rewrite. Now sets sh_entsize.
(assign_section_numbers): Rewrite. Now sets sh_link and sh_info
for all sections.
(elf_compute_section_file_positions): Don't call obsolete
functions elf_make_sections or fix_up_strtabs.
(swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
(NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
objects.
(elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
sections. If an SHT_REL or SHT_RELA section is allocated or uses
an unusual symbol table, permit a BFD section to map to it.
Permit most SHT_STRTAB sections to have a BFD section mapped to
them.
(elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
fields of dynamic sections here; do it in assign_section_numbers.
* elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
flags.
Per Bothner [Sun, 5 Jun 1994 01:43:40 +0000 (01:43 +0000)]
Fix value_print, which used to be ostensibly langauge-indepentdent,
but would print pointers and arrays in C syntax. Instead, call
a language-specific function. See ChangeLog for details.
* read.c (emit_expr): Use memset to zero out memory, rather than
going through md_number_to_chars. This permits handling symbolic
arguments when the size is larger than sizeof (valueT), if
TC_CONS_FIX_NEW is prepared to handle the case (as it is on MIPS).
Per Bothner [Sat, 4 Jun 1994 00:48:21 +0000 (00:48 +0000)]
* config.guess (i386-unknown-bsdi): New system to guess.
* config.guess (i386-unknown-bsdi): No longer need to
check #if defined(__bsdi__) && defined(__i386__).
David MacKenzie [Fri, 3 Jun 1994 20:59:20 +0000 (20:59 +0000)]
* as.h: Replace flagseen with separate variables.
* as.c (parse_args): Set them. Don't accept -1 option, or -v
explicitly (it's a synonym for --version).
* as.c, input-scrub.c, messages.c, read.c, symbols.c, write.c,
config/obj-aout.c, config/obj-aout.h, config/obj-bout.c,
config/obj-bout.h, config/obj-coff.c, config/obj-coff.h,
config/obj-vms.c, config/tc-hppa.c, config/tc-i386.c,
config/tc-i960.c, config/tc-m68k.c, config/tc-mips.c,
config/tc-vax.c: Use the new flag variables instead of flagseen.
* config/tc-vax.c [OBJ_VMS]: Recognize -+, -1, -v, and document in
usage.
Jim Kingdon [Fri, 3 Jun 1994 17:25:08 +0000 (17:25 +0000)]
* main.c: Move entire file except for #ifndef MAIN_OVERRIDE code
to new file top.c. Make things extern instead of static and
similar rearrangements to deal with this.
* top.h: New file.
* utils.c: Move fputs_unfiltered to main.c. Remove
FPUTS_UNFILTERED_OVERRIDE ifndef.
* Makefile.in: Change so that gdb uses main.c, utils.c, and top.c,
and libgdb uses utils.c and top.c.
Per Bothner [Fri, 3 Jun 1994 01:19:21 +0000 (01:19 +0000)]
* ch-valprint.c (chill_val_print_array_elements): New function.
A Chill version of val_print_array_elements, it prints the
array index labels, in additions ot the array element values.
(chill_val_print): Use the new function.
Add linker support for SunOS shared libraries.
* sunos.c: Include bfdlink.h. Add many new functions and
definitions for SunOS shared library support.
* bfd-in.h (bfd_sunos_record_link_assignment): Declare.
(bfd_sunos_size_dynamic_sections): Declare.
* bfd-in2.h: Rebuilt.
* aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
(struct aout_link_hash_table): Likewise.
(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
(aout_hash_table): Likewise.
(NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
and make externally visible.
(NAME(aout,link_hash_table_init)): New function.
(NAME(aout,link_hash_table_create)): Call
NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
(aout_link_add_symbols): Don't fail if no symbols. If it exists,
call add_dynamic_symbols backend entry point for dynamic objects.
Use add_one_symbol backend entry point if it exists.
(NAME(aout,final_link)): Call finish_dynamic_link backend entry
point, if it exists.
(aout_link_input_bfd): For a dynamic object, call
link_dynamic_object backend entry point, if it exists.
(aout_link_write_other_symbol): Call write_dynamic_symbol backend
entry point, if it exists.
(aout_link_input_section): Don't read the relocs if they have
already been read.
(aout_link_input_section_std): When doing a final link, for a
reloc against an external symbol, call check_dynamic_reloc backend
entry point, if it exists.
(aout_link_input_section_ext): Likewise.
* libaout.h: Protect against multiple inclusion. Include
bfdlink.h.
(struct aout_link_hash_entry): Move in from aoutx.h.
(struct aout_link_hash_table): Likewise.
(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
(aout_hash_table): Likewise.
(struct aout_backend_data): Add fields add_dynamic_symbols,
add_one_symbol, link_dynamic_object, write_dynamic_symbol,
check_dynamic_reloc, and finish_dynamic_link.
(struct aout_section_data_struct): Define new structure.
(aout_section_data): Define new accessor macro.
(NAME(aout,link_hash_newfunc)): Declare.
(NAME(aout,link_hash_table_init)): Declare.
* aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
fields.
* aout-target.h (MY(backend_data)): Likewise.
* i386aout.c (MY(backend_data)): Likewise.
* i386mach3.c (MY(backend_data)): Likewise.
* mipsbsd.c (MY(backend_data)): Likewise.
* sparclynx.c (sparclynx_aout_backend): Likewise.
Add support for SunOS shared libraries.
* aout.sc: Don't define __DYNAMIC here. Add new sections used by
shared library support code.
* emultempl/sunos.em: New file.
* emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
* Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
* ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
field.
(search_head): Declare.
(ldfile_add_library_path): Add new cmdline argument in prototype.
* ldfile.c (search_head): Make non-static.
(search_dirs_type): Move to ldfile.h.
(ldfile_add_library_path): Accept cmdline argument, and save it.
* lexsup.c (parse_args): Pass true for new cmdline argument of
ldfile_add_library_path.
(set_default_dirlist): Likewise.
* ldmain.c (check_for_scripts_dir): Pass false for new cmdline
argument of ldfile_add_library_path.
* ldgram.y (ifile_p1): Likewise.
David MacKenzie [Thu, 2 Jun 1994 21:00:19 +0000 (21:00 +0000)]
* as.c (show_usage): New function.
(parse_args): Code moved from main.
Recognize --help and --version.
* config/tc-ns32k.h: Define TC_NS32K.
* doc/as.texinfo: Document all of the target-independent command
line options.
Stu Grossman [Thu, 2 Jun 1994 16:58:48 +0000 (16:58 +0000)]
* configure.in: Add nlm subdir to configdirs for alpha-*-netware
target.
* defs.h (enum language): Add language_asm.
* findvar.c (read_register_bytes read_register_gen
write_register_bytes read_register read_register_pid
write_register write_register_pid supply_register): Move multi-
thread handling down into these routines. Create XXX_pid routines
that allow register references to specify the pid.
* findvar.c infcmd.c (read_pc read_pc_pid write_pc write_pc_pid
read_sp write_sp read_fp write_fp): Move these routines from
infcmd to findvar to centralize the whole mess.
* i386-nlmstub.c: Portability fixes.
* infptrace.c (child_resume): Conditionalize to allow other natives
to override it. Remove PIDGET gubbish, it's no longer necessary.
* infrun.c (wait_for_inferior): Put registers_changed() before
target_wait() to speed up remote debugging.
* Replace code that reads registers from other threads with much
nicer looking new function calls (see changes to findvar.c).
* Don't skip prologues if debugging assembly source.
* lynx-nat.c (child_resume): Lynx now needs it's own version of
child_resume to handle multi-thread debugging properly.
* remote.c: Add O response to get console output from target.
* (readchar): Add timeout parameter. Handle SERIAL_EOF and
SERIAL_ERROR here to simplify callers.
* Change static var timeout to remote_timeout.
* (fromhex): Remove unnecessary return -1 at end of routine.
* (remote_wait): Turn this into a big switch statement. Add
support for O response.
* (putpkt): Remove unnecessary handling of SERIAL_EOF/ERROR.
* (getpkt): Split getpkt into two parts. read_frame deals with
all formatting issues, run-length encoding, and framing. getpkt
now handles error recovery, and frame detection.
* ser-tcp.c (tcp_readchar): Handle EINTR from read().
* ser-unix.c (hardwire_raw): Set CLOCAL so that we ignore modem
control. (hardwire_readchar): Handle EINTR from read().
* symfile.c (deduce_language_from_filename): Add support for .s
files.
* config/nm-lynx.h: Define CHILD_WAIT so that lynx-nat.c can
override infptrace's child_wait.
* config/rs6000/rs6000lynx.mh: Use xm-rs6000ly.h & nm-rs6000ly.h
instead of XXXlynx.h.
* config/rs6000/rs6000lynx.mt: Use tm-rs6000ly.h instead of
tm-rs6000lynx.h.
* nlm/gdbserve.c: Portability fixes.
Ken Raeburn [Thu, 2 Jun 1994 16:06:43 +0000 (16:06 +0000)]
Handle EV5 (21164/66/68) PALcode support.
* config/tc-alpha.c (machine): New variable.
(load_insn): New macro.
(load_insn_table): New function.
(md_begin): Call load_insn_table, once for basic instructions and
once for appropriate PAL instruction table.
(md_parse_option): Set `machine' based on -m##### arguments.
* config/alpha-opcode.h (alpha_pal21064_opcodes): Split out from alpha_opcodes.
(alpha_pal21164_opcodes): New table.
(NUM21064OPCODES, NUM21164OPCODES): New macros.
* configure: If config.guess result is a prefix of the user
specified target, assume a native build and use the user specified
target as the host alias. Remove SunOS patch suffix removal hack.
* configure.in: Remove SunOS patch suffix removal hack.
Bill Cox [Wed, 1 Jun 1994 21:38:29 +0000 (21:38 +0000)]
* Makefile.in: Rename HOST_ONLY to NATIVE.
* configure: Delete SunOs patch suffix from host_canonical
and build_canonical variables that are prepended to Makefiles.
* configure.in: Add comments to patch suffix removal for easier
maintenance.
Jim Kingdon [Wed, 1 Jun 1994 19:28:24 +0000 (19:28 +0000)]
* inftarg.c (child_wait): Call proc_wait, not wait.
(child_mourn_inferior): Call proc_remove_foreign.
* main.c (gdb_init): Call init_proc.
* main.c: Provide dummy versions of init_proc, proc_wait, and
proc_remove_foreign for the gdb case (the libgdb case provides its
own versions of these functions).
* Makefile.in (libgdb-files): Add libproc.a.
* ldlang.h (lang_input_statement_type): Remove fields subfiles,
total_size, superfile and chain.
* ldfile.c (open_a): Don't clear search_dirs_flag.
(ldfile_open_file): Don't try to open superfile. Assert that file
has not already been opened.
* ldlang.c (new_afile): Don't initialize superfile.
* ldmain.c (add_archive_element): Don't initialize subfiles or
chain or superfile. Initialize search_dirs_flag to false.