Ian Lance Taylor [Wed, 24 Apr 1996 18:10:46 +0000 (18:10 +0000)]
* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
members of an archive for dynamic objects with no symbols, and
pass them directly to check_archive_element.
(xcoff_link_check_ar_symbols): Pass dynamic objects to
xcoff_link_check_dynamic_ar_symbols.
(xcoff_link_check_dynamic_ar_symbols): New static function.
The above is for PR 9520.
* coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
from _bfd_nodynamic to _bfd_xcoff.
* libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
Declare.
(_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
(_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
(_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
* libcoff.h: Rebuild.
* xcofflink.c (xcoff_swap_ldrel_in): New static function.
(xcoff_get_section_contents): New static function.
(_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
(_bfd_xcoff_canonicalize_dynamic_symtab): New function.
(_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
(xcoff_dynamic_reloc): New static variable.
(_bfd_xcoff_canonicalize_dynamic_reloc): New function.
(xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
Jeff Law [Wed, 24 Apr 1996 06:36:10 +0000 (06:36 +0000)]
* infrun.c (wait_for_inferior): Move "have_waited" label
outside of #ifdef conditionals. Don't trash the wait status
if we get a signal and the current instruction is nullified.
Fixes long standing problem on the PA (spurious SIGTRAPs)..
Mark Alexander [Mon, 22 Apr 1996 22:31:10 +0000 (22:31 +0000)]
* corefile.c (specify_exec_file_hook): Allow arbitrary number of
hooks.
(call_extra_exec_file_hooks): New function.
* h8300-tdep.c: Lint; add .h files to provide missing declarations,
remove unused variables.
(set_machine_hook): New function.
(_initialize_h8300m): Initialize it.
Ian Lance Taylor [Thu, 18 Apr 1996 23:00:29 +0000 (23:00 +0000)]
* config/obj-coff.c: BFD_ASSEMBLER:
(coff_last_bf): New static variable.
(coff_frob_symbol): Set endndx of a .bf symbol.
Non BFD_ASSEMBLER:
(obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol.
(last_bfP): New static variable.
(yank_symbols): Set endndx of a .bf symbol.
PR 9467.
Ian Lance Taylor [Wed, 17 Apr 1996 17:21:52 +0000 (17:21 +0000)]
* linker.c (_bfd_generic_link_add_one_symbol): When calling the
callback routines, pass h->root.string rather than name, in case
copy is true and name is transient.
Stu Grossman [Wed, 17 Apr 1996 00:48:09 +0000 (00:48 +0000)]
* corelow.c (add_to_thread_list): Make sure reg_sect is non-null
before de-referencing it. Prevents deref of NULL pointer if core
file lacks .reg section.
* defs.h: Rename floatformat_{to from}_long_double to
floatformat_{to from}_doublest. Get rid of FLOATFORMAT_{TO
FROM}... macros.
* findvar.c (extract_floating store_floating): Change all refs to
FLOATFORMAT_{FROM TO}... to floatformat_{from to}_doublest.
* utils.c: Change floatformat_{to from}_long_double to
floatformat_{to from}_doublest cuz the new routines will use
whatever size (double or long double) is appropriate.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change FLOATFORMAT... macros to
floatformat... routine calls.
Per Bothner [Mon, 15 Apr 1996 23:45:51 +0000 (23:45 +0000)]
* stabsread.c (read_type): Move handling of '@' from type
number handling to handling of types proper (as emitted by gcc!).
For typedefs, allocate the typedef type before reading its
definition, to properly handling recursive types.
This fixes PR 9434.
Ian Lance Taylor [Mon, 15 Apr 1996 23:10:52 +0000 (23:10 +0000)]
* elf32-mips.c (struct mips_hi16): Define.
(mips_hi16_addr, mips_hi16_addend): Remove.
(mips_hi16_list): New static variable.
(mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
(mips_elf_lo16_reloc): Process mips_hi16_list.
(mips_elf_relocate_section): Permit an arbitrary number of HI16
relocs before the associated LO16 reloc.
Tom Tromey [Mon, 15 Apr 1996 21:14:30 +0000 (21:14 +0000)]
* Makefile.in (ALL_MODULES): Include all-apache.
(CROSS_CHECK_MODULES): Include check-apache.
(INSTALL_MODULES): Include install-apache.
(all-apache): New target.
* configure.in: Added apache everywhere perl is seen.
Ian Lance Taylor [Mon, 15 Apr 1996 16:28:19 +0000 (16:28 +0000)]
* config/tc-mips.c (load_address): Cast X_add_number to valueT
before comparing against MAX_GPREL_OFFSET, so that negative
numbers are handled correctly.
(macro): Likewise.
Stu Grossman [Sat, 13 Apr 1996 21:33:59 +0000 (21:33 +0000)]
* remote-nindy.c (nindy_open): Acquire more target state so that
user can attach to a previously running program.
* (nindy_fetch_registers nindy_store_registers): Get rid of fp
conversion code. That's all handled in {extract store}_floating
now.
* utils.c (floatformat_to_double): Don't bias exponent when
handling zero's, denorms or NaNs.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change to using DOUBLST and
FLOATFORMAT_TO/FROM_DOUBLEST macros.
* config/i960/tm-nindy960.h: Undefine
REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, and
REGISTER_CONVERTIBLE. These are no longer necessary now that all
the magic happens in extract/store_floating.
Peter Schauer [Sat, 13 Apr 1996 10:01:49 +0000 (10:01 +0000)]
* eval.c (evaluate_subexp_standard): Report error when attempting to
evaluate subscripts for types which cannot be subscripted.
* valarith.c (value_x_binop, value_x_unop): Add noside parameter.
Return a zero value with the return type of the member function
if noside is EVAL_AVOID_SIDE_EFFECTS instead of calling the member
function.
* values.h (value_x_binop, value_x_unop): Update prototypes
accordingly.
* eval.c (evaluate_subexp_standard): Update all callers of
value_x_binop, value_x_unop accordingly.
* valarith.c (value_neg, value_complement): Perform ANSI C/C++
integral promotion on operands.
Fred Fish [Sat, 13 Apr 1996 04:38:55 +0000 (04:38 +0000)]
* README: Update for 4.16 release.
* configure.in (AC_CHECK_FUNCS): Also check for sbrk.
* configure: Regenerate with autoconf.
* config.in: Regenerate with autoheader.
* main.c (main): Only use sbrk() when HAVE_SBRK is defined.
* top.c (command_loop): Ditto.
Stu Grossman [Fri, 12 Apr 1996 16:53:08 +0000 (16:53 +0000)]
* defs.h: Define TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
defaults for bi-endian targets. Replace function pointers for
floatformat routines with macros. No need for these to be runtime
selectable.
* findvar.c: Get rid of floatformat function pointers. Use
macros in extract_floating and store_floating.
* remote-nindy.c (nindy_fetch_registers nindy_store_registers):
Use floatformat macros.
Fred Fish [Fri, 12 Apr 1996 06:14:46 +0000 (06:14 +0000)]
From: Miles Bader <[email protected]>
* configure.in (AC_CHECK_HEADERS): check for endian.h.
Use AC_CHECK_TOOL to find AR & RANLIB. Add AC_PROG_AWK.
Add host & target cases for i[345]86-*-gnu*.
* config.in: Regenerate with autoheader.
* configure: Regenerate with autoconf.
* Makefile.in (AR, AWK): Set from corresponding autoconf substs.
(init.c): Don't scan mig-generated files.
* defs.h (endian.h): Include if HAVE_ENDIAN_H defined.
* config/nm-m3.h (ATTACH_NO_WAIT): Define.
* infcmd.c (attach_command): Use "#ifndef ATTACH_NO_WAIT"
rather than "#ifndef MACH".
Ian Lance Taylor [Thu, 11 Apr 1996 21:35:01 +0000 (21:35 +0000)]
* config/tc-sparc.c (last_insn): New static variable.
(md_assemble): Warn about putting floating point branches in a
delay slot. If architecture is less than v9, insert NOP
instructions between floating point instructions and floating
point branches. (The SunOS assembler does both these operations.)
Save the last instruction opcode.
(sparc_ip): Add pinsn parameter. Change caller.
PR 355.
Stu Grossman [Thu, 11 Apr 1996 21:17:45 +0000 (21:17 +0000)]
* dcache.c: Add prototypes. Make many functions static.
* (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and
dcache_poke call dcache_xfer_memory directly in order to fix
problems with turning off dcache. dcache_peek is now unnecessary,
so it goes away.
* defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer
to a struct floatformat. This allows for better handling of
targets whose floating point formats differ from the host by more
than just byte order.
* (floatformat_to_long_double floatformat_from_long_double):
Prototypes for new functions in utils.c.
* (floatformat_to_doublest floatformat_from_doublest): Prototypes
for pointers to floating point conversion functions. The actual
function uses either double or long double if the host supports it.
* findvar.c (floatformat_to_doublest floatformat_from_doublest):
Initialize to point at correct function depending on HAVE_LONG_DOUBLE.
* (extract_floating store_floating): Rewrite. Now, if host fp
format is the same as the target, we just do a copy. Otherwise,
we call floatformat_{to from}_doublest.
* remote-nindy.c (nindy_xfer_inferior_memory): Change param
`write' to `should_write'.
* utils.c (floatformat_to_long_double
floatformat_from_long_double): New routines that implement long
double versions of functions in libiberty/floatformat.c.
* config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for
i960 extended real (80 bit) numbers.
* nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes
actually read or written.
Jeff Law [Wed, 10 Apr 1996 20:40:24 +0000 (20:40 +0000)]
* scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
bytes of the address space. Put data from the ".eight" sections
into the 8-bit area.
* scripttempl/h8300h.sc: Likewise.
8-bit area changes for hmse.
Ian Lance Taylor [Wed, 10 Apr 1996 18:21:08 +0000 (18:21 +0000)]
* versados.c (versados_scan): Check bfd_alloc return value.
(versados_object_p): Check all bfd_read return values. Require
that lang field be less than 10, to avoid confusion with Intel Hex
files.
Ian Lance Taylor [Wed, 10 Apr 1996 18:11:00 +0000 (18:11 +0000)]
* libaout.h (WRITE_HEADERS): Write out the relocs even if there
aren't any symbols.
* aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
not 0, for an absolute symbol.
(NAME(aout,swap_ext_reloc_out)): Likewise.
PR 7387.
Ian Lance Taylor [Wed, 10 Apr 1996 17:01:35 +0000 (17:01 +0000)]
* ihex.c (ihex_scan): Accept a length of 4 for record type 5.
(ihex_write_object_contents): For a large start address, output
the full 32 bit address in record type 5.
PR 9422.
* ch-valprint.c (chill_val_print): Remove call to calculate_array_length.
(calculate_array_length): Move function from here ...
* ch-exp.c (calculate_array_length): ... to here.
(parse_primval): If we have a symbol with an array type
and the length is 0, call calculate_array_length.
* aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
entry point, not just for DYNAMIC objects.
* sunos.c (sunos_add_dynamic_symbols): Always call
sunos_create_dynamic_sections. If called with a non DYNAMIC
object, don't do anything else.
(sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
Fred Fish [Tue, 9 Apr 1996 06:09:33 +0000 (06:09 +0000)]
* Makefile.in (scm-exp.o, scm-lang.o, scm-valprint.o): Add targets and
dependencies.
* scm-lang.c (gdb_string.h): Include.
* objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow
call to correct type (char *).
* cp-valprint.c (cp_print_static_field): Ditto.
* somsolib.c (som_solib_create_inferior_hook): Add a declaration
for external find_unwind_entry function (from hppa-tdep.c).
* remote-pa.c (remote_write_bytes, remote_read_bytes): Change
type of second arg to "char *" to be type compatible with
dcache.
(remote_wait): Cast second arg to strtol to correct type.
* hppa-tdep.c (compare_unwind_entries): Change argument types to
"const void *" to be type compatible with qsort, and then
assign to local args prior to use.