Commit Graph

363 Commits

Author SHA1 Message Date
thorpej 75acdbe31a Undo a local change inherited from our local binutils 2.9 that
is not needed in binutils 2.11.
2001-12-16 17:50:56 +00:00
thorpej f6e3c2a3da Make this compile. Still needs work. 2001-12-16 07:26:22 +00:00
thorpej 583334b6ca Avoid infinite #include recursion. 2001-12-16 07:19:42 +00:00
thorpej c17876b1d2 Use the elf64alpha_nbsd linker emulation. 2001-12-16 04:26:17 +00:00
thorpej 7a362db4f3 After discussing the entry point issue w/ rth@redhat.com, add an
elf64alpha_nbsd linker emulation that sets the entry point correctly
for NetBSD.
2001-12-16 04:06:51 +00:00
thorpej e3e5021be2 We need the versions of ASM_DECLARE_FUNCTION_NAME and
ASM_DECLARE_FUNCTION_SIZE from <alpha/alpha.h>, but <netbsd.h>
re-defines them.  So, re-define them again here to what
we need.
2001-12-16 04:02:48 +00:00
thorpej 72a263b8f7 Catch up with other Alpha-ELF changes. This will get cleaned up
even more somtime soon.
2001-12-16 03:09:19 +00:00
thorpej 80ed7d6a42 Clean up a bunch of the ELF support (looks like there was some sort
of merge error), and make the function/object type/size macros work
with the Alpha.
2001-12-16 03:07:59 +00:00
thorpej 85d454e712 Reset ENTRY to __start (this was changed to _start in rev 1.5
of this file in the master FSF sources; I obviously disagree
with the change, since it was apparently made to appease one
particular OS, even though previous binutils releases had been
made with ENTRY=__start, and have brought it up on
binutils@sources.redhat.com).
2001-12-15 17:55:39 +00:00
thorpej f589c8c881 Make sure SET_ASM_OP is undefined; the Alpha assembler uses .set
for assembler options.
2001-12-15 16:49:57 +00:00
thorpej 6ed87749ed Add support for building sh-*-netbsdelf (elf32-sh-big) and
shle-*-netbsdelf (elf32-sh-little).
2001-12-15 02:18:24 +00:00
thorpej 2e065d7d6f Revert previous after further discussion w/ Todd. 2001-12-14 16:54:08 +00:00
thorpej 8937074afd Add an alpha*-*-netbsd* target. 2001-12-14 06:52:06 +00:00
thorpej 7482fd8b1e Remove the case that excludes gdb from alpha-*-netbsd*. 2001-12-14 06:51:08 +00:00
thorpej 6464462736 Remove the code that supports the old PLT format (the code for that
is not present in the master FSF version of this file).
2001-12-14 01:15:08 +00:00
thorpej 7a3fcb2adf Convert unaligned relocs to aligned relocs if they happen to be
aligned.  Corresponds to part of rev 1.21 of this file in the
master FSF sources.

Thanks to Michael Rauch <mrauch@netbsd.org> for fishing out the patch.
2001-12-13 00:21:57 +00:00
thorpej d043d0d483 Revert previous, as was done so in the master FSF sources. The
original problem will be fixed in a forthcoming commit.
2001-12-13 00:18:50 +00:00
thorpej e787c227a0 New NetBSD/sparc GDB native dependent module, cloned from the new
sp64nbsd-nat.c.  (new-toolchain was using the SunOS 4 native module!)
2001-12-11 04:03:55 +00:00
thorpej cef2225213 Correct a warning message. 2001-12-11 03:59:52 +00:00
thorpej 02be0ec37b * Massive overhaul, including sharing the code that supplies registers
with both the inferior and core targets.
* Add support for ELF core files.

