binutils-gdb.git
29 years agoTue Aug 29 13:20:27 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Tue, 29 Aug 1995 20:28:15 +0000 (20:28 +0000)]
Tue Aug 29 13:20:27 1995  steve chamberlain  <sac@slash.cygnus.com>

* read.c (potable): Rva is new entry.
(cons_worker): New, split from cons.  Handles rva.
(cons, s_rva): Call cons_worker.
* read.h (s_rva): New declaration.
* write.c (fixup_segment): Don't throw away rva relocs.
* config/tc-arm.c (md_apply_fix, tc_gen_reloc): Handle RVA.
* config/tc-i386.c (tc_coff_fix2type): Handle RVA.
* config/tc-i386.h (TC_COUNT_RELOC): Remember RVAs.
(TC_RVA_RELOC): New definition.

29 years ago * remote.c (remote_wait): Revert 19 July my change which should be
Kung Hsu [Tue, 29 Aug 1995 00:11:16 +0000 (00:11 +0000)]
    * remote.c (remote_wait): Revert 19 July my change which should be
        customer specific.

29 years ago * gdb.base/callfuncs.exp (do_function_calls): Add alpha-dec-osf2*
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".

29 years ago * config/tc-arm.c (do_swi): Allow optional leading '#'.
David Edelsohn [Mon, 28 Aug 1995 00:45:44 +0000 (00:45 +0000)]
* config/tc-arm.c (do_swi): Allow optional leading '#'.

29 years ago * config/te-delta.h: Include obj-format.h.
Ian Lance Taylor [Sun, 27 Aug 1995 01:18:28 +0000 (01:18 +0000)]
* config/te-delta.h: Include obj-format.h.
* config/te-sco386.h: Likewise.
* config/te-sysv32.h: Likewise.

29 years ago * app.c (scrub_file): Remove.
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)

29 years ago * gdb.base/setvar.c, gdb.base/setvar.exp: Add new tests for
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.

29 years ago * mdebugread.c (parse_symbol): Handle sh.value of zero for enums.
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.

29 years agoOnly build PowerPC simulator if target is powerpc*-*-eabisim
Michael Meissner [Fri, 25 Aug 1995 16:05:32 +0000 (16:05 +0000)]
Only build PowerPC simulator if target is powerpc*-*-eabisim

29 years ago * gasp.c (as_abort): New function.
Ian Lance Taylor [Fri, 25 Aug 1995 02:00:39 +0000 (02:00 +0000)]
* gasp.c (as_abort): New function.
* sb.c (sb_build): Revert yesterday's patch.

29 years ago * Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
Ian Lance Taylor [Fri, 25 Aug 1995 01:51:14 +0000 (01:51 +0000)]
* Makefile.in (gasp.new): Depend upon ../libiberty/libiberty.a.
Just link against libiberty, not against $(LIBS).

29 years agoAdd powerpc*-eabisim support.
Michael Meissner [Thu, 24 Aug 1995 18:57:12 +0000 (18:57 +0000)]
Add powerpc*-eabisim support.

29 years ago * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
Ian Lance Taylor [Wed, 23 Aug 1995 23:50:35 +0000 (23:50 +0000)]
* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
expression to avoid compiler bug on HP-UX 9.01.

29 years ago * sb.c (sb_build): Undefine abort before calling it, since gasp
Ian Lance Taylor [Wed, 23 Aug 1995 22:21:51 +0000 (22:21 +0000)]
* sb.c (sb_build): Undefine abort before calling it, since gasp
does not provide as_abort.

29 years agoAdd PowerPC simulator from Andrew Cagney <cagney@highland.com.au>
Michael Meissner [Wed, 23 Aug 1995 21:06:36 +0000 (21:06 +0000)]
Add PowerPC simulator from Andrew Cagney <cagney@highland.com.au>

29 years agoLink in PowerPC simulator.
Michael Meissner [Wed, 23 Aug 1995 20:59:06 +0000 (20:59 +0000)]
Link in PowerPC simulator.

29 years ago * coffcode.h (pe_value): Unansify.
Steve Chamberlain [Wed, 23 Aug 1995 16:51:07 +0000 (16:51 +0000)]
* coffcode.h (pe_value): Unansify.

29 years agoAdd support for -disable switches in PowerPC multilibs
Michael Meissner [Wed, 23 Aug 1995 15:54:13 +0000 (15:54 +0000)]
Add support for -disable switches in PowerPC multilibs

29 years agoFix -mlittle/-mbig so that it really does override the default endianess
Michael Meissner [Wed, 23 Aug 1995 14:59:16 +0000 (14:59 +0000)]
Fix -mlittle/-mbig so that it really does override the default endianess

29 years ago * gdb.base/scope.exp: xfail 'scope0.c'::filelocal_bss before run
Jeff Law [Tue, 22 Aug 1995 19:09:39 +0000 (19:09 +0000)]
    * gdb.base/scope.exp: xfail 'scope0.c'::filelocal_bss before run
        test for PRO targets.

29 years ago * Makefile.in (install): Remove "brokensed" hack, unnecessary now
Jeff Law [Tue, 22 Aug 1995 17:01:20 +0000 (17:01 +0000)]
    * Makefile.in (install): Remove "brokensed" hack, unnecessary now
        that we're using autoconf.

29 years agoTue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Tue, 22 Aug 1995 14:38:01 +0000 (14:38 +0000)]
Tue Aug 22 07:36:58 1995  steve chamberlain  <sac@slash.cygnus.com>

* scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
* emulparams/armpe.sh: Run PE script.

29 years ago * tm-hppa.h (EXTRACT_RETURN_VALUE): Fix for FP values.
Jeff Law [Tue, 22 Aug 1995 09:52:33 +0000 (09:52 +0000)]
* tm-hppa.h (EXTRACT_RETURN_VALUE): Fix for FP values.

29 years ago * tm-hppa.h (STORE_RETURN_VALUE): Fix to work with -msoft-float
Jeff Law [Tue, 22 Aug 1995 08:13:34 +0000 (08:13 +0000)]
* tm-hppa.h (STORE_RETURN_VALUE): Fix to work with -msoft-float
calling conventions too.  Use the TYPE of the return value, not
its length to determine if it should also be copied into the
floating point registers.

29 years ago * tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete. Causes more
Jeff Law [Tue, 22 Aug 1995 08:04:15 +0000 (08:04 +0000)]
* tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete.  Causes more
problems than it fixes.
* hppa-tdep.c (skip_prologue): If we exit the main loop without
finding all the register saves, retry again without looking for
the registers we could not find the first time.

Better fix for 7768.

29 years agonew routine xstrerror for better vms error handling; gas fixed to use it
Ken Raeburn [Tue, 22 Aug 1995 07:34:00 +0000 (07:34 +0000)]
new routine xstrerror for better vms error handling; gas fixed to use it

29 years agovms changes
Ken Raeburn [Tue, 22 Aug 1995 07:06:13 +0000 (07:06 +0000)]
vms changes

29 years agoturn on -O2
Steve Chamberlain [Tue, 22 Aug 1995 07:04:48 +0000 (07:04 +0000)]
turn on -O2

29 years ago (coff_write_object_contents): Initialze link_data if not set.
Steve Chamberlain [Tue, 22 Aug 1995 06:54:07 +0000 (06:54 +0000)]
(coff_write_object_contents): Initialze link_data if not set.

29 years agoOpps. Fix thinko in last change.
Jeff Law [Tue, 22 Aug 1995 06:51:47 +0000 (06:51 +0000)]
Opps.  Fix thinko in last change.

29 years ago * gdb.base/funcargs.exp: Avoid ever setting more than 8
Jeff Law [Tue, 22 Aug 1995 06:36:40 +0000 (06:36 +0000)]
* gdb.base/funcargs.exp: Avoid ever setting more than 8
breakpoints in the inferior at any given time by making
two groups of breakpoints for call2*, call6* and call7*
tests.

29 years ago * hppa-tdep.c (frame_chain_valid): Handle systems where "$START$"
Jeff Law [Tue, 22 Aug 1995 05:43:30 +0000 (05:43 +0000)]
* hppa-tdep.c (frame_chain_valid): Handle systems where "$START$"
calls "main" directly.
(skip_prologue): Always assume arguments were saved into the stack
since GCC will do so without setting the magic Args_Saved bit in
the unwind descriptor.

29 years agoMon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Tue, 22 Aug 1995 01:54:56 +0000 (01:54 +0000)]
Mon Aug 21 18:30:42 1995  steve chamberlain  <sac@slash.cygnus.com>

* ldmain.c (main): Remove PE stuff.
* lexsup.c (options): Load more PE options.
(set_pe_value): New function.

29 years ago * dlltool.c (options): image-base is a synonym for rva.
Steve Chamberlain [Tue, 22 Aug 1995 01:42:11 +0000 (01:42 +0000)]
* dlltool.c (options): image-base is a synonym for rva.

29 years ago * ldmain.c (main): Remove PE stuff.
Steve Chamberlain [Tue, 22 Aug 1995 01:32:11 +0000 (01:32 +0000)]
* ldmain.c (main): Remove PE stuff.
* lexsup.c (options): Load more PE options.
(set_pe_value): New function.

29 years ago * libcoff-in.h (coff_data_type.link_info): New field.
Steve Chamberlain [Tue, 22 Aug 1995 01:21:52 +0000 (01:21 +0000)]
* libcoff-in.h (coff_data_type.link_info): New field.

29 years ago * internal.h: (internal_filehdr): Moved PE stuff into
Steve Chamberlain [Tue, 22 Aug 1995 01:13:43 +0000 (01:13 +0000)]
* internal.h: (internal_filehdr): Moved PE stuff into
internal_extra_pe_filehdr.
(internal_aouthdr): Moved PE stuff into
interanl_extra_pe_aouthdr.

* bfdlink.h (struct bfd_link_info): Remove PE stuff.

29 years agoMon Aug 21 17:49:28 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Tue, 22 Aug 1995 01:02:23 +0000 (01:02 +0000)]
Mon Aug 21 17:49:28 1995  steve chamberlain  <sac@slash.cygnus.com>

* bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
(bfd_link_pe_info_dval): New
(bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
* bfd-in2.h: rebuilt.
* bfd.c (NT_subsystem, NT_stack_heap): Deleted.
* coffcode.h (pe_value): New function.
(fill_pe_header_info): New function.
(coff_write_object_contents): Use new function.
* cofflink.c (coff_final_link_info): Remove pe randomness.
(dores_com): Update info in bfd_link_pe_info_dval.
(process_embedded_commands): Use the bfd_link_pe_info_dval.
(_bfd_coff_final_link): Remove PE stuff, initialize
coff_data->link_info.
* coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
(coff_swap_scnhdr_out): Use real imagebase.
* libcoff (coff_data_type.link_info): New field.

29 years ago * m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
Ian Lance Taylor [Mon, 21 Aug 1995 21:34:54 +0000 (21:34 +0000)]
* m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
and likewise for the other branches.  Add bhs as an alias for bcc,
and likewise for the size variants.  Add dbhs as an alias for
dbcc.

29 years ago * as.c (parse_args): Accept --defsym SYM=VALUE.
Ian Lance Taylor [Mon, 21 Aug 1995 21:18:57 +0000 (21:18 +0000)]
* as.c (parse_args): Accept --defsym SYM=VALUE.
* doc/as.texinfo, doc/as.1: Document --defsym.

29 years ago * read.c (read_a_source_file): In MRI mode, don't end the
Ian Lance Taylor [Mon, 21 Aug 1995 21:05:06 +0000 (21:05 +0000)]
* read.c (read_a_source_file): In MRI mode, don't end the
statement inside a quotation.
(s_space): Don't warn about a zero repeat count in MRI mode.
* config/tc-m68k.c (crack_operand): In MRI mode, don't count
parentheses inside quotes.
(md_assemble): In MRI mode, anything after the operands field is a
comment.
(parse_mri_control_operand): Adjust start and stop to remove
spaces.
(s_mri_for): Likewise.

29 years ago * app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or
Ian Lance Taylor [Mon, 21 Aug 1995 21:03:50 +0000 (21:03 +0000)]
* app.c (do_scrub_next_char): If LEX_IS_STRINGQUOTE or
LEX_IS_ONECHAR_QUOTE is seen in state 10, preserve one space.

29 years ago * remote-udi.c (udi_wait): Mask off high bits of stop reason.
Kung Hsu [Mon, 21 Aug 1995 18:56:04 +0000 (18:56 +0000)]
* remote-udi.c (udi_wait): Mask off high bits of stop reason.
* remote-udi.c (fetch_register): For unfetchable regs, pretend it's
done. Fix a bug.

29 years ago * gas/macros/*: New tests for macros.
Ian Lance Taylor [Mon, 21 Aug 1995 18:45:08 +0000 (18:45 +0000)]
* gas/macros/*: New tests for macros.

29 years ago * gasp/pl3.out: Update for changes in commented source output when
Ian Lance Taylor [Mon, 21 Aug 1995 18:42:09 +0000 (18:42 +0000)]
* gasp/pl3.out: Update for changes in commented source output when
LOCAL is used.

29 years ago * doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
Ian Lance Taylor [Mon, 21 Aug 1995 18:37:10 +0000 (18:37 +0000)]
* doc/as.texinfo: Document irp, irpc, macro, and rept. MRI mode
now supports macros, ifc, ifnc, irp, irpc, rept, and endr, without
using gasp.

29 years ago Add support for macros.
Ian Lance Taylor [Mon, 21 Aug 1995 18:35:11 +0000 (18:35 +0000)]
Add support for macros.
* as.c: Include sb.h and macro.h.
(max_macro_next): New global variable.
(main): Call macro_init.
(macro_expr): New static function.
* as.h (max_macro_nest): Declare.
* read.c (line_label): Rename from mri_line_label.  Change all
uses.
(potable): Add exitm, irp, irpc, macro, mexit, rept.
(read_a_source_file): Always clear line_label at the start of a
line, not just when flag_mri or LABELS_WITHOUT_COLONS.  Fixup
MRI/LABELS_WITHOUT_COLONS handling.  In MRI mode, permit label:
equ val.  Set line_label when calling colon.  In MRI mode, a
leading '.' does not imply a pseudo-op.  Check for macro expansion
before calling md_assemble.
(s_irp): New function.
(get_line_sb): New static function.
(s_macro): New function.
(s_mexit): New function.
(s_rept): New function.
* read.h (line_label): Rename from mri_line_label.
(s_irp, s_rept): Declare.
(s_macro, s_mexit): Declare.
* input-scrub.c: Include sb.h.
(sb_index, from_sb): New static variables.
(macro_nest): New static variable.
(struct input_save): Add sb_index and from_sb fields.  Change
next_saved_file field to be struct input_save *.
(next_saved_file): Changed to be struct input_save *.
(input_scrub_push): Change to return type struct input_save *.
Save sb_index and from_sb.
(input_scrub_pop): Change parameter type to struct input_save *.
Restore sb_index and from_sb.
(input_scrub_include_sb): New function.
(input_scrub_next_buffer): Handle reading from from_sb.
(bump_line_counters): Only increment lines if not using from_sb.
* config/tc-m68k.c (opt_table): Add nest.
(opt_nest): New static function.
* gasp.c: Include sb.h and macro.h.  Move all sb related functions
and definitions to sb.h and sb.c.  Move all macro related
functions and definitions to macro.h and macro.c.
* sb.h, sb.c: New files, extracted from gasp.c.
* macro.h, macro.c: Likewise.
* Makefile.in (OBJS): Add sb.o and macro.o
(GASPOBJS): Define.
(gasp.new): Depend upon $(GASPOBJS).  Use $(GASPOBJS) to link.
(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
(gasp.o): Depend upon sb.h and macro.h.
(sb.o): New target.
(macro.o): New target.
(as.o): Depend upon sb.h and macro.h.
(input-scrub.o): Depend upon sb.h.
(read.o): Depend upon sb.h and macro.h.

29 years ago * app.c (do_scrub_begin): In MRI mode, set lex of ' to
Ian Lance Taylor [Mon, 21 Aug 1995 18:19:21 +0000 (18:19 +0000)]
* app.c (do_scrub_begin): In MRI mode, set lex of ' to
LEX_IS_STRINGQUOTE.

29 years ago * cond.c (get_mri_string): New static function.
Ian Lance Taylor [Mon, 21 Aug 1995 18:18:56 +0000 (18:18 +0000)]
* cond.c (get_mri_string): New static function.
(s_ifc): New function.

29 years agoAllow @HA, @L, and @H on constant expressions.
Michael Meissner [Mon, 21 Aug 1995 17:47:01 +0000 (17:47 +0000)]
Allow @HA, @L, and @H on constant expressions.

29 years ago * linker.c (link_action): If an undefined reference follows an
Ian Lance Taylor [Mon, 21 Aug 1995 15:12:34 +0000 (15:12 +0000)]
* linker.c (link_action): If an undefined reference follows an
undefined weak reference, change the type to undefined.
* elflink.h (elf_link_add_archive_symbols): Don't record an
undefined weak reference as defined, in case it turns into a real
undefined reference later in the same archive.

29 years ago * Makefile.in (install): Remove "brokensed" hack, unnecessary now
Jeff Law [Mon, 21 Aug 1995 06:49:42 +0000 (06:49 +0000)]
* Makefile.in (install): Remove "brokensed" hack, unnecessary now
that we're using autoconf.
(uninstall): Likewise.

29 years ago * config/tc-arm.c (md_reloc_size): Add const to declaration.
Jim Wilson [Sun, 20 Aug 1995 22:56:02 +0000 (22:56 +0000)]
* config/tc-arm.c (md_reloc_size): Add const to declaration.

29 years agoSun Aug 20 09:59:00 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Sun, 20 Aug 1995 17:01:27 +0000 (17:01 +0000)]
Sun Aug 20 09:59:00 1995  steve chamberlain  <sac@slash.cygnus.com>

Modified to generate archives and objects rather than .s files.
* dlltool.c (run) New function.
  (gen_exp_file, gen_lib_file): Use run.
(workout_prefix): New.
(usage): Document new options.
(main): Parse new options.

29 years ago * gdb.base/funcargs.exp: Fix typos introduced by Aug 15 change.
Peter Schauer [Sun, 20 Aug 1995 14:03:45 +0000 (14:03 +0000)]
* gdb.base/funcargs.exp:  Fix typos introduced by Aug 15 change.
* gdb.base/callfuncs.c (main):  Use struct_val1 to inhibit xlc
from optimizing it away.
* gdb.base/callfuncs.exp:  Remove rs6000-*-* xfails for
"call inferior func with struct".

29 years agoWire up the breakpoint window so that it works. Also, fix a typo that
Michael Tiemann [Sun, 20 Aug 1995 00:26:54 +0000 (00:26 +0000)]
Wire up the breakpoint window so that it works.  Also, fix a typo that
kept the breakpoints in the source window from updating when enabled or
disabled.

29 years ago * gasp/gasp.exp (gasp_test): Call prune_system_crud on the output
Ian Lance Taylor [Sat, 19 Aug 1995 21:37:43 +0000 (21:37 +0000)]
* gasp/gasp.exp (gasp_test): Call prune_system_crud on the output
of diff.
* lib/gas-defs.exp: Define prune_system_crud if it is not already
defined.

29 years ago * gdbtypes.c (recursive_dump_type): Add dont_print_type_obstack
Peter Schauer [Sat, 19 Aug 1995 08:21:23 +0000 (08:21 +0000)]
* gdbtypes.c (recursive_dump_type):  Add dont_print_type_obstack
to inhibit infinite recursion when printing aggregate types.

29 years ago * dcache.c (dcache_write_line): Write dirty lines right.
Steve Chamberlain [Sat, 19 Aug 1995 00:54:12 +0000 (00:54 +0000)]
* dcache.c (dcache_write_line): Write dirty lines right.

29 years ago * read.c (s_include): In MRI mode, don't expect quotes around the
Ian Lance Taylor [Fri, 18 Aug 1995 15:15:28 +0000 (15:15 +0000)]
* read.c (s_include): In MRI mode, don't expect quotes around the
file name.
* listing.c (listing_title): Don't require the title to be quoted.

29 years ago * gasp/mri/*.out: Use ;, not !, for the comment character.
Ian Lance Taylor [Fri, 18 Aug 1995 15:10:35 +0000 (15:10 +0000)]
* gasp/mri/*.out: Use ;, not !, for the comment character.

29 years ago * gasp.c (include_print_where_line): Always subtract 1 from
Ian Lance Taylor [Fri, 18 Aug 1995 15:09:57 +0000 (15:09 +0000)]
* gasp.c (include_print_where_line): Always subtract 1 from
linecount before printing it.
(process_file): In MRI mode, lines beginning with '*' or '!' are
comments.
(do_reg): In MRI mode, don't require parentheses.
(do_include): In MRI mode, don't requires quotes.  If the file can
not be found in the include path, try opening it in the current
directory.  Print the file name correctly in the error message.
(chartype_init): In MRI mode, set FIRSTBIT for '.'.
(main): Set comment_char to ';' when entering MRI mode.

29 years ago * config/tc-m68k.c: Include subsegs.h.
Ian Lance Taylor [Fri, 18 Aug 1995 15:02:56 +0000 (15:02 +0000)]
* config/tc-m68k.c: Include subsegs.h.
(m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
(md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
You can't portably store negative numbers in a char.

29 years ago * sparc-tdep.c (isbranch): Fix typo which caused wrong
Peter Schauer [Fri, 18 Aug 1995 13:27:21 +0000 (13:27 +0000)]
* sparc-tdep.c (isbranch):  Fix typo which caused wrong
target addresses for annulled branches.

29 years agouse "ar ts" for RANLIB on hp300
Ken Raeburn [Fri, 18 Aug 1995 01:51:53 +0000 (01:51 +0000)]
use "ar ts" for RANLIB on hp300

29 years agoThu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Thu, 17 Aug 1995 22:53:56 +0000 (22:53 +0000)]
Thu Aug 17 13:35:49 1995  steve chamberlain  <sac@slash.cygnus.com>

* emultempl/{armpe.sc, i386pe.sc}: Deleted.
* emultempl/pe.sc: New file performs generic PE support and sorts
archive members.
* emulparams/{armpe.sh,i386pe.sh}: Use new file.
* scripttempl/{armpe.sc, i386pe.sc}: Deleted
* scripttempl/pe.sc: New.
* Makefile.in: Use new files.
b

29 years ago * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
David Edelsohn [Thu, 17 Aug 1995 21:49:40 +0000 (21:49 +0000)]
* scripttempl/h8500s.sc (.rdata): All data must go in data segment.
(.strings,.ctors,.dtors): Likewise.

29 years ago* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field to PTR, not
Ken Raeburn [Thu, 17 Aug 1995 21:00:14 +0000 (21:00 +0000)]
* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field to PTR, not
coff_section_tdata pointer, since PTR is the real type of the field.
* cofflink.c (_bfd_coff_read_internal_relocs): Ditto.

29 years ago* configure: Add Makefile.tem to list of files to remove in trap handler.
Ken Raeburn [Thu, 17 Aug 1995 20:04:38 +0000 (20:04 +0000)]
* configure: Add Makefile.tem to list of files to remove in trap handler.

29 years ago Add support for linking SPARC SunOS PIC compiled code.
Ian Lance Taylor [Thu, 17 Aug 1995 19:30:46 +0000 (19:30 +0000)]
Add support for linking SPARC SunOS PIC compiled code.
* sunos.c (SPARC_PLT_PIC_WORD0): Define.
(SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
(struct sunos_link_hash_entry): Add got_offset and plt_offset
fields.
(struct sunos_link_hash_table): Add dynamic_sections_created and
dynamic_sections_needed fields.
(sunos_link_hash_newfunc): Initialize new fields.
(sunos_link_hash_table_create): Initialize new fields.
(sunos_create_dynamic_sections): New static function, broken out
of sunos_add_dynamic_symbols.
(sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
(sunos_add_one_symbol): Call sunos_create_dynamic_sections.
(bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
checking whether we need to set up the dynamic link information.
Define __GLOBAL_OFFSET_TABLE if anything referred to it.
(sunos_scan_std_relocs): Call sunos_create_dynamic_sections.  Use
plt_offset field; only put symbol in .plt if it is not defined by
a regular object.
(sunos_scan_ext_relocs): Likewise.  Handle base relative relocs.
(sunos_scan_dynamic_symbol): Store dynobj in local variable.
(sunos_write_dynamic_symbol): Check plt_offset rather than
checking whether symbol is in .plt section.  If symbol is defined
in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
add a JMP_TBL reloc.
(sunos_check_dynamic_reloc): Add contents and relocationp fields.
If plt_offset is set, redirect relocation to PLT.  If this is a
base relative reloc, redirect relocation to GOT.  Check
dynamic_sections_needed field rather than whether dynobj is set.
(sunos_finish_dynamic_link): Check dynamic_sections_needed field
rather than whether dynobj is set.  Don't die if .need and .rules
sections were not created.
* aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
PC relative.  Mark PC10 complain_overflow_dont.  Mark PC22 and
JMP_TBL complain_overflow_signed.
(NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
(aout_link_input_section_std): Call check_dynamic_reloc for all
relocs.  Pass contents and &relocation.  Don't warn about an
undefined symbol until check_dynamic_reloc has been called.  Don't
warn about an undefined symbol for a base relative reloc.
(aout_link_input_section_ext): Likewise.  For a base relative
reloc, always treat r_index as an index into the symbol table.
* libaout.h (struct aout_backend_data): Add contents and
relocation argument to check_dynamic_reloc entry point.
(struct aoutdata): Add local_got_offsets field.

29 years ago * config/pa/tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Define.
Jeff Law [Thu, 17 Aug 1995 04:01:24 +0000 (04:01 +0000)]
* config/pa/tm-hppa.h (PROLOGUE_FIRSTLINE_OVERLAP): Define.

Yes, this dusty old macro is really the right thing to do when you've
got a port which performs scheduling on prologues...  Fixes latest
mentor gdb PR.

29 years ago * scripttempl/armpe.sc: Always start code at 0x401000, even
Steve Chamberlain [Wed, 16 Aug 1995 23:29:18 +0000 (23:29 +0000)]
* scripttempl/armpe.sc: Always start code at 0x401000, even

29 years ago * dlltool.c (gen_exp_file): Fix RVA handling.
Steve Chamberlain [Wed, 16 Aug 1995 23:28:18 +0000 (23:28 +0000)]
* dlltool.c (gen_exp_file): Fix RVA handling.
(rva_s, rva_n): Delete.

29 years ago * binutils-all/nm.exp: Add setup_xfail for mips*-sony-bsd* for
Ian Lance Taylor [Wed, 16 Aug 1995 22:38:42 +0000 (22:38 +0000)]
* binutils-all/nm.exp: Add setup_xfail for mips*-sony-bsd* for
tests which fail on ECOFF targets.

29 years ago* as.h (alloca): Use void* declaration on HP/UX.
Ken Raeburn [Wed, 16 Aug 1995 22:15:28 +0000 (22:15 +0000)]
* as.h (alloca): Use void* declaration on HP/UX.

29 years ago * gas/mri/mri.exp: Change hppa*-*-* expected failures to only
Ian Lance Taylor [Wed, 16 Aug 1995 21:57:37 +0000 (21:57 +0000)]
* gas/mri/mri.exp: Change hppa*-*-* expected failures to only
expect failure for targets which use SOM.

29 years ago * lib/gas-defs.exp (run_dump_test): If the program to run does not
Ian Lance Taylor [Wed, 16 Aug 1995 21:13:52 +0000 (21:13 +0000)]
* lib/gas-defs.exp (run_dump_test): If the program to run does not
        exist, mark the test as untested.

29 years ago * binutils-all/objcopy.exp: Change i*86-*-linux xfail for simple
Ian Lance Taylor [Wed, 16 Aug 1995 20:54:40 +0000 (20:54 +0000)]
* binutils-all/objcopy.exp: Change i*86-*-linux xfail for simple
copy test to check for i*86-*-linuxaout* instead.

29 years ago * gas/mri/mri.exp: Add setup_xfail for i960 b.out targets for
Ian Lance Taylor [Wed, 16 Aug 1995 20:43:22 +0000 (20:43 +0000)]
* gas/mri/mri.exp: Add setup_xfail for i960 b.out targets for
common test.

29 years ago * lib/gas-defs.exp (run_dump_test): Name the output file dump.o,
Ian Lance Taylor [Wed, 16 Aug 1995 20:42:15 +0000 (20:42 +0000)]
* lib/gas-defs.exp (run_dump_test): Name the output file dump.o,
rather than using an implicit a.out.

29 years agoWed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
Steve Chamberlain [Wed, 16 Aug 1995 20:34:44 +0000 (20:34 +0000)]
Wed Aug 16 11:38:59 1995  steve chamberlain  <sac@slash.cygnus.com>

* scripttempl/armpe.sc: Always start code at 0x401000, even
if -r.
* ldwrite.c (strdup): New extern declaration.
* ldgram.y (atype): New rule to clarify type parsing.
* ldlang.c (init_os): Remove commented out code.
(lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
unless told not to by the link script.

29 years ago * config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
Ian Lance Taylor [Wed, 16 Aug 1995 20:21:49 +0000 (20:21 +0000)]
* config/tc-sparc.c (tc_gen_reloc): If PIC, only change PCREL_S2
to WPLT30 for an undefined or external symbol.  Don't consider
PC10 or PC22 to be a PC relative reloc when choosing between
fx_addnumber and fx_offset.

29 years ago * gas/mri/for.s: Add nop to round out to four byte boundary.
Ian Lance Taylor [Wed, 16 Aug 1995 20:17:29 +0000 (20:17 +0000)]
* gas/mri/for.s: Add nop to round out to four byte boundary.
* gas/mri/repeat.s: Likewise.
* gas/mri/while.s: Likewise.
* gas/mri/for.d: Expected added nop.
* gas/mri/repeat.d: Likewise.
* gas/mri/while.d: Likewise.

29 years ago * config/tc-z8k.c (md_number_to_chars): Don't do it here, call
Ian Lance Taylor [Wed, 16 Aug 1995 20:05:54 +0000 (20:05 +0000)]
* config/tc-z8k.c (md_number_to_chars): Don't do it here, call
number_to_chars_bigendian.
* config/tc-z8k.h (TARGET_BYTES_BIG_ENDIAN): Define.

29 years ago * configure.in: Only configure gdb.chill for particular targets.
Stan Shebs [Wed, 16 Aug 1995 19:03:10 +0000 (19:03 +0000)]
* configure.in: Only configure gdb.chill for particular targets.

29 years ago * ldlang.c (lang_set_startof): New static function.
Ian Lance Taylor [Wed, 16 Aug 1995 17:18:59 +0000 (17:18 +0000)]
* ldlang.c (lang_set_startof): New static function.
(lang_process): Call it.

29 years ago * expr.c (operand): Add support for .startof. and .sizeof. by
Ian Lance Taylor [Wed, 16 Aug 1995 17:18:00 +0000 (17:18 +0000)]
* expr.c (operand): Add support for .startof. and .sizeof. by
using magic symbol names which the linker will recognize
specially.
* doc/as.texinfo: Take out note that .startof. and .sizeof. are
not supported.

29 years ago * gas/mips/*.d: Change all test names to say MIPS.
Ian Lance Taylor [Wed, 16 Aug 1995 16:28:00 +0000 (16:28 +0000)]
* gas/mips/*.d: Change all test names to say MIPS.

29 years ago * ldgram.y: Tweak casesymlist to avoid bison errors.
Ian Lance Taylor [Wed, 16 Aug 1995 16:26:57 +0000 (16:26 +0000)]
* ldgram.y: Tweak casesymlist to avoid bison errors.

29 years ago * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
Ian Lance Taylor [Wed, 16 Aug 1995 15:50:27 +0000 (15:50 +0000)]
* lexsup.c (parse_args): Accept -h as a synonym for --soname, for
Solaris compatibility.

29 years ago * gdb.base/Makefile.in: Add action to .c.o transformation
Fred Fish [Wed, 16 Aug 1995 07:37:19 +0000 (07:37 +0000)]
* gdb.base/Makefile.in:  Add action to .c.o transformation
rule that generates a .ci file for each .o file and remove
explicit .c.o rules except for callfuncs.o.
* gdb.c++/Makefile.in:  Add .cc.o transformation rule that
generates a .ci file for each .o file and remove explicit
.cc.o rules.
(clean): Remove *.tmp *.ci files.
(EXECUTABLES): Remove templ-info.exp.
* gdb.base/compiler.c: New file.
* gdb.c++/compiler.cc: New file
* gdb.base/scope.exp: Source gdb.base/scope.ci.
Change rs6000-*-* xfail for
"print 'scope0.c'::filelocal_ro" and
"print 'scope1.c'::filelocal" and
"print 'scope1.c'::filelocal_bss" and
"print 'scope1.c'::filelocal_ro" and
"print 'scope1.c'::foo::funclocal" and
"print 'scope1.c'::foo::funclocal_ro" and
"print 'scope1.c'::bar::funclocal" and
"print 'scope0.c'::filelocal_ro" and
"print 'scope1.c'::filelocal at foo" and
"print 'scope1.c'::filelocal_bss at foo" and
"print 'scope1.c'::filelocal_ro at foo" and
"print 'scope1.c'::foo::funclocal at foo" and
"print 'scope1.c'::foo::funclocal_bss at foo" and
"print 'scope1.c'::foo::funclocal_ro at foo" and
"print 'scope1.c'::bar::funclocal at foo" and
"print 'scope0.c'::filelocal_ro" and
"print 'scope1.c'::filelocal" and
"print 'scope1.c'::filelocal_bss" and
"print 'scope1.c'::filelocal_ro" and
"print 'scope1.c'::foo::funclocal" and
"print 'scope1.c'::foo::funclocal_bss" and
"print 'scope1.c'::foo::funclocal_ro" and
"print 'scope1.c'::bar::funclocal" and
"print 'scope1.c'::bar::funclocal_bss"
to only be xfail'd when not compiled with gcc.
Add rs6000-*-* xfail for
"print 'scope0.c'::filelocal_bss before run"
when compiled with gcc.
(test_at_main): Add rs6000-*-* xfail for
"print filelocal_ro in test_at_main"
when compiled with gcc.
* gdb.base/ptype.exp: Source gdb.base/ptype.ci.
  Add rs6000-*-aix* xfail for
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" and
"ptype t_char_array",  not compiled with gcc.
* gdb.base/list.exp (test_list_function):  Add rs6000-*-*
xfail for "list foo (in include file)" when gcc compiled.
* gdb.base/funcargs.exp: Source gdb.base/funcargs.ci
  (integral_args): Add rs6000-*-* xfail for
"run to call0a" if not compiled with gcc.
(unsigned_integral_args): Add rs6000-*-* xfail for
"run to call1a" if not compiled with gcc.
(float_and_integral_args):  Add rs6000-*-* xfail for
"run to call2a" if not compiled with gcc and for
"continue to call2b" for any compiler.
Add rs6000-*-* xfail to
"print f1 after run to call2a" for gcc compiled.
(discard_and_shuffle): Add rs6000-*-* xfail for
"run to call6a".
(shuffle_round_robin): Add rs6000-*-* xfail for
"backtrace from call7a" if not compiled with gcc.
Add rs6000-*-* xfail for
"backtrace from call7b" if compiled with gcc.
(call_after_alloca): Add rs6000-*-* xfail for
"print c in call_after_alloca" and
"print s in call_after_alloca" and
"backtrace from call_after_alloca_subr"
if not compiled with gcc.
(localvars_in_indirect_call): Add rs6000-*-* xfail for
"print c in localvars_in_indirect_call" and
"print c in localvars_in_indirect_call" and
"backtrace in indirectly called function" and
"stepping into indirectly called function"
if not compiled with gcc.
(localvars_after_alloca): Add rs6000-*-* xfail for
"print c after runto localvars_after_alloca" and
"print s after runto localvars_after_alloca" and
"print i after runto localvars_after_alloca" and
"print l after runto localvars_after_alloca"
for all compilers.
* gdb.base/whatis.exp: Source gdb.base/whatis.ci rather
than whatis-info.exp.
* gdb.base/opaque.exp: Source gdb.base/opaque0.ci rather
than opaque-info.exp.
Setup rs6000-*-* xfail for
"ptype on opaque struct pointer (statically)" and
"ptype on opaque struct pointer (dynamically)" when
not compiled with gcc.
* gdb.base/callfuncs.exp: Source gdb.base/callfuncs.ci
rather than callf-info.exp.
(do_function_calls):  Add clear_xfail for rs6000-*-* for
"p t_float_values2(3.14159,float_val2)".  Seems to work
fine there, both with xlc and gcc.  Need to find out what
it is doing right and fix other platforms.
* gdb.base/callfuncs.exp: Add rs6000-*-* xfail for
"call inferior func with struct - returns int",
"call inferior func with struct - returns long",
"call inferior func with struct - returns float",
"call inferior func with struct - returns double",
"call inferior func with struct - returns char *",
but only if not gcc compiled (presumes xlc compiled).
Change rs6000-*-* xfails for
"call inferior func with struct - returns char" and
" call inferior func with struct -  returns short" to only
xfail if not using gcc.
(clean mostlyclean):  Remove *.ci and *.tmp files.
* gdb.c++/templates.exp: Source gdb.c++/templates.ci rather
than templ-info.exp.
* gdb.base/langs.exp:  Source gdb.base/langs.ci.
Add rs6000-*-* xfail for "up to foo in langs.exp"
"up to cppsub_ in langs.exp" and "up to fsub in langs.exp"
  when not gcc compiled.

29 years agoall v2.2 && v2.3 autoconf-generated configure scripts updated to
Jason Molenda [Wed, 16 Aug 1995 04:06:53 +0000 (04:06 +0000)]
all v2.2 && v2.3 autoconf-generated configure scripts updated to
autoconf v2.4 (not a very big change).  fixes PR 7695.

29 years ago * ld-scripts/script.exp: Split script verification into a proc.
Ian Lance Taylor [Tue, 15 Aug 1995 21:37:19 +0000 (21:37 +0000)]
* ld-scripts/script.exp: Split script verification into a proc.
Add simple test of MRI script.
* ld-scripts/scriptm.t: New file.

29 years ago * ldgram.y (YYDEBUG): If not defined, define as 1.
Ian Lance Taylor [Tue, 15 Aug 1995 21:35:46 +0000 (21:35 +0000)]
* ldgram.y (YYDEBUG): If not defined, define as 1.
(CASE, EXTERN, START): New tokens.
(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
(casesymlist): New nonterminal.
(extern_name_list): New nonterminal.
* ldlex.l: Accept lower case trailing base specifiers.  Don't
ignore the first digit when the base is a suffix.  Accept many
EXPRESSION state tokens in MRI state.  Support MRI continuation
lines and MRI semicolon comments.  Accept all MRI keywords in
lower case.  Add CASE, EXTERN, and START MRI keywords.

29 years ago * gas/mri/for.d, gas/mri/for.s: New test.
Ian Lance Taylor [Tue, 15 Aug 1995 19:44:20 +0000 (19:44 +0000)]
* gas/mri/for.d, gas/mri/for.s: New test.
* gas/mri/if.d, gas/mri/if.s: New test.
* gas/mri/repeat.d, gas/mri/repeat.s: New test.
* gas/mri/while.d, gas/mri/while.s: New test.
* gas/mri/mri.exp: Run the new tests.

29 years ago * config/tc-m68k.c (md_pseudo_table): Add MRI structured control
Ian Lance Taylor [Tue, 15 Aug 1995 19:42:47 +0000 (19:42 +0000)]
* config/tc-m68k.c (md_pseudo_table): Add MRI structured control
directives: if, if.b, if.w, if.l, else, else.s, else.l, endi,
break, break.s, break.l, next, next.s, next.l, for, for.b, for.w,
for.l, endf, repeat, until, until.b, until.w, until.l, while,
while.b, while.w, while.l, endw.
(enum mri_control_type): Define.
(struct mri_control_info): Define.
(mri_control_stack): New static variable.
(mri_control_index): New static variable.
(mri_control_label): New static function.
(push_mri_control, pop_mri_control): New static functions.
(parse_mri_condition): New static function.
(parse_mri_control_operand): New static function.
(swap_mri_condition, reverse_mri_condition): New static functions.
(build_mri_control_operand): New static function.
(parse_mri_control_expression): New static function.
(s_mri_if, s_mri_else, s_mri_endi): New static functions.
(s_mri_break, s_mri_next): New static functions.
(s_mri_for, s_mri_endf): New static functions.
(s_mri_repeat, s_mri_until): New static functions.
(s_mri_while, s_mri_endw): New static functions.
* gasp.c (mrikinfo): Remove IF.
* expr.c (get_symbol_end): Accept \001 as part of a name.

29 years ago * remote.c (remote_write_bytes): Chop up large transfers.
Steve Chamberlain [Tue, 15 Aug 1995 14:53:24 +0000 (14:53 +0000)]
* remote.c (remote_write_bytes): Chop up large transfers.

29 years ago* write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL way.
Ken Raeburn [Tue, 15 Aug 1995 01:28:59 +0000 (01:28 +0000)]
* write.c (write_contents): Always do it the BFD_FAST_SECTION_FILL way.
Reformat and reindent that code to GNU standards.
(BFD_FAST_SECTION_FILL): Don't define.

29 years agoDeparture of gcc.patch
Stan Shebs [Tue, 15 Aug 1995 01:10:44 +0000 (01:10 +0000)]
Departure of gcc.patch

29 years ago * gcc.patch: Remove, relevant only to long-ago versions of GCC.
Stan Shebs [Tue, 15 Aug 1995 01:07:54 +0000 (01:07 +0000)]
* gcc.patch: Remove, relevant only to long-ago versions of GCC.