David Edelsohn [Wed, 6 Sep 1995 21:35:20 +0000 (21:35 +0000)]
* config/sparc/tm-sp64.h (REGISTER_RAW_SIZE): Lower 32 fp regs
have size 4.
(REGISTER_VIRTUAL_SIZE): Likewise.
(REGISTER_VIRTUAL_TYPE): Lower 32 fp regs have type float.
Upper 32 fp regs have type double.
* sparc-tdep.c (NUM_SPARC_FPREGS): Replace with
(FP_REGISTER_BYTES): this, and update all uses.
(FP_MAX_REGNUM): Define if not already.
(get_saved_register): Handle new sparc64 fp regs.
(sparc_frame_find_saved_regs): Likewise.
(sparc_print_register_hook): Only print fp regs < 32 as doubles.
Add code to handle long doubles when gdb does.
(_initialize_sparc_tdep): Use print_insn_sparc64 if sparc64.
* configure.in: Rewrite to use autoconf.
* configure.host: New file.
* configure.tgt: New file.
* aclocal.m4: New file.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* config.h.in: New file, built by autoheader.
* sysdep.h: New file.
* ld.h: Incorporate old contents of config.h.
* config.h: Remove.
* Makefile.in: Various changes for new configure script. Also:
(CC_FOR_BUILD): Remove.
(ldmain.o): Don't bother to ensure that EMUL is non-empty.
(dep.sed): Use @SRCDIR@, not @srcdir@.
* dep-in.sed: Use @SRCDIR@, not @srcdir@.
* genscripts.sh: Create ldscripts if it does not exist.
* ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
* mpw-esh.c, emultemp/*.em: Likewise.
* ldmain.c: Likewise. Include <ctype.h>. Don't try to set
HAVE_SBRK here.
* config/*.mt, config/*.mh: Remove.
* configure.in: Rewrite to use autoconf.
* aclocal.m4: New file.
* configure: New file, built by autoconf.
* acconfig.h: New file.
* config.h.in: New file, built by autoheader.
* Makefile.in: Various changes for new configure script. Also:
(PROGS): Remove $(SYSINFO_PROG).
(ALL_CFLAGS): Remove $(TDEFINES).
(version.o): Use $(ALL_CFLAGS).
(cplus-dem.o, dlltool.o, nlmconv.o): Likewise.
(sysdump.o): Depend upon bucomm.h and config.h.
(srconv.o, arsup.o, strings.o): Depend upon config.h.
(filemode.o): Don't depend upon ../bfd/sysdep.h.
(bucomm.o): Depend upon config.h, not ../bfd/sysdep.h.
(size.o, objdump.o, nm.o, ar.o, objcopy.o): Likewise.
(nlmheader.o, nlmconv.o): Likewise.
(distclean): Don't remove sysdep.h.
* bucomm.h: Include "ansidecl.h", <stdio.h>, and "config.h".
Include "fopen-same.h" or "fopen-bin.h", based on
USE_BINARY_FOPEN. Include <errno.h>, and declare errno if it is
not a macro. Include <unistd.h>, <string.h>, <strings.h>,
<stdlib.h>, and <fcntl.h> if they are present. Declare strchr,
strrchr, and strstr if no string header file exists. Include
<sys/file.h> if it exists and <fcntl.h> does not. Define
O_RDONLY and O_RDWR if necessary.
* ar.c: Don't include "sysdep.h". Do include <sys/types.h> and
<sys/stat.h>. Use HAVE_GOOD_UTIME_H rather than POSIX_UTIME. Use
HAVE_UTIMES rather than !USE_UTIME. Don't include <errno.h>, and
don't declare errno.
* arsup.c: Don't include <sysdep.h>.
* bucomm.c: Don't include "sysdep.h". Include <stdio.h>,
<sys/types.h>, and <sys/stat.h>. Include <time.h> if it defines
time_t. Define time_t if necessary.
* coffdump.c: Don't include "sysdep.h".
* coffgrok.c, filemode.c, nlmconv.c, size.c: Likewise.
* srconv.c, strings.c: Likewise.
* nm.c: Don't include "sysdep.h". Don't try to define HAVE_SBRK.
* objcopy.c: Don't include "sysdep.h". Include <sys/types.h> and
<sys/stat.h>.
(simple_copy): Use creat rather than assuming that O_CREAT is
defined.
* objdump.c: Don't include "sysdep.h". Use
NEED_DECLARATION_PRINTF rather than !FPRINTF_ALREADY_DECLARED.
* sysdump.c: Include "bfd.h" and "bucomm.h". Don't include
"sysdep.h" or <stdlib.h>.
(dump_symbol_info): Rename from symbol_info. Change all callers.
Stan Shebs [Wed, 6 Sep 1995 00:33:55 +0000 (00:33 +0000)]
* config/tc-mips.c: Remove CYGNUS LOCAL comments.
(md_begin): Use 0/1 instead of TRUE/FALSE.
(md_show_usage): Break up long format string for the benefit
of lame compilers.
* config/tc-m68k.c (md_show_usage): Ditto.
* gasp.c (show_usage): Ditto.
* macro.c (check_macro): Cast result of hash_find.
Ken Raeburn [Tue, 5 Sep 1995 22:36:41 +0000 (22:36 +0000)]
* configure.in: When testing for a free() declaration in system header files,
cast the address to a function pointer, not to an integer.
* write.c (fix_new_internal): Call TC_INIT_FIX_DATA if TC_FIX_TYPE is defined.
Don't initialize fx_bsr. Verify that fx_size field is wide enough to hold
stored value.
* write.h (struct fix): Change tc_fix_data to type TC_FIX_TYPE if that is
defined, otherwise omit it. Delete fx_bsr. Change fx_size to unsigned char.
* config/tc-i960.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-ns32k.h (TC_FIX_TYPE, fx_bsr, TC_INIT_FIX_DATA): New macros.
* config/tc-hppa.h (TC_FIX_TYPE): Define as PTR.
* config/tc-i860.c (md_apply_fix): Delete code for checking fx_im_disp, and for
handling non-zero values, since it never gets set after being initialized to
zero.
* write.h (struct fix): Make fx_im_disp always 2 bits, since the only tc-*
files actually using it need that much.
NS32K changes from Ian Dall:
* configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
ns32k-pc532-lites* like ns32k-pc532-netbsd*.
* config/tc-ns32k.h (LOCAL_LABELS_FB): Define to 1.
* configure.in (host_makefile_frag): Don't set. Substitute for
@CC@, @CFLAGS@, @HDEFINES@ and @LDFLAGS@ in Makefile.
* Makefile.in (AR_FLAGS): Set to rc rather than qv.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(LDFLAGS): Define as @LDFLAGS@.
(ALL_CFLAGS): Use @HDEFINES@ rather than $(HDEFINES).
* configure.host: Incorporate host Makefile fragments by setting
shell variables.
* configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
value based on whether the code is being compiled by a cross
compiler. Don't substitute host_makefile_frag or frags.
* aclocal.m4: New file to define local AC_PROG_CC.
* configure: Rebuild.
* Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
(INSTALL_DATA): Set to @INSTALL_DATA@.
(AR): Set to @AR@.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
(@host_makefile_frag@): Remove.
(ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
after other options.
(config.status): Remove dependency upon @frags@.
* config/*.mh, config/README: Remove.
* configure.in: Run ../bfd/configure.host before AC_PROG_CC.
Subsitute CFLAGS and AR. Call AC_PROG_INSTALL. Don't substitute
host_makefile_frag or frags.
* aclocal.m4: New file.
* configure: Rebuild.
* Makefile.in (INSTALL): Set to @INSTALL@.
(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
(INSTALL_DATA): Set to @INSTALL_DATA@.
(AR): Set to @AR@.
(AR_FLAGS): Set to rc rather than qc.
(CC): Define as @CC@.
(CFLAGS): Set to @CFLAGS@.
(@host_makefile_frag@): Remove.
(config.status): Remove dependency upon @frags@.
* configure.in: Don't bother to call config.bfd for each target.
Just call it for the default target, and use the shell variable to
decide whether underscores are used.
* config.bfd: Rewrite to incorporate the contents of the Makefile
fragments by setting shell variables, rather than merely returning
the name of a Makefile fragment.
* configure.in: Use shell variables set by config.bfd rather than
looking at the target Makefile fragment files. Don't substitute
target_makefile_frag. Do substitute TDEFINES.
* configure: Rebuild.
* Makefile.in (@target_makefile_frag@): Remove.
(ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
* config/*.mt: Remove.
* symtab.c (list_symbols): Add missing blank after
`<function, no debug info>' output.
* valops.c (value_assign): Handle truncation when assigning
to bitfields. Use value_copy to construct the return value
from toval.
* values.c (value_copy): Copy VALUE_FRAME and VALUE_OPTIMIZED_OUT.
Fred Fish [Sat, 2 Sep 1995 07:25:13 +0000 (07:25 +0000)]
* gdb.base/callfuncs.exp (do_function_calls): Remove
mips-sgi-irix* xfail for
"call inferior func with struct - returns char *"
and fix test so that an optional (unsigned char *) cast is
accepted in the result.
Fred Fish [Fri, 1 Sep 1995 21:01:24 +0000 (21:01 +0000)]
* gdb.base/funcargs.exp (float_and_integral_args): Remove
sparc-sun-solaris2* xfail for "print f1 after run to call2a".
* gdb.c++/Makefile.in (SUFFIXES): Add .SUFFIXES and ".cc" suffix.
* gdb.base/signals.exp: Remove duplicate "handle all print" test
that accidentally got checked in.
* elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
DT_FINI entry if the appropriate symbol is not in the hash table.
* libelf.h (struct elf_backend_data): Add create_program_headers
and want_hdr_in_seg fields.
* elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
defined.
(elf_backend_create_program_headers): Likewise.
(elfNN_bed): Initialize create_program_headers and
want_hdr_in_seg.
* elf.c (get_program_header_size): Call create_program_headers
backend routine.
(map_program_segments): Check want_hdr_in_seg backend field. Call
create_program_headers backend routine.
* elf.c (assign_file_positions_except_relocs): Align non allocated
sections when creating an executable.
* elfcode.h (elf_swap_phdr_in): Make non static.
(elf_swap_phdr_out): Make non static.
* libelf.h (bfd_elf32_swap_phdr_in): Declare.
(bfd_elf32_swap_phdr_out): Declare.
(bfd_elf64_swap_phdr_in): Declare.
(bfd_elf64_swap_phdr_out): Declare.
* elflink.h (elf_link_add_object_symbols): Handle indirect and
warning symbols. If any section is named .gnu.warning.XXX, treat
the contents as a warning to be issued if the symbol XXX is
referenced.
(elf_link_output_extsym): For an indirect or warning symbol, just
output the symbol it points to.
Ideally the "remote-mips.c" prompt spotting code should be updated to
spot different prompts at run-time, so as to avoid having target
specific versions of gdb. This is a pending TODO.
This change does not affect the MIPS instruction assembly. It is
present only to stop gas complaining when gcc passes through the
"-mcpu=vr4300" switch.
* dlltool.c (add_indirect): New.
(asm_prefix): New
(gen_exp_file): Timestamp should be 0. Insert prefix when
needed. New code for indirection.
(gen_lib_file): Timestamp should be 0. Insert prefix
when needed.
(usage): Document --add-indirect.
(main): Cope with new option.
* objdump.c (dump_private_headers): New.
(usage): Document new option.
(long_option): Add private-headers.
(dump_bfd_private_header): New.
(main): Cope with new option.
* config/tc-m68k.c (m68k_ip) [case POST/PRE/BASE]: Fix typo when
looking at outer displacement. Don't set the postindex bit if the
index suppress bit is set (for memory indirect addressing mode).
Jeff Law [Thu, 31 Aug 1995 04:21:32 +0000 (04:21 +0000)]
* interp.c (FPSCR, FPUL): Define.
(struct save_state): Add fields for floating point registers,
FPSCR and FPUL.
(sim_resume): Add 'F' for accessing floating point registers
in the save state structure.
* gencode.c: Add sh3e opcodes.
(gensym): Define a buffer for int<->fp conversions.
First cut at simulating sh3e instructions. Basic stuff should work;
instructions using fpul and fpscr are completely untested... Sanitized
away for now (sh3e).
* coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.
Swap in PE header.
* coffcode.h (coff_write_object_contents): Remove #if0ed code
Only remove empty sections in PE inmage files.
* dlltool.c (rva): Deleted.
(rvaafter, rva_before): Use new assembler pseudo.
(flush_page, gen_exp_file, gen_lib_file): Use new way of RVAing.
(gen_exp_file): Don't generate .edata if no need.
(gen_lib_file): Don't make timestamp.
(workout_prefix): Fix memory initialization bug.
(usage): Tidy up, delete many single char options.
(main): rva option is gone.
Fred Fish [Mon, 28 Aug 1995 09:44:14 +0000 (09:44 +0000)]
* gdb.base/callfuncs.exp (do_function_calls): Add alpha-dec-osf2*
clear_xfail for "p t_float_values2(3.14159,float_val2)" for gcc
compiled test.
* gdb.base/opaque.exp (setup_xfail_on_opaque_pointer):
Add mips-sgi-irix5* xfail for not gcc compiled.
* gdb.base/Makefile.in (nodebug.o): Also create nodebug.ci.
* gdb.base/nodebug.exp: Add mips-sgi-irix5 xfail when not gcc compiled for
"p top", "whatis top", "p middle", and "whatis middle".
* gdb.base/whatis.exp: Add mips-sgi-irix* xfail for
"whatis signed char" for not gcc compiled.
* gdb.base/setvar.exp: Add mips-sgi-irix4* xfail (works on irix5) for
"set variable signed char=-1 (-1)" and
"set variable signed char=0xFF (0xFF)" for not gcc compiled.
* gdb.base/funcargs.exp (float_and_integral_args):
Add mips-sgi-irix5* xfail for "run to call2a" for not gcc compiled.
Add mips-sgi-irix* xfail when not gcc compiled for
"continue to call2b".
Add mips-sgi-irix4* xfail (works with irix5) when gcc compiled for
"continue to call2g".
(discard_and_shuffle): Add mips-sgi-irix5* xfail whn not gcc compiled for
"backtrace from call6a"
(shuffle_round_robin): Add mips-sgi-irix* xfail when not gcc compiled for
"backtrace from call7k".
Add mips-sgi-irix5* xfail when not gcc compiled for
"backtrace from call7a".
(localvars_after_alloca): Fix gdb_test cmds for
"print * after runto ...".
Remove rs6000-*-* xfails for
"print i after runto localvars_after_alloca" and
"print l after runto localvars_after_alloca"
for all compilers.
* gdb.base/exprs.exp: Add mips-sgi-irix4* xfails (works with irix5),
when not compiled with gcc, for:
"print signed char == (minus)",
"print signed char != (minus)",
"print signed char < (minus)",
"print signed char > (minus)".
* gdb.base/callfuncs.exp (do_function_calls):
Add mips-sgi-irix* xfail, when compiled with native compiler, for
"call inferior func with struct - returns char *".
* gdb.base/return.exp (return_tests): Change xfail for
"correct value returned double test" to include Solaris 2.4.
* gdb.base/funcargs.exp (float_and_integral_args):
Add sparc-sun-solaris2* xfail for "print f1 after run to call2a".
Ian Lance Taylor [Sun, 27 Aug 1995 00:33:56 +0000 (00:33 +0000)]
* app.c (scrub_file): Remove.
(scrub_from_file, scrub_to_file): Remove.
(scrub_string, scrub_last_string): Remove.
(scrub_from_string, scrub_to_string): Remove.
(saved_input, saved_input_len): New static variables.
(struct app_saved): Remove scrub_string, scrub_last_string, and
scrub_file fields. Add saved_input and saved_input_len fields.
(app_push): Adjust saved fields for changes in struct app_save.
Initialize state and saved_input.
(app_pop): Adjust saved fields for changes in struct app_save.
(do_scrub_chars): Rename from do_scrub_next_char and rewrite to
process a buffer at a time rather than a character at a time.
(main, as_warn): Remove obsolete testing code.
* as.h (do_scrub_next_char): Don't declare.
(do_scrub_chars): Declare.
(scrub_from_file, scrub_from_string): Don't declare.
(scrub_to_file, scrub_to_string): Don't declare.
* input-file.c (input_file_get): New static function.
(input_file_give_next_buffer): Call do_scrub_chars rather than
do_scrub_next_char.
* read.c (scrub_string, scrub_string_end): New static variables.
(scrub_from_string): New static function.
(read_a_source_file): Call do_scrub_chars rather than
do_scrub_next_char.
(and comment change in input-scrub.c)
Peter Schauer [Sat, 26 Aug 1995 07:36:45 +0000 (07:36 +0000)]
* gdb.base/setvar.c, gdb.base/setvar.exp: Add new tests for
enumeration bitfields if compiling with GNU C.
* lib/gdb.exp: Consume `(y or n) ' in `Reinitialize source path
to empty' prompt.
Peter Schauer [Sat, 26 Aug 1995 07:35:13 +0000 (07:35 +0000)]
* mdebugread.c (parse_symbol): Handle sh.value of zero for enums.
Determine signedness of enum type from enumerators.
(parse_type): Handle btIndirect types, handle fBitfield for
some non-member types.
(upgrade_type): Use TYPE_FLAG_TARGET_STUB for arrays with
unknown length.
(cross_ref): Handle stIndirect forward reference to btTypedef.
* stabsread.c (read_enum_type): Determine signedness of enum
type from enumerators.
* top.c (execute_command): Remove trailing whitespace from
command arguments, except for `set' and `complete' commands.
(validate_comname): Allow underscores in user defined command
names.
* values.c (modify_field): Change `Value does not fit in %d bits'
error to a warning. Exclude sign extension bits of negative field
values from fit check.