Similar changes for 32-bit sparc forthcoming.
2001-12-10 22:43:34 +00:00
thorpej 09c0648a6e Fix a typo in fetch_core_registers() which caused the integer regs
to get scribbled over.
2001-12-10 17:52:51 +00:00
thorpej ef3e78deb9 * Clean up the way registers are supplied to the debugger proper.
* Add support for ELF core files.
2001-12-09 23:30:58 +00:00
thorpej 58b0ec8af6 * Clean up the way registers are provided to the debugger proper.
* Add support for ELF core files.
2001-12-09 23:29:47 +00:00
thorpej ecd90c39d1 Add support for ELF core files. 2001-12-09 23:26:51 +00:00
thorpej 24ae1eda13 Add support for NetBSD-style ELF core file notes. 2001-12-09 23:24:34 +00:00
thorpej e40269dc73 Define HAVE_SSE_REGS. 2001-12-08 07:34:40 +00:00
scw 56e14dc08b Add a fetch_kcore_registers() function.
Pasted from our m68k's gdb.old source.

Fixes an m68k new-toolchain build problem initially reported by
Americ Vincent on tech-toolchain.
2001-12-07 22:12:29 +00:00
jmc 8e9f3cf335 Account for possible alignment space before the exception table pointer when
dealing with the "eh" frames
2001-12-07 02:41:13 +00:00
jmc 39faa9cf1e Make sure the reloc for __EXCEPTION_TABLE__ in the "eh" exception frames is
fully aligned for the given arch. The sparc64 ld can't handle unaligned
relocs.
2001-12-07 02:40:36 +00:00
fredette 3ec17be693 Applied a strength-reduction patch from gcc-current. The patch
is in their revision 1.186, from schwab@suse.de, and said:

  Don't call reg_used_between_p if the insn from BL2 is after
  the insn from BL.

This fixes a cc1 SEGV on sys/dev/scsipi/ch.c rev 1.48 under -O2 or -Os,
seen on m68k and vax.
2001-12-06 18:50:34 +00:00
rafal b28234c5b3 Catch up to the thorpe-o-tiller:
| Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
| headers, namely <link_elf.h>).
|
| Fixes build of cross-gdb.
2001-12-06 12:31:16 +00:00
thorpej 4cac6e8609 * Overhaul:
* move the code that supplies the integer and FP registers into
    separate functions, rather than duplicating the code for the
    ptrace and core file cases.
  * Use supply_register() rather than just copying directly into
    the register array and calling registers_fetched().  This way,
    only the registers actually supplied are marked as valid within
    the debugger.
* Add support for SSE/SSE2 registers via the PT_{GET,SET}XMMREGS
  ptrace(2) request.

(Blocked on the FSF assignment clerk for feeding this back to
the master GDB sources.)
2001-12-06 02:07:03 +00:00
rafal 7919399e4a Since gprof builds on mips platforms happily, add a mips*-*-netbsd* case
that doesn't add it to noconfigdirs.
2001-12-05 05:56:57 +00:00
rafal 49df24a942 Add MIPS (both target and host) support to the NEW_TOOLCHAIN GDB, based on
the 4.17 NetBSD support from our tree.  Original port by Chris Sekiya, with
minimal tweaks and cleanups by me (mainly: build bi-endian by default, add
NetBSD kcore support back).
2001-12-05 05:31:44 +00:00
jmc dad5e6ef6d Add ${CONFIG_SHELL-/bin/sh} in front of all calls to $ac_config_sub.
Makes sure things don't break when execute permission doesn't exist
2001-12-02 04:52:41 +00:00
jmc e134e4e037 Add sh in front of all calls to move-if-change as it might no have execute
permission turned on
2001-12-02 04:10:11 +00:00
thorpej 20241f1e3d Add ser-tcp.o to XDEPFILES so that "target remote host:port" works,
like GDB on other NetBSD hosts.
2001-11-29 08:24:21 +00:00
thorpej 5715014189 Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
headers, namely <link_elf.h>).

Fixes build of cross-gdb.
2001-11-29 08:23:26 +00:00
thorpej 3de3b8c207 - Split some target-dependent stuff for i386-netbsd out of i386nbsd-nat.c
and place it in i386nbsd-tdep.c (new file).
- Move solib.o from TDEPFILES to NATDEPFILES (solib.c requires target
  headers, namely <link_elf.h>).

