* emultempl/elf32.em (hold_rel): New static variable.
(gld${EMULATION_NAME}_place_orphan): Place readonly sections with
contents whose names begin with ".rel" after hold_rel. Remove the
assertion which checked for unplaced .rel sections. Don't try to
sort the section into place if place->bfd_section is NULL.
(gld${EMULATION_NAME}_place_section): Set hold_rel to the first
section beginning with ".rel".
Thu Mar 2 14:37:57 1995 Bryan Ford <baford@cs.utah.edu>
* binary.c: Add support for reading binary files. Loads the raw
contents of the file into a data section and wraps some symbols
around it. The symbols `_binary_<filename>_start' and
`_binary_<filename>_end' indicate the start and end of the data,
while `_binary_<filename>_size' is an absolute symbol whose value
is the size of the data. <filename> is the name of the binary
input file, with all non-alphanumeric characters converted to
underscores.
* archures.c (bfd_arch_get_compatible): Assume users knows what
they're doing if one of the architectures is bfd_arch_unknown.
Jim Kingdon [Thu, 2 Mar 1995 14:09:31 +0000 (14:09 +0000)]
* gdb.base/Makefile.in: Try compiling callfuncs.c, if that fails try
-DNO_PROTOTYPES.
* gdb.base/callfuncs.c: Control use of prototypes based on
NO_PROTOTYPES, not __STDC.
* gdb.base/callfuncs.exp (do_function_calls): xfail one of the
t_float_values2 tests if prototypes in use.
* gdb.base/callfuncs.c (t_float_values, t_float_values2,
t_double_values): When checking differences against DELTA, check
that difference is within the range (-DELTA,DELTA), not just
(-infinity,DELTA).
David Edelsohn [Thu, 2 Mar 1995 00:18:04 +0000 (00:18 +0000)]
Various changes for sparc64.
* sparc-tdep.c (NUM_SPARC_FPREGS): Define.
(SPARC_INTREG_SIZE): Define.
(*): Use SPARC_INTREG_SIZE instead of REGISTER_RAW_SIZE (intreg)
where appropriate.
(enum branch_type): New value `done_retry'.
(isbranch): Renamed from isannulled. All callers changed.
Support new sparc64 branch insns.
(single_step): Handle done_retry.
(sparc_extract_struct_value_address): Don't assume 4 byte regs.
(get_saved_register): Likewise.
(sparc_push_dummy_frame): Likewise.
(sparc_frame_find_saved_regs): Likewise.
(sparc_pop_frame): Likewise. Don't refer to FPS_REGNUM, CPS_REGNUM,
or PS_REGNUM if not sparc64. sparc64 has 64 fp regs.
(sparc64_extract_struct_value_address): New function.
(dump_ccreg, sparc_print_register_hook): Likewise.
* sp64-tdep.c: Deleted.
* sparc/tm-sp64.h (GDB_TARGET_IS_SPARC64): Define.
(NUM_REGS): Reduce by 2, cle/tle are in the pstate reg.
(CC_HAS_LONG_LONG): Define.
(REGISTER_NAMES): Delete cle/tle and reorganize.
(PS_REGNUM, FPS_REGNUM, CPS_REGNUM): Delete, they're ifdef'd out of
sparc-tdep.c now.
(REGISTER_BYTES): Update.
(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Delete.
(EXTRACT_RETURN_VALUE): Delete. Use definition in tm-sparc.h.
(NO_SINGLE_STEP): Likewise.
* sparc/tm-sparc.h (EXTRACT_VALUE_RETURN): Don't assume 4 byte regs.
* sparc/sp64.mt: Move simulator support ...
* sparc/sp64sim.mt: ... to here.
Jim Kingdon [Wed, 1 Mar 1995 07:18:04 +0000 (07:18 +0000)]
* hppa-tdep.c (pa_print_registers), monitor.c: Use
extract_unsigned_integer and friends, not SWAP_TARGET_AND_HOST.
* defs.h, findvar.c: Move SWAP_TARGET_AND_HOST back to findvar.c.
Rename it to SWAP_FLOATING to make it clear it is no longer for
integers.
Kung Hsu [Wed, 1 Mar 1995 01:39:12 +0000 (01:39 +0000)]
* arc-tdep.c (_initialize_arc_tdep): set tm_print_insn according to
processor.
* remote-arc.c (arc_wait): when a processor stops, stop other two
processors too.
* remote-arc.c (switch_command): switch tm_print_insn.
Kung Hsu [Wed, 1 Mar 1995 00:35:09 +0000 (00:35 +0000)]
* config/mips-gdb.exp (gdb_load): In every test case, we need to do
'file' command firts, then 'target', then 'load', this is due to gdb
target set up.
* config/mips-gdb.exp: Fix a couple regular exp bugs.
Kung Hsu [Wed, 1 Mar 1995 00:01:49 +0000 (00:01 +0000)]
* a29k-tdep.c (get_longjmp_target): add this function, from WRS.
* remote-vx.c: move read_register and write_register out to
target specific files.
* remote-vx29k.c (get_fp_contnets): add this function, from WRS.
Ian Lance Taylor [Tue, 28 Feb 1995 17:54:37 +0000 (17:54 +0000)]
* config.bfd (i[345]86-*-linuxelf*): New target. Use i386-lelf.
(i[345]86-*-gnuelf*): New target. Use i386-gelf.
* config/i386-lelf.mt: New file.
* config/i386-gelf.mt: New file.
Ian Lance Taylor [Tue, 28 Feb 1995 17:44:35 +0000 (17:44 +0000)]
* configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
(i[345]86-*-gnuelf*): New target. Use i386-gelf.
* config/i386-lelf.mt: New file.
* config/i386-gelf.mt: New file.
Jeff Law [Thu, 23 Feb 1995 06:16:35 +0000 (06:16 +0000)]
* config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
add symbol if it's a common symbol (the value of a common symbol
is its size, not a value in the traditional sense).
Per Bothner [Fri, 17 Feb 1995 23:20:29 +0000 (23:20 +0000)]
* parse.c (follow_types): Given (TYPE[]) (i.e. with no length),
create a 0-length array type, and set BOUND_CANNOT_BE_DETERMINED.
* valops.c (value_cast): If a cast like (TYPE[])VALUE (i.e. array
of unknown length) use sizeof(VALUE)/sizeof(TYPE) as the length.
* c-typeprint.c (c_type_print_varspec_suffix): If array length
is 0, print it, but not if upper_bound is BOUND_CANNOT_BE_DETERMINED.
Ian Lance Taylor [Fri, 17 Feb 1995 19:21:24 +0000 (19:21 +0000)]
* objcopy.c (struct section_list): Add fields remove, set_flags,
and flags. Change adjust from boolean to enum.
(remove_sections): Remove static variable.
(sections_removed): New static variable.
(copy_options): Add --set-section-flags.
(copy_usage): Mention --set-section-flags.
(parse_flags): New static function.
(find_section_list): New static function.
(is_strip_symbol): Change return type from int to boolean.
(is_strip_section): New static function.
(filter_symbols): Call is_strip_section.
(copy_object): When adding sections, check for specified flags or
VMA. Call filter_symbols if any sections are being removed.
(setup_section): Use find_section_list function rather than
looking through remove_sections and adjust_sections. Handle
--set-section-flags.
(copy_section): Use find_section_list rather than looking through
remove_sections.
(strip_main): Use find_section_list instead of adding items to
sections_removed.
(copy_main): Use find_section_list instead of adding items to
sections_removed and adjust_sections. Handle --set-section-flags.
* binutils.texi, objcopy.1: Document --set-section-flags.
Ian Lance Taylor [Fri, 17 Feb 1995 18:35:40 +0000 (18:35 +0000)]
* hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>.
Only define SEEK_SET and SEEK_CUR if they are not already defined.
Remove all external function declarations.