Commit Graph

1137 Commits

Author SHA1 Message Date
mycroft 913449a520 Disable the atexit(_IO_cleanup) for two good reasons:
1) There is already a destructor that does this.  The atexit() is superfluous.
2) If libstdc++ is loaded dynamically by dlopen() and then is removed by
   dlclose(), the pointer is no longer valid and the program would core dump
   at exit() time.  (This caused xmms to core dump at exit when xmms-sid was
   installed, for example.)
NOTE: THIS NEEDS TO BE APPLIED TO THE `TOOLCHAIN' VERSION.
2001-12-24 16:38:19 +00:00
matt 46cf0c1543 Incorporate some gcc3.0 vax.md changes 2001-12-24 01:56:55 +00:00
matt c9073b0a26 Expand VAX ELF relocs into new style (with comments). Nuke OSABI shit. 2001-12-24 01:55:32 +00:00
thorpej f7fd432381 Fixes to alpha_next_pc() (for software single-step):
* jump-format jumps: the target is in RB, so use the RB bits in
  the insn, not the RA bits.
* branch-format displacements are 21 bits; extract all of them, and
  sign-extend correctly.
* For conditional branches, we need to determine whether or not
  the branch is actually taken.
2001-12-21 07:58:47 +00:00
matt fb5f3f3500 Minimal changes/files to get gdb for vax building under the new toolchain. 2001-12-21 06:36:10 +00:00
thorpej 4644cdb471 Implement software single stepping, and enable it for NetBSD/alpha. 2001-12-21 02:57:38 +00:00
thorpej 011356e8eb Major overhaul, plus support ELF core files. 2001-12-21 01:57:06 +00:00
scw 568cb5d556 Revert the last change following yesterday's commit to ../netbsd.h
(Hi Jason!)
2001-12-20 18:14:35 +00:00
rearnsha 2bc7fae481 Avoid generating code sequences that might cause alignment faults. 2001-12-20 00:50:27 +00:00
thorpej c3af5af42b Redo previous differently: Put the ASM_DECLARE_OBJECT_NAME
and ASM_FINISH_DECLARE_OBJECT macros in <alpha/netbsd.h>,
and remove ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME,
ASM_FINISH_DECLARE_OBJECT, and ASM_DECLARE_FUNCTION_SIZE from
<netbsd.h>.
2001-12-20 00:18:01 +00:00
thorpej 19241b97b5 Recent change to <netbsd.h> broke ASM_DECLARE_FUNCTION_NAME. Re-define
it here to what it should be.
2001-12-19 23:30:53 +00:00
rearnsha 0e644c95f7 Implement ATPCS stack-alignment rules, and enable on arm-netbsdelf
configuration.
2001-12-19 23:14:50 +00:00
tv 0a1ba8ecaa When NETBSD_NATIVE, use the appropriate version of libgcc for the compile
mode:  libgcc_pic.a for -shared, and libgcc_p.a for -p[g].
2001-12-19 21:38:24 +00:00
tv a3aeedcdb7 Tag all version strings with "nb1" to make FSF/binutils/gcc/gdb people
happy.  (This flags the version as deviating from the official FSF
distribution inside the NetBSD source tree.)
2001-12-19 21:32:49 +00:00
scw 37f114189c G/C some #define's which are already in ../netbsd.h.
Gets libgcc compiling again.
2001-12-19 18:14:20 +00:00
thorpej 06811a827d Go back to the nop/unop pattern, and pick up rev. 1.35 from the
master FSF sources (rth):

	* config/tc-alpha.c (alpha_handle_align): Encode unop with RB as $sp.
2001-12-18 00:33:35 +00:00
thorpej cc4beed398 From the master FSF sources, rev. 1.7 (rth):
* alpha-opc.c (unop): Encode with RB as $sp.
2001-12-18 00:31:52 +00:00
thorpej c7af981281 Make a note about what "nop" and "unop" actually are. 2001-12-17 01:51:44 +00:00
thorpej e93b1005a7 Apply rev 1.4 of gnu/dist/gcc/config/sh/sh.h:
fix REGISTER_MOVE_COST bug (gcc original rev. 1.43):

> *sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS
2001-12-16 18:56:45 +00:00
thorpej 3274936f9b Apply rev 1.3 of gnu/dist/gcc/config/sh/sh.h (fix ASM_OUTPUT_REG_PUSH
and ASM_OUTPUT_REG_POP):

fix two bugs:
	- cc1 dumps core when "-pg" is used
	- gas produces a syntax error
2001-12-16 18:54:10 +00:00
thorpej d63c80c2c6 Apply rev. 1.2 of gnu/dist/gcc/config/sh/sh.h:
set DWARF_LINE_MIN_INSTR_LENGTH to 2 because the length of instruction
is fixed to 16bits.
2001-12-16 18:50:16 +00:00
thorpej c8a285e813 Apply rev. 1.7 of gnu/dist/config/sh/sh.c:
apply gcc original rev. 1.59:

 > * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
 > sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
 > const0_rtx.
2001-12-16 18:47:47 +00:00
thorpej ff7287ad08 Apply change from rev 1.5 of gnu/dist/gcc/config/sh.c:
fix output_ieee_ccmpeq() bug:

- 2nd argument is not rtx but rtx *
- return value of output_ieee_ccmpeq is not void but char *
2001-12-16 18:38:19 +00:00
scw f87b859f0d After a discussion with Richard Henderson (rth at redhat dot com), add
the patch I posted to tech-toolchain@netbsd.org as a workaround for the
GOT bug whereby the callee-saved register %a5 can be trashed in certain
optimised -fPIC functions.

This may yet need to be fixed a different way, pending input from
Andreas Schwab on his change in revison 1.33 of this file in the
FSF source...

In the meantime, I've built and installed several NetBSD shared libraries
(including libc) with my change and found no problems.
2001-12-16 18:28:15 +00:00
thorpej 037cacf7e2 Define __NO_LEADING_UNDERSCORES__, since this sh-elf toolchain doesn't
use them.
2001-12-16 18:09:46 +00:00
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 5ddefb1229 Garbage-collect the code that created old-format PLT entires.
The NetBSD/alpha ld.elf_so understands both formats, now.
2001-12-14 01:12:24 +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