Fred Fish [Sat, 4 Nov 1995 18:42:30 +0000 (18:42 +0000)]
* gdb.base/a1-selftest.exp: Remove i*86-*-sysv4* and
i*86-*-linux* xfails for "backtrace through signal handler".
* gdb.base/corefile.exp: Add i*86-*-sysv4* xfail for
"print func2::coremaker_local".
* gdb.base/break.exp: Add i*86-*-sysv4*, sparc-sun-sunos4,
xfail for
"delete all breakpoints when none".
* xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
to o. Clobber and restore the list of new csects around the call
to _bfd_generic_link_add_one_symbol, in case it wants to report a
linker error and the linker wants to read the symbol table. Reset
the line number count of a real section even if it has no relocs.
(_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
* as.c (main): On TC_A29K, call macro_init with macro_alternate
set to 1.
* macro.c (get_any_string): Don't keep quotes if macro_strip_at is
set, even if macro_alternate is set.
(get_apost_token): If macro_strip_at, only skip kind if it is '@'.
(sub_actual): If macro_strip_at, and kind is '@', don't look up
the token unless it ended in '@'.
* config/tc-a29k.c (line_separator_chars): Remove '@'.
* doc/c-a29k.texi: Document macro usage on A29K.
* m68k-opc.c (m68k_opcodes): Correct fmoveml operands.
* m68k-dis.c (NEXTSINGLE): Change i to unsigned int.
(NEXTDOUBLE): Likewise.
(print_insn_m68k): Don't match fmoveml if there is more than one
register in the list.
(print_insn_arg): Handle a place of '8' for a type of 'L'.
Permit user to override DEMANGLER_PROG from command line. From
Manfred Hollstein <[email protected]>.
* Makefile.in ($(DEMANGLER_PROG)): Depend upon
$(DEMANGLER_PROG).1.
(install): Don't depend upon $(DEMANGLER_PROG).1. Only install
$(DEMANGLER_PROG).1 if $(DEMANGLER_PROG) is not empty.
Per Bothner [Fri, 3 Nov 1995 16:18:31 +0000 (16:18 +0000)]
* Makefile.in ($(CONFIGURE_TARGET_MODULES)): If subdir has
configure script, run that instead of this directory's configure.
In either case, print a message that we're configuring the sub-dir.
* linker.c (_bfd_generic_link_add_one_symbol): Correct type of
oldtype from bfd_link_order_type to bfd_link_hash_type. From [email protected] (Philippe De Muyter).
* configure.in (m88k-motorola-sysv*): New target.
* configure: Rebuild.
* config/te-delta88.h: New file.
* config/obj-coff.c (write_object_file): Use md_do_align if it is
defined.
* config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define.
(md_do_align): Define.
* config/tc-m88k.c: Include "subsegs.h".
(m88k_do_align): New function.
Fred Fish [Thu, 2 Nov 1995 15:31:46 +0000 (15:31 +0000)]
* i386-tdep.c (i386_extract_return_value): Make function visible
for all i386 targets, but only assume floating point values returned
in floating point registers for I386_AIX_TARGET.
* i386v-nat.c (i386_register_u_addr): Enable code to locate
floating point regs in user struct.
Fred Fish [Thu, 2 Nov 1995 15:20:50 +0000 (15:20 +0000)]
* config/i386/tm-i386.h: New file containing generic i*86 target
definitions.
(TARGET_BYTE_ORDER): Moved here from tm-i386v.h.
(IEEE_FLOAT): Moved here from tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Define default as 2.
(FUNCTION_START_OFFSET): Moved here from tm-i386v.h.
(SKIP_PROLOGUE): Moved here from tm-i386v.h.
(SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h.
(INNER_THAN): Moved here from tm-i386v.h.
(BREAKPOINT): Moved here from tm-i386v.h.
(DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h.
(ABOUT_TO_RETURN): Moved here from tm-i386v.h.
(REGISTER_SIZE): Moved here from tm-i386v.h.
(NUM_REGS): Moved here from tm-i386v.h.
(REGISTER_NAMES): Moved here from tm-i386v.h.
(EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h.
(FP_REGNUM): Moved here from tm-i386v.h.
(SP_REGNUM): Moved here from tm-i386v.h.
(PC_REGNUM): Moved here from tm-i386v.h.
(PS_REGNUM): Moved here from tm-i386v.h.
(FP0_REGNUM): Moved here from tm-i386aix.h.
(FPC_REGNUM): Moved here from tm-sun386.h.
(REGISTER_BYTES): Moved here from tm-i386aix.h.
(REGISTER_BYTE): Moved here from tm-i386aix.h.
(REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h.
(EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h.
(STORE_RETURN_VALUE): Moved here from tm-i386aix.h.
(REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h.
(STORE_STRUCT_RETURN): Moved here from tm-i386v.h.
(FRAME_CHAIN): Moved here from tm-i386v4.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h.
(FRAME_SAVED_PC): Moved here from tm-i386os9k.h
(FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h.
(FRAME_NUM_ARGS): Moved here from tm-i386sun.h.
(FRAME_ARGS_SKIP): Moved here from tm-i386v.h.
(FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h.
(PUSH_DUMMY_FRAME): Moved here from tm-i386v.h.
(POP_FRAME): Moved here from tm-i386v.h.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET,
CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from
tm-i386v.h
(print_387_control_word, print_387_status_word): Declare prototypes.
(struct frame_info, struct frame_saved_regs): Forward decls for
prototypes.
(SP_ARG0): Moved here from tm-i386v.h.
* config/i386/tm-i386v.h:
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(IEEE_FLOAT): Remove.
(START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(i386_skip_prologue): Remove prototype.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undef before redefine to 16 (no FP support).
(REGISTER_NAMES): Undef before redefine.
(FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove.
(REGISTER_BYTES): Undef before redefine.
(REGISTER_BYTE): Undef before redefine.
(REGISTER_RAW_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_SIZE): Undef before redefine.
(MAX_REGISTER_RAW_SIZE): Undef before redefine.
(MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine.
(REGISTER_VIRTUAL_TYPE): Undef before redefine.
(STORE_STRUCT_RETURN): Undef before redefine.
(EXTRACT_RETURN_VALUE): Undef before redefine.
(STORE_RETURN_VALUE): Undef before redefine.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_CHAIN): Undef before redefine.
(FRAMELESS_FUNCTION_INVOCATION): Undef before redefine.
(FRAME_SAVED_PC): Undef before redefine.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undef before redefine.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY): Remove.
(CALL_DUMMY_LENGTH): Remove.
(CALL_DUMMY_START_OFFSET): Remove.
(CALL_DUMMY_BREAKPOINT_OFFSET): Remove
(FIX_CALL_DUMMY): Remove.
(print_387_control_word): Remove.
(print_387_status_word): Remove.
(SP_ARG0): Remove.
* config/i386/tm-symmetry.h:
(TM_SYMMETRY_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(MAX_REGISTER_RAW_SIZE): Remove.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-ptx.h:
(TM_PTX_H): Enclose file in test for define & define if needed.
(START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of
tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2.
(DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h
or tm-i386v.h, #undef, and #define to 0.
(SDB_REG_TO_REGNUM): Remove obsolete commented out define.
(print_387_control_word, print_387_status_word): Remove prototypes.
* config/i386/tm-linux.h:
(TM_LINUX_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386v4.h:
(TM_I386V4_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAME_CHAIN): Moved to tm-i386.h.
(FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h.
(FRAME_SAVED_PC): Remove.
(sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc.
(FRAME_NUM_ARGS): Remove.
* config/i386/tm-i386os9k.h:
(TM_I386OS9K_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(NUM_REGS): Undefine before redefining.
(FRAME_CHAIN): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Move to tm-i386.h.
* config/i386/tm-i386nw.h:
(TM_I386NW_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
* config/i386/tm-i386bsd.h:
(TM_I386BSD_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FRAMELESS_FUNCTION_INVOCATION): Remove.
(FRAME_SAVED_PC): Remove.
* config/i386/tm-i386aix.h:
(i386/tm-i386.h): Include instead of tm-i386v.h.
(START_INFERIOR_TRAPS_EXPECTED): Remove.
(FP_REGNUM): Remove.
(SP_REGNUM): Remove.
(PC_REGNUM): Remove.
(PS_REGNUM): Remove.
(FP0_REGNUM): Moved to tm-i386.h.
(NUM_REGS): Remove.
(REGISTER_NAMES): Remove.
(REGISTER_BYTES): Moved to tm-i386.h.
(REGISTER_BYTE): Moved to tm-i386.h.
(REGISTER_RAW_SIZE): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h.
(REGISTER_VIRTUAL_TYPE): Removed.
(EXTRACT_RETURN_VALUE): Moved to tm-i386.h.
(STORE_RETURN_VALUE): Moved to tm-i386.h.
* config/i386/tm-sun386.h:
(TM_SUN386_H): Enclose file in test for define & define if needed.
(i386/tm-i386.h): Include.
(TARGET_BYTE_ORDER): Remove.
(FUNCTION_START_OFFSET): Remove.
(SKIP_PROLOGUE): Remove.
(SAVED_PC_AFTER_CALL): Remove.
(INNER_THAN): Remove.
(BREAKPOINT): Remove.
(DECR_PC_AFTER_BREAK): Remove.
(ABOUT_TO_RETURN): Remove.
(REGISTER_SIZE): Remove.
(NUM_REGS): Undefine before defining.
(REGISTER_NAMES): Undefine before redefining.
(REGISTER_BYTES): Undefine before redefining.
(REGISTER_BYTE): Undefine before defining.
(FP_REGNUM): Undefine before defining.
(PC_REGNUM): Undefine before defining.
(FPC_REGNUM): Undefine before defining.
(REGISTER_RAW_SIZE): Undefine before defining.
(FRAME_CHAIN): Undefine before defining.
(FRAMELESS_FUNCTION_INVOCATION): Undefine before defining.
(FRAME_SAVED_PC): Undefine before defining.
(FRAME_NUM_ARGS): Moved to tm-i386.h.
(MAX_REGISTER_RAW_SIZE): Remove.
(MAX_REGISTER_VIRTUAL_SIZE): Remove.
(STORE_STRUCT_RETURN): Remove.
(EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
(FRAME_ARGS_ADDRESS): Remove.
(FRAME_LOCALS_ADDRESS): Remove.
(FRAME_NUM_ARGS): Undefine before defining.
(FRAME_ARGS_SKIP): Remove.
(FRAME_FIND_SAVED_REGS): Remove.
(PUSH_DUMMY_FRAME): Remove.
(POP_FRAME): Remove.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove.
(struct frame_info, struct frame_saved_regs): Remove forward decls
for prototypes.
* config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
* config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of
tm-i386v.h.
Fred Fish [Wed, 1 Nov 1995 23:02:09 +0000 (23:02 +0000)]
* gdb.base/break.exp: Change test that deletes all breakpoints
when no user breakpoints are installed. A post 4.15 change
causes gdb to no longer prompt in this case.
Fred Fish [Wed, 1 Nov 1995 20:11:52 +0000 (20:11 +0000)]
* symtab.c (in_prologue): Document func_start and when it is zero
don't call SKIP_PROLOGUE (which typically leads unconditionally to
an error when we try to access a prologue at address 0).
* coff-m88k.c (rtype2howto): New static function.
(RTYPE2HOWTO): Use it rather than a macro definition.
* coffcode.h (coff_write_object_contents): set internal_a.magic
to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
* configure.in: m68*-motorola-sysv3* does not use ptrace-core.o;
define TRAD_HEADER to new file hosts/delta68.h.
m88*-motorola-sysv*, however, does use ptrace-core.o.
* hosts/delta68.h: New file.
* ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
* elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
BFD is not of the right type.
(bfd_elf_get_needed_list): Likewise.
* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
* sunos.c (bfd_sunos_get_needed_list): Likewise.
* xcofflink.c (XCOFF_XVECP): Define.
(bfd_xcoff_link_record_set): Don't do anything if the BFD is not
of the right type.
(bfd_xcoff_import_symbol): Likewise.
(bfd_xcoff_export_symbol): Likewise.
(bfd_xcoff_link_count_reloc): Likewise.
(bfd_xcoff_record_link_assignment): Likewise.
(bfd_xcoff_size_dynamic_sections): Likewise.
* configure.in: If the only directory in target_configdirs which
actually exists is libiberty, then set target_configdirs to empty,
to avoid trying to build a target libiberty in a gas or gdb
distribution.
* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
static function.
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
full_aouthdr flag here...
(_bfd_xcoff_bfd_final_link): ...not here.
* emultempl/aix.em: Include ldgram.h.
(gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
AIX 4.1.
* Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
Fred Fish [Tue, 31 Oct 1995 23:29:05 +0000 (23:29 +0000)]
* libelf.h: Rename to elf-bfd.h to avoid conflict with
systems that have a system <libelf.h>.
* Makefile.in: Globally replace libelf.h with elf-bfd.h.
* bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
elfxx-target.h: Include elf-bfd.h rather than libelf.h.
* elfxx-target.h: Change libelf.h reference to elf-bfd.h.
Fred Fish [Tue, 31 Oct 1995 23:18:28 +0000 (23:18 +0000)]
* gdb.base/return.exp (return_tests): Change xfail for test
"correct value returned double test" to stop xfailing at
Solaris 2.5. Apparently the bug has been fixed.
Ian Lance Taylor [Tue, 31 Oct 1995 22:55:22 +0000 (22:55 +0000)]
* config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS.
(ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN.
(ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT.
* config/obj-coff.c (coff_frob_symbol): Don't call
SA_SET_SYM_ENDNDX with the current symbol; call it with the next
one. If OBJ_XCOFF, try to figure out whether the symbol is going
to be dropped.
* ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
set, set BSF_WEAK in symbol. Change all callers.
(ecoff_get_extr): Set weakext based on BSF_WEAK.
(ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
_bfd_generic_link_add_one_symbol.
(ecoff_indirect_link_order): Check that the section tdata relocs
are not NULL before using them.
* configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
define TRAD_HEADER as hosts/alphalinux.h.
* configure: Rebuild.
* hosts/alphalinux.h: New file.
* trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
not int.
Ian Lance Taylor [Tue, 31 Oct 1995 19:16:02 +0000 (19:16 +0000)]
* config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec".
(ppc_stab_symbol): New static variable.
(ppc_change_csect): Check that ppc_toc_csect is not NULL.
(ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set
sy_tc.real_name to the stab string.
(ppc_bc, ppc_ec): New static functions.
(ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't
do anything.
(ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a
suffix.
Ian Lance Taylor [Tue, 31 Oct 1995 17:39:55 +0000 (17:39 +0000)]
* emultempl/aix.em (export_files): Remove.
(import_files): Make static.
(struct export_symbol_list): Define.
(export_symbols): New static variable.
(gld${EMULATION_NAME}_parse_args): Handle an initial -b option
correctly. Call read_file for an export file.
(gld${EMULATION_NAME}_before_allocation): Call
bfd_xcoff_export_symbol for each export symbol, rather than
calling read_file for each export file.
(gld${EMULATION_NAME}_read_file): For an export file, make the
exported symbols undefined, and store them on the export_symbols
list.
Ian Lance Taylor [Tue, 31 Oct 1995 17:36:12 +0000 (17:36 +0000)]
* xcofflink.c (xcoff_mark_symbol): New static function, broken out
of xcoff_mark.
(xcoff_mark): Call xcoff_mark_symbol.
(bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
(bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
doing it by hand.
(xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
Ian Lance Taylor [Mon, 30 Oct 1995 23:53:16 +0000 (23:53 +0000)]
* xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
field.
(xcoff_find_reloc): New static function.
(xcoff_link_add_symbols): Use it.
(_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
(xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
relocate the value of C_DECL.
Ian Lance Taylor [Mon, 30 Oct 1995 19:34:02 +0000 (19:34 +0000)]
* objdump.c (objdump_print_value): New static function.
(objdump_print_address): Use it. If we need the right section for
the symbol, and we can't find it, print an offset from the section
rather than using a symbol from some other section.
PR 8251.
* defs.h: Test on name __WIN32__ rather than WIN32.
* inflow.c (new_tty): Likewise
* terminal.h: Likewise.
* utils.c (initialize_utils): Likewise.
* win32-nat.c (child_create_inferiror): Print error code when failing.
* config/i386/win32.mh (XM_CLIBS): Need -lkernel32.