Ian Lance Taylor [Wed, 28 Sep 1994 16:21:32 +0000 (16:21 +0000)]
* config/default.exp: Set variables as and nm. Create tmpdir if
it does not already exist.
* ld.bootstrap/bootstrap.exp: Don't create tmpdir here.
* ld.cdtest/cdtest.exp: Likewise.
* ld.scripts/defined.exp: Likewise. Also, don't set as and nm
here. Change perror for no variables found to fail.
* ld.scripts/script.exp: New test.
* ld.scripts/script.t, ld.scripts/script.s: New files.
Jeff Law [Wed, 28 Sep 1994 06:42:24 +0000 (06:42 +0000)]
* hpread.c (struct hpread_symfile_info): Delete have_module field
and accessor macro. Minor indentation fix.
(hpread_build_psymtabs, case K_MODULE): Only start a new psymtab
and reset state variables have_name & texthigh if pst is NULL.
(hpread_build_psymtabs, case K_SRCFILE): Only reset the name of a
partial symbol table if pst is non-NULL. If pst is NULL, then
start a new psymtab.
(hpread_process_one_debug_symbol, case K_MODULE): Now empty.
(hpread_process_one_debug_symbol, case K_SRCFILE): Simplify and
correct handling of subfiles.
Ian Lance Taylor [Wed, 28 Sep 1994 00:06:27 +0000 (00:06 +0000)]
* ld.scripts: New directory.
* ld.scripts/defined.exp, ld.scripts/defined.s: New files.
* ld.scripts/defined.t: New file.
* lib/ld.exp (default_ld_simple_link): New function.
(default_ld_assemble, default_ld_nm): New functions.
* config/default.exp: Rename from unix-ld.exp.
(ld_simple_link, ld_assemble, ld_nm): New functions.
Ian Lance Taylor [Tue, 27 Sep 1994 22:41:51 +0000 (22:41 +0000)]
* ldexp.c (fold_name): For DEFINED case, don't try to look up the
name in the hash table during the first phase--the hash table does
not even exist at that point, much less have the right value.
PR 5699.
Ian Lance Taylor [Tue, 27 Sep 1994 22:25:04 +0000 (22:25 +0000)]
* Makefile.in (CC): Define.
(CXX): Move definition, change from g++ to gcc.
(EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
(RUNTEST_CC, RUNTEST_CFLAGS): Remove.
(RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
(CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
(.cc.o): Comment out.
(testdir): Remove.
(site.exp): Don't create testdir or set tmpdir.
(check): Run checks even if not running native. Use CC_FOR_TARGET
instead of RUNTEST_CC, and likewise for CXX.
(cdtest targets): Comment out.
* config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
* cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
* cdtest-main.cc, cdtest.exp: Remove.
Ian Lance Taylor [Tue, 27 Sep 1994 22:23:51 +0000 (22:23 +0000)]
* config/unix-ld.exp: Set ld using findfile.
* lib/ld.exp (default_ld_relocate): Return a value. Change format
of log messages.
(default_ld_compile): Likewise.
(default_ld_link): Likewise. Also, don't include $BFDLIB and
$LIBIBERTY in link.
* ld.bootstrap/bootstrap.exp: Rewrite.
* ld.cdtest/cdtest.exp: Rewrite.
* ld.cdtest/cdtest-foo.cc: Update from top level ld directory.
* ld.cdtest/cdtest-foo.h: Likewise.
* ld.cdtest/cdtest-main.cc: Likewise.
Ian Lance Taylor [Mon, 26 Sep 1994 22:08:57 +0000 (22:08 +0000)]
* emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
file naming problems.
* emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
* Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
(eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh.
(eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh.
* config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
* config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
Ian Lance Taylor [Mon, 26 Sep 1994 15:01:59 +0000 (15:01 +0000)]
* bfd-in.h (bfd_seek): Change declaration to not mark fp const.
* bfd-in2.h: Rebuild.
* libbfd.c (bfd_seek): Don't mark parameters const, to avoid
conflicts with declaration.
Jim Kingdon [Sun, 25 Sep 1994 13:21:22 +0000 (13:21 +0000)]
* TODO: Remove item about adding general multi-threaded stuff;
this is done.
Remove item about specifying arbitrary locations of stack frames
(this works on some machines).
Remove item about debugging functions without a frame pointer
(this works on some machines).
Remove item about re-writing macros which handle frame chaining and
frameless functions. They have been re-written at least once
since that item was written.
Remove item about gdb catching SIGINT when attached; this is done.
Remove item about having list_command not read symbols--why bother?
Peter Schauer [Sat, 24 Sep 1994 09:00:50 +0000 (09:00 +0000)]
* corelow.c (add_solib_stub): Remove copying of to_sections,
pass current_target to SOLIB_ADD. The Sep 10 change failed
if SOLIB_ADD errored out, or if SOLIB_ADD was trying to access
target memory.
* corelow.c (core_open): After reading the shared libraries,
copy the modified to_sections vector from current_target to
core_ops, so that core_close can free it later.
* config/rs6000/nm-rs6000.h, rs6000-nat.c (xcoff_relocate_core):
Pass down target parameter from SOLIB_ADD and use it instead of
directly accessing core_ops.
* solib.c: *BSD systems need <a.out.h> to be included before
<link.h>.
* i386b-nat.c: Add i386_float_info(), etc.
* config/i386/nm-nbsd.h: #define FLOAT_INFO.
* config/nm-nbsd.h: New file, for generic NetBSD native support.
* config/i386/nm-nbsd.h: Use it.
* config/sparc/nm-nbsd.h: Use it.
* config/ns32k/nm-nbsd.h: Use it.
* configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht].
(ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht].
* config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/i386.
* config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/ns32k.
Kung Hsu [Thu, 22 Sep 1994 20:43:39 +0000 (20:43 +0000)]
Modified Files:
ChangeLog ecoff.c read.c
* ecoff.c (ecoff_generate_asm_lineno): check if
current_stabs_filename is NULL before strcmp.
* read.c (read_a_source_file): fxi a bug in generate_asm_lineno
checking.
Ken Raeburn [Wed, 21 Sep 1994 22:21:25 +0000 (22:21 +0000)]
Combine two existing mechanisms for copying symbol attributes, and fix a bug:
* symbols.c (copy_symbol_attributes): New function. Copies BFD symbol flags
and calls OBJ_COPY_SYMBOL_ATTRIBUTES.
(resolve_symbol_value, case O_symbol): Call it, if X_add_number is zero. Don't
call obj_frob_forward_symbol.
* read.c (pseudo_set): Call copy_symbol_attributes, but only if X_add_number is
zero.
* config/obj-elf.h (obj_frob_forward_symbol): Deleted.
Ian Lance Taylor [Wed, 21 Sep 1994 17:43:17 +0000 (17:43 +0000)]
* config/tc-ppc.c (ppc_current_block): New static variable.
(ppc_stabx): Set sy_tc.within of a C_STSYM symbol to
ppc_current_block. Don't move around any stab symbol, just those
for common symbols.
(ppc_bs): Set ppc_current_block.
(ppc_es): Clear ppc_current_block.
(ppc_frob_symbol): Set the value of a C_STSYM symbol to the offset
from the csect of the enclosing block.
PR 5658.
Ian Lance Taylor [Wed, 21 Sep 1994 17:03:04 +0000 (17:03 +0000)]
* config/tc-mips.c (insns_since_cache_access): Remove.
(append_insn): Remove setting of insns_since_cache_access, and
special 4600 handling; it turns out not to be required.
PR 5664.
Ian Lance Taylor [Tue, 20 Sep 1994 21:16:11 +0000 (21:16 +0000)]
* ld.h (args_type): Add new field endian.
* lexsup.c (parse_args): Handle -EB and -EL by setting
command_line.endian.
* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
* ldlang.c (lang_add_output_format): Add arguments big and little.
If command_line.endian is set, use it to select big or little
rather than the default. Changed all callers.
* ldlang.h (lang_add_output_format): Update declaration.
* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT.
* emulparams/elf32mipl.sh: Likewise.
* emulparams/mipsbig.sh: Likewise.
* emulparams/mipsbsd.sh: Likewise.
* emulparams/mipsidt.sh: Likewise.
* emulparams/mipsidtl.sh: Likewise.
* emulparams/mipslit.sh: Likewise.
* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
OUTPUT_FORMAT.
* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
* scripttempl/mipsbsd.sc: Likewise.
Ian Lance Taylor [Tue, 20 Sep 1994 20:16:24 +0000 (20:16 +0000)]
* config/tc-mips.c (md_shortopts): Remove E.
(md_longopts): Add EB and EL.
(md_parse_option): Handle -EB and -EL as separate options, rather
than as a single -E option with an argument.
Per Bothner [Tue, 20 Sep 1994 01:30:19 +0000 (01:30 +0000)]
* config.guess (HP-UX): Patch from Harlan Stenn
<harlan@landmark.com> to also emit release level.
* config.guess (sun4*:SunOS:*:*): Change '-JL' to '_JL'.
Ken Raeburn [Mon, 19 Sep 1994 16:40:00 +0000 (16:40 +0000)]
* read.c (pseudo_set, case O_symbol): If OBJ_COPY_SYMBOL_ATTRIBUTES is defined,
invoke it.
[BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
* config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
Ken Raeburn [Mon, 19 Sep 1994 16:37:32 +0000 (16:37 +0000)]
* read.c (pseudo_set, case O_symbol): If OBJ_COPY_SYMBOL_ATTRIBUTES is defined,
invoke it.
[BFD_ASSEMBLER]: Copy BSF_FUNCTION setting too.
* config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
Jim Kingdon [Mon, 19 Sep 1994 15:00:03 +0000 (15:00 +0000)]
Mon Sep 19 07:48:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* dbxread.c (read_dbx_dynamic_symtab): Cast bfd_asymbol_name to
char * (from const char *) before assigning. Don't save string we
pass to record_minimal_symbol (it already saves it).
Peter Schauer [Sat, 17 Sep 1994 11:35:51 +0000 (11:35 +0000)]
* cp-valprint.c (static_field_print): New variable, controls
printing of static members.
(_initialize_cp_valprint): New print set subcommand
"static-members". Turn on printing of static members by default.
(cp_print_value_fields): Print static members if necessary.
* solib.c: Remove inclusion of libelf.h and elf/mips.h.
(elf_locate_base): Use only standard BFD functions to collect
information about the .dynamic section. Check for DT_MIPS_RLD_MAP
tag only if it got defined via the inclusion of <link.h>.
* f-exp.y: Write block for OP_VAR_VALUE.
* f-valprint.c (info_common_command): Handle `info common'
without an argument correctly.
* c-typeprint.c (c_type_print_base): Handle template constructors.
* symtab.c (gdb_mangle_name): Handle template method mangling,
get rid of GCC_MANGLE_BUG code, which only applied to gcc-2.2.2.
Per Bothner [Sat, 17 Sep 1994 00:38:23 +0000 (00:38 +0000)]
* gdbtypes.h (TYPE_INDEX_TYPE): New macro.
* ch-typeprint.c, ch-valprint.c: Use TYPE_INDEX_TYPE.
* ch-valprint.c (chill_val_print): Pass index type directly
(instead of its TYPE_TARGET_TYPE) to print_type_scalar.
* stabsread.c (read_type): Don't set TYPE_FLAG_TARGET_STUB
if the index type is a stub.
Stu Grossman [Fri, 16 Sep 1994 22:57:37 +0000 (22:57 +0000)]
* defs.h (QUIT): Call interactive_hook to allow GUI to interrupt.
Also, add decl for symtab_to_filename.
* gdbtk.c: Replace calls to full_filename with symtab_to_filename.
* gdbtk.tcl: New routine pc_to_line replaces in line code. New
routine decr replaces in line code.
* (create_file_win): Use catch to handle open failures more
elegantly. Also, create special window to display file open
failure message. Move opening of file prior to creation of text
widget.
* (create_asm_win): Add PC as argument. We now base disassembly
on PC instead of function name, since function names can be
ambiguous (usually seen with shared libs). Also, use catch to
simplify code where we don't care about failures.
* source.c (symtab_to_filename): New. Returns the file
associated with a symtab.
* top.c: Define interactive_hook. Called during QUIT to animate
the GUI.
Ian Lance Taylor [Fri, 16 Sep 1994 16:14:51 +0000 (16:14 +0000)]
* aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
always write it out even if it would normally be stripped.
(aout_link_input_section_std): If we find a reloc against a
stripped global symbol, force it to be written out rather than
merely calling unattached_reloc.
(aout_link_input_section_ext): Likewise.
(aout_link_reloc_link_order): Likewise.
Ian Lance Taylor [Fri, 16 Sep 1994 15:30:38 +0000 (15:30 +0000)]
* objdump.c (struct objdump_disasm_info): Add field require_sec.
(objdump_print_address): If aux->require_sec, require that the
symbol be in aux->sec even if HAS_RELOC is not set.
(disassemble_data): Set aux.require_sec around the
objdump_print_address call for the instruction address.
PR 3441.
Per Bothner [Fri, 16 Sep 1994 07:29:44 +0000 (07:29 +0000)]
* stabsread.c (read_type): Handle stub types for bitstrings.
* stabsread.c (read_array_type): Check for stub domain type
using TYPE_FLAG_STUB, not its length.
* gdbtypes.c (create_set_type): Handle a stub domain type.
Per Bothner [Fri, 16 Sep 1994 07:28:22 +0000 (07:28 +0000)]
* ch-exp.y: Get rid of some extra non-terminals, and move
their rules into primitive_value.
* ch-lang.c (chill_op_print_tab): Add '->'.
* expprint.c (print_subexp): Recognize unary postfix operator.
Ian Lance Taylor [Fri, 16 Sep 1994 04:03:23 +0000 (04:03 +0000)]
* ar.c: Call xexit rather than exit.
(output_filename, output_file, output_bfd): New static variables.
(remove_output): New static function.
(main): Call xatexit (remove_output). Call xexit rather than
returning.
(extract_file): Set output_filename and output_file while output
file is open.
(write_archive): Likewise, but use output_bfd, not output_file.
* arsup.c: Include libiberty.h. Call xexit rather than exit.
* bucomm.c: Likewise.
PR 2474.
Ian Lance Taylor [Fri, 16 Sep 1994 01:59:30 +0000 (01:59 +0000)]
* objdump.c (disassemble_all): New global variable.
(usage): Document --disassemble-all.
(long_options): Add disassemble-all as a synonym for -D.
(compare_symbols): Make pointers const.
(compare_relocs): New static function.
(disassemble_data): Rename disassemble to disassemble_fn to avoid
shadowing. If dump_reloc_info, print relocs along with
disassembly. Skip sections which are not SEC_CODE unless
disassemble_all or only is set.
(display_bfd): Don't call dump_relocs if disassemble is set.
(main): Accept and handle -D.
* binutils.texi: Document -D/--disassemble-all.
* objdump.1: Likewise.
PR 5059.
Ian Lance Taylor [Thu, 15 Sep 1994 17:07:02 +0000 (17:07 +0000)]
* ldmisc.c (vfinfo): Print BFD file name as well as file name
returned by find_nearest_line, in case the file name is something
unhelpful such as a .h file. Handle %u.
Ian Lance Taylor [Wed, 14 Sep 1994 23:28:25 +0000 (23:28 +0000)]
* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
skip_next. If we find an N_WARNING symbol which has already been
written out, set skip_next.
PR 5634.
Jim Kingdon [Wed, 14 Sep 1994 22:45:49 +0000 (22:45 +0000)]
* xcoffread.c (read_xcoff_symtab): Fix obsolete comment about
mst_solib_trampoline.
* f-valprint.c (f_val_print): Change cast of valaddr from
CORE_ADDR * to char **, since that is how it is used.
* dbxread.c (read_dbx_dynamic_symtab): Save copy of symbol names
using obsavestring, and pass that to prim_record_minimal_symbol.
Having the objfile point to bfd_asymbol_name directly doesn't work
if we save and restore a mapped symbol file.
Jeff Law [Wed, 14 Sep 1994 22:24:56 +0000 (22:24 +0000)]
* som.h (struct somdata): New field sorted_syms.
(obj_som_sorted_syms): Accessor macro.
* som.c (som_object_setup): Initialize sorted_syms to NULL.
(som_prep_for_fixups): Sort a copy of the BFD's symbol table;
store the sorted symbol table in sorted_syms.
(som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
(som_begin_writing): Similarly for exec_header. Pass the sorted
symbol table to som_write_symbol_strings.
(som_build_and_write_symbol_table): Use the sorted symbols rather
than the canonical symbol table.