Fixes build of cross-gdb pointed at i386--netbsd target.
2001-11-29 08:21:48 +00:00
thorpej 87bbb48244 Put solib.o back in NATDEPFILES; gdb really drives me crazy sometimes. 2001-11-23 22:08:20 +00:00
thorpej 06cf8784f0 Add _initialize_armnbsd_nat(), which registers our core file
handlers.  Whee, can fetch registers from core files now.
2001-11-20 02:58:31 +00:00
thorpej 4a4183056d Back out part of previous; needs more thought as to what to do
wrt. 26 vs 32 bit for kcore.
2001-11-20 02:41:14 +00:00
thorpej 5bf7d42e9c Move solib.o to TDEPFILES. Add kcore-nbsd.o to NATDEPFILES, -lkvm
to NAT_CLIBS.
2001-11-19 22:17:42 +00:00
tv f8e299ca7c Merge alpha support from src/gnu/dist. Doesn't necessarily build or work
yet, but enough to get "configure" working at this stage.
2001-11-16 15:58:47 +00:00
tv 811d7372d5 Add a gdb_host=nbsd line for alpha hosts. 2001-11-16 15:55:39 +00:00
bjh21 868c7b3592 sim works for ARM targets again now (since sim/arm/Makefile.in 1.2). 2001-11-16 14:42:19 +00:00
bjh21 a25491ad73 Don't use $< in non-implicit rules. Instead, name the source explicitly.
This should help with PR 14588, and has been submitted upstream.
2001-11-15 15:21:53 +00:00
tv 9f77222197 Move noconfigdirs=gdb for alpha from host to target block.
Set noconfigdirs=sim for ARM NetBSD targets; the ARM sim isn't building.
2001-11-15 01:00:12 +00:00
tv b24bb409e3 Put solib support in native files, as gdb build will bomb on cross otherwise.
Put longjmp target function in the native .h, since it only works natively.
2001-11-15 00:58:29 +00:00
bjh21 7bdb61e034 Fix from Richard Earnshaw to make MASK_RETURN_ADDR work on both 26-bit and
32-bit ARMs, switching at run time.
2001-11-08 20:47:56 +00:00
rafal f317d28b1a New toolchain files for mipseb. Mainly toolchain2netbsd output with some
changes to configuration stuff to (a) recognize `mipseb', and (b) build a
BE-default GCC on mipseb.  gprof and gdb still not done.

WARNING: Binutils 2.11.2 (maybe earlier) changed the MIPS ABI, so any
shared libs built by this toolchain WILL NOT WORK without either a whack
to BFD to fix that or a patch to ld_elf.so to work around it.  I need to
chase the binutils folks on this issue still.

That said, the new toolchain seems to work quite well once the ABI change
is worked around/fixed -- I'm committing from a machine running a user-
land built with the new compiler.
2001-11-08 07:21:53 +00:00
tv f965ecc2a3 Give mips*-*-netbsd* a gdb_target=nbsd line. 2001-11-06 16:32:33 +00:00
scw e994d009cd Add target/rule for m68kelfnbsd.o 2001-11-05 19:50:35 +00:00
scw faad780fa8 Change target_emul for m68*-*-netbsdelf* to m68kelfnbsd. 2001-11-05 19:49:45 +00:00
scw dd0e9d09ce Need "gdbcore.h" for struct core_fns. 2001-11-04 09:22:50 +00:00
scw 8f7fc0baa2 Build kcore and gdbserver support into m68k gdb. 2001-11-04 09:22:07 +00:00
scw 116d3a49bf Define SVR4_SHARED_LIBS when __ELF__ is defined now that most of NetBSD's
m68k ports have made the switch.
2001-11-04 09:20:26 +00:00
bjh21 18f0b6b3bd Move the code for splitting and joining a 26-bit R15 into arm-tdep.c, since
it should be sharable with other 26-bit systems (Linux, RISC iX?).

Also use supply_register(), since it seems to be the modern thing to do.
2001-10-29 20:37:59 +00:00
mrg d59ba42415 disable gdb on alpha host. XXX FIXME 2001-10-28 13:53:37 +00:00
mrg 857523fed5 fix a compile error when _not_:
#if HOST_BITS_PER_WIDE_INT == 32

found building cross powerpc compiler on sparc64 host.
2001-10-26 03:14:55 +00:00
bjh21 b685397e2d When fetching registers, if CPSR is zero (and hence we've just fetched from
a 26-bit target), split R15 into PC and CPSR.  Similarly, when storing
registers, copy CPSR back into R15 if CPSR indicates a 26-bit mode.
This makes single-stepping work correctly on arm26.

Also, when fetching registers, set arm_apcs_32 based on the mode the target's
in.  This removes the need to kludge it manually.  The variable should really
be lost entirely, and arm-tdep.c should look at the mode bits in CPSR, but
the ARM Linux target is horribly broken in this area, and will either need
fixing or working around.
2001-10-25 20:55:13 +00:00
thorpej 98f31d05a1 Apply patch from misc/13927. Also corresponds to master binutils
rev 1.24 of this file.  Binutils log message:

Fri Sep 14 13:56:45 2001 UTC by nickc:
Fix bug emitting R_SPARC_UA32 relocs into shared objects
2001-10-24 21:01:31 +00:00
bjh21 61d38b1990 Fix up the Makefile fragments for GDB on NetBSD/arm so they actually
correspond to the files we've got.
2001-10-24 13:47:52 +00:00
bjh21 8523ec52e8 Replace Mark Brinicombe's NetBSD/arm glue with Richard Earnshaw's, since the
latter is likely to be easier to get into the GNU sources.  I believe the only
functional change is the loss of a working get_longjmp_target().
2001-10-22 21:09:47 +00:00
bjh21 44b78e0623 Correct a comment: NetBSD uses an undefined instruction as a breakpoint,
not a SWI.
2001-10-22 19:07:10 +00:00
bjh21 27c601625f Apply Richard Earnshaw's gdb.step.patch, which adds software single-step
support to GDB ARM targets in general, and make corresponding changes to
NetBSD-specific code.

The first half of this has already been send to gdb-patches by Richard.
The second half is irrelevant to them since they don't yet have NetBSD/arm
support in their tree yet.
2001-10-22 18:58:50 +00:00
bjh21 318cfb14be Add a hack to automatically switch to 26-bit mode when starting up on an
arm26 system.  This could be done better.
2001-10-20 17:44:58 +00:00
bjh21 408ac67774 Oops: Get the test for 32-bitness the right way around. 2001-10-20 17:14:36 +00:00
bjh21 f3da28335b arm_addr_bits_remove: Stop believing in the existence of 26-bit Thumb.
arm_frame_saved_pc: Use arm_addr_bits_remove to strip the retrieved PC.

These seem to make stack backtraces work on arm26.
2001-10-20 16:57:42 +00:00
bjh21 e426602284 Update ARM software single-stepping support to work with GDB 5.0. 2001-10-19 00:53:21 +00:00
bjh21 02e1edfb30 Small changes to make GDB for arm--netbsdelf compile:
1: Don't include arm-convert.o.  arm-convert.s contains only comments, and our
   build procedure can't cope with .s files.
2: Add "check_format" and "core_sniffer" entries to netbsd_core_fns, the same
   as in i386nbsd_nat.c.

The first of these will need toolchain2netbsd to be re-run.  While these
changes let GDB compile, I haven't tried running it on an ARM ELF system yet.
2001-10-18 15:52:57 +00:00
matt 73b0a5ab88 disable minmax_arithsi pattern (from Richard Earnshaw). 2001-10-15 20:54:06 +00:00
bjh21 59ba87fb54 Add an entry for NetBSD/arm. 2001-10-08 22:47:31 +00:00
thorpej 55a63fe9b4 Add a cast to a chunk of code already marked as broken in the main
GDB sources so that it avoids a warning on LP64 systems.
2001-10-05 22:59:55 +00:00
thorpej ff05390aba Cast ints to u_longs before casting to char *. Avoids warning on
LP64 platforms.
2001-10-05 22:55:14 +00:00
thorpej ff5464ee1e Cast ints to u_longs before casting to void *. Avoids warning on
LP64 platforms.
2001-10-05 22:00:23 +00:00
thorpej 882fbe6d23 Need <stdlib.h> for getenv() protoype (to avoid warning on LP64).
XXX This patch probably isn't right, but I'm not interested in
detangling the GNU include file nightmare right now.
2001-10-05 18:48:01 +00:00
thorpej 28a8ddfdd3 Need <stdlib.h> for malloc() protoype (to avoid warning on LP64).
XXX This patch probably isn't right, but I'm not interested in
detangling the GNU include file nightmare right now.
2001-10-05 18:47:42 +00:00
thorpej c3aaaae7a0 Provide an extern decl for strlen() all the time, not just if __alpha__
(so this builds on sparc64).  XXX Why we don't just use <string.h> is
beyond me...
2001-10-05 07:38:22 +00:00
thorpej 4e3296004c Need <string.h> for memset()/memcpy(). 2001-10-05 07:35:04 +00:00
thorpej 044932d6cc Need <string.h> when building the exception handler stuff on LP64
systems (like sparc64).
2001-10-05 07:04:04 +00:00
rafal eff7f464bc Pick up warning fixes from rev 1.115 of bintutils cvs. Part of the following
change, though I'm only picking up elf32-mips.c here.

2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>

        * elfxx-ia64.c: Fix compile time warning messages.
        * coff-mcore.c: Fix compile time warning messages.
        * coff-ppc.c: Fix compile time warning messages.
        * coffcode.h: Fix compile time warning messages.
        * elf32-mips.c: Fix compile time warning messages.
        * elf64-alpha.c: Fix compile time warning messages.
        * libbfd.c: Fix compile time warning messages.
        * bfd-in2.h: Regenerate.
2001-10-04 04:03:50 +00:00
wiz 5554debffd Add a missing va_end. 2001-09-24 14:33:50 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
simonb b77ae95a9e For ns32k-netbsd, don't add ns32k/xm-netbsd.h to $xm_file; it gets
included in tconfig.h anyway.
2001-09-23 13:55:13 +00:00
simonb 8e868c5d17 Don't define mem{cmp,cpy,set}; from gcc-current after the 2.95.3 release. 2001-09-23 13:42:39 +00:00
matt 71e81eb955 Also apply a fix if there are no symbols involved (which means that no
reloc will be emitted for the fix).
2001-09-08 16:38:32 +00:00
matt 649981af00 The don't apply fix if not NO_RELOC only applies to OBJ_ELF. 2001-09-08 04:38:34 +00:00
matt f23306e36f We need md_apply_fix is there is NO_RELOC. 2001-09-08 04:33:58 +00:00
matt 239fd58a71 md_apply_fix is a NOP for ELF. So macro it away. Simplify the resulting
one for the non-ELF case.
2001-09-07 17:14:24 +00:00
matt b3b6be7160 Only use data from the r_addend, not the relocation slot itself. Make sure
pcrel relocations enable pcrel_offset and augment that for VAX specific
needs.
2001-09-07 17:12:15 +00:00
mrg 3a6f34a1f2 fix part of previous: do pass -mcmodel=medlow to the 64 bit cc1 if -p*. 2001-09-07 07:19:52 +00:00
matt bb46238ed7 Merge in 2.11.2 changes into my ELF support 2001-09-07 05:06:51 +00:00
matt e934346ca9 Make -mvec as an alternative for -m7400 since -mvec existed in binutil 2.9 2001-09-06 21:07:07 +00:00
matt b3fe7bae05 Add the AltiVec data stream instructions that seemingly got lost between
binutils 2.9 and 2.11.
2001-09-06 21:02:29 +00:00
mrg 6e2daf5a64 fix the -m32 code to use /usr/lib/32 paths. don't pass -mcmodel to the 32bit cc1, it doesn't like that. 2001-08-30 09:30:40 +00:00
matt 115cd493b5 Do not compare to chars to >= 0 since this will cause a warning where
chars are unsigned.  instead, change it from ((c) < foo && (c) >= 0) to
((unsigned char)(c) < foo) which does the same thing but avoids the warning
2001-08-30 02:15:42 +00:00
mrg ee333eaabb add missing o: to the strip(1) getopt format string. 2001-08-20 04:47:29 +00:00
mrg f05a7e7c12 fix the NetBSD comment char (already fixed in net binutils.) 2001-08-17 11:12:34 +00:00
tv 7157e2832f XXX - force handing down of -no-gcc to off, so that cpp will predefine
__GNUC__ automatically.

Note that this is probably not the Right solution; we should fix any in-tree
uses of /usr/bin/cpp to use $CC -E.  However, this is being added for now
for backwards compatibility.
2001-08-14 13:46:14 +00:00