Commit Graph

3635 Commits

Author SHA1 Message Date
matt c7ce362189 Teach old (a.out) vax gas about register prefixes. 2002-02-23 21:16:41 +00:00
matt 9fe6d7dc5a Dump a few comments that don't apply anymore. Remove dead code that is no
longer used.  Add register prefix support.  It's always on for ELF and
optional for a.out (it's recognize register names with or without the %
prefix).
2002-02-23 21:07:29 +00:00
matt 572f2bb969 Teach gcc to emit register prefixes (though unless its ELF, the register
prefix is NULL).
2002-02-23 21:02:49 +00:00
matt bc49a6eede Fix long time codegen bug. Only the COMPARE, ADD, MINUS operations actually
set the C(arry) bit appropriately.  All other leave it in an indeterminate
(to GCC) state.  Mark that by setting CC_NO_OVERFLOW.  Change vax.md emission
of branches that use the C bit to use OUTPUT_JUMP so that if CC_NO_OVERFLOW is
set, branches that would normally use the C bit use opcodes that don't use the
C bit (jgtru -> jneq && jlssu -> jeql).  Delete the cmpdi pattern.
2002-02-23 18:36:52 +00:00
wiz 4da241dfa0 Whitespace nits. 2002-02-23 17:01:20 +00:00
thorpej 2365d7ec78 Add a '-s' option which will cause mdsetimage to write back the
actual image size copied back into the kernel.
2002-02-23 02:30:37 +00:00
matt 13828b4c70 Implement a cmpdi pattern so gcc won't try to help us. The good news is
that's it's smaller.  Not sure about faster.
2002-02-22 06:03:36 +00:00
matt 6238aa6c4f Back out change to NOTICE_CC_UPDATE. It has really bad side effects.
I'll fix this another way.
2002-02-22 06:02:33 +00:00
matt eb2926091c movl doesn't modify the C bit in the PSL so make sure to communicate that
fact to the gcc optimizer so it doesn't emit the wrong branch instructions.
2002-02-21 19:31:36 +00:00
matt 90b4581807 Ahhh! Use tc_fix_adjustable to make gas not resolve symbols into segment
based references for weak or external symbols.
2002-02-21 07:30:32 +00:00
matt 1b65728579 Gegneralize the PLT/GOT processing to properly emit relocs even for symbols
in the segment/file so that they linker can resolve them for shared libraries.
2002-02-21 06:59:16 +00:00
jmc b32effcb8e Add some more dependencies so this builds as "make all" also without
requiring a make depend first.
2002-02-21 04:13:45 +00:00
mrg 71bd5d8f3c make this build cross by not splitting NATDEPFILES across a line with a
line continuation char (\)...
2002-02-21 03:24:50 +00:00
matt ffefe31a4b When calling weak or global symbols in the same segment, make sure to use
RELAX encoding what can be transmorgified into a PLT reloc.
2002-02-21 00:18:43 +00:00
matt 1bb7ff7e99 Don't emit GOT slots for local symbols since the VAX can always refer to
via PC relative addressing.
2002-02-20 18:52:23 +00:00
matt e9ecffcaf2 When emitting a GOT reloc, use the frag symbol since we want the
external name, not where it lives in this object (which would happen
in the symbol was defined locally).  All, don't use offset but addnumber.
2002-02-20 18:50:40 +00:00
matt 9fcb3b5a86 If the symbol is weak or external and this is a PCREL reference,
generate a fragment instead of fixup.  This allows us to convert
to a GOT or PLT reference which can be resolved externally.
2002-02-20 08:12:43 +00:00
matt 1927769e7a Don't use PCC_STATIC_STRUCT_RETURN.
Use movab/pushab when moving LABEL_REFs.
2002-02-20 03:06:37 +00:00
thorpej 7efea97070 Make sure that non-symbolic GOT references are converted back to
PC32 relocs for -Bstatic or -Bsymbolic links.

From Matt Thomas.
2002-02-19 06:16:35 +00:00
thorpej b669a91187 Make sure _initialize_vaxnbsd_nat() is called (added manually). 2002-02-19 05:05:38 +00:00
thorpej b56d2fc557 Add support for ELF core files. 2002-02-19 05:05:09 +00:00
thorpej a962d1ba86 Do not -Dunix or -Darm, as they are namespace-invasive, and cause
variants of those CPP symbols to be defined that are contrary to
NetBSD's conventions.

Fixes building Xaw on ARM ELF.
2002-02-12 16:32:39 +00:00
tv 92140a7683 Skip building if the target's .mk file is missing. 2002-02-11 21:45:18 +00:00
tv 1c986fdf46 Skip building anything if the target's .mk files are missing. (Allows the
toolchain to be built in segments, or not at all if the in-tree toolchain
is inappropriate for the target.)
2002-02-11 21:36:33 +00:00
thorpej 1be69ad723 Fix typos in CC1_SPEC: -no-mindirect -> -mno-indirect 2002-02-11 00:02:12 +00:00
tsutsui b1e673bc5e Include bsd.subdir.mk unconditionally so that make obj works
with old toolchain.
2002-02-10 17:38:24 +00:00
mrg e694f74c6e pull across kcore_fetch_registers() from gnu/dist/gdb/sparcnbsd-nat.c, and
add kcore-nbsd.c to NATDEPFILES in nbsd{,elf}.mh.  regen defs.mk and init.c.

pity kcore-nbsd.c isn't in the FSF tree yet...
2002-02-10 01:32:56 +00:00
chs dcee4d2ab2 bring forward a change from the old gdb:
Define IN_SIGTRAMP() as nbsd_in_sigtramp(), a new function which knows
how to find the address of the signal trampoline at runtime, thus allowing
one gdb binary to work on all NetBSD/m68k machines.
2002-02-09 19:37:38 +00:00
lukem e2311f6fa0 use ${INSTALL_FILE} as appropriate 2002-02-09 09:21:47 +00:00
ross dc5571b22e Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:21:55 +00:00
thorpej 07e8c5c63c Define TARGET_CPU_DEFAULT. From Matthias Drochner. 2002-02-07 16:52:37 +00:00
wiz c0acf9a5ea Punctuation nits, sort sections, sort SEE ALSO. 2002-02-06 19:24:52 +00:00
fair e02de0ae6d Patch from PR 15218 to document some options. 2002-02-04 10:35:39 +00:00
perry 84a067585a postqueue needs to be sgid maildrop. 2002-02-04 02:39:06 +00:00
ross cc9d651712 LP64 tweak 2002-02-03 05:53:07 +00:00
perry 9944f8fbe3 resolve conflicts 2002-02-03 03:27:17 +00:00
perry 9834dfda1c Postfix 1.1.3 2002-02-03 03:10:53 +00:00
perry ecf26eb9de add defaults for install parameters to stop errors 2002-02-03 02:20:05 +00:00
perry 13b9b0e653 And install the script as a SCRIPT... 2002-02-03 00:50:36 +00:00
perry a292bb8303 Install post-install and postfix-files.
This is likely not enough yet.
2002-02-03 00:47:49 +00:00
perry 00f7fe97b4 resolve conflicts 2002-02-02 23:54:35 +00:00
perry 5cf194aa6d not part of release 1.1.2 2002-02-02 23:27:32 +00:00
perry 1f31e11b0f update reachovers for postfix 1.1.2 2002-02-02 23:21:45 +00:00
perry 6f59dc7aeb Postfix 1.1.2
(Postfix releases are now numbered -- 1.1.2 means 1.1, patchlevel 2.)
Lots of new features, same great security.
2002-02-02 23:10:24 +00:00
mrg 5f3d6c38d0 build sim before gdb. 2002-02-02 03:04:22 +00:00
tv 9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv 6061a17df3 itbl-parse ends in .y; itbl-lex in .l. 2002-01-31 21:15:08 +00:00
tv 5b071d154b Conditionally define M4 so it can be used as a host tool. 2002-01-31 19:12:43 +00:00
tv 3bf9a18e1c Remove extraneous declarations of yyparse() and yylex(). 2002-01-30 20:44:54 +00:00
reinoud f3413b0e75 Back out change on Perry's request... PR 15303 is open again. 2002-01-30 17:43:52 +00:00
reinoud d4d4c95b9e The config file mentiones that if off_t isnt defined its defined in gcc as
`long'. This gives rise to defining `off_t' to a signed 64 bit on LP64
machines giving rise to cross compiling errors.

By explicitly setting it to int32_t its forced to use signed 32 bits
integers as required and expected on the ILP32 ARM processor.

This aparently fixes PR 15303
2002-01-30 17:11:44 +00:00
tv 355d5a06c1 Restore rev. 1.2 (revert reversion). Fixes recent cc1obj bomb. 2002-01-30 15:16:06 +00:00
thorpej 1e51e492fd Sync NetBSD piece with gcc-current. 2002-01-29 18:52:09 +00:00
tv a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
tv c2f713900d Revert previous; please don't regen .y output using BSD yacc for a file that
should be run through Bison.
2002-01-29 08:12:10 +00:00
thorpej 89458c3940 * Clean up XFmode avoidance.
* If avoiding XFmode, force REAL_ARITHMETIC anyway (which will use
  the software FP emulation).
2002-01-29 01:02:06 +00:00
thorpej 7cf69379df Don't try using XFmode on the 68010. XXX We'd like to make this
determination at compiler run-time, but we can't do that right now.
2002-01-28 22:50:06 +00:00
thorpej 74474e4e91 Patch posted to binutils@sources.redhat.com by Matt Fredette
(should make it into stock binutils as soon as Matt's copyright
assignment paperwork is finalized):

bfd:
	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
	EF_M68000.

binutils:
	* readelf.c (get_machine_flags): Recognize EF_M68000.

gas:
	* config/tc-m68k.c (md_show_usage): No longer display a
	hard-coded "68020" for the default CPU, instead display the
	canonical name of the true, configured default CPU.
	(m68k_elf_final_processing): Mark objects for sub-68020
	CPUs with the new EF_M68000 flag.

include/elf:
	* m68k.h (EF_M68000): Define.
2002-01-28 21:39:07 +00:00
thorpej f3121769a7 Add support for m68010-*-netbsdelf* using the existing m68k/netbsd-elf
configuration.
2002-01-28 21:10:51 +00:00
thorpej 872ed866f5 Set the machine architecture in the bfd structure before
parsing the program headers.
2002-01-27 20:12:09 +00:00
thorpej bc7317ef89 Slightly simplified version of a patch I just submitted to the
master binutils sources that fix gprof for LP64 platforms and
also fix some problems with cross-gprof:

        * TODO: Remove "host architecture pointer size" item.
        * gmon.h (GMON_HDRSIZE_BSD44_32): Define.
        (GMON_HDRSIZE_BSD44_64): Ditto.
        (GMON_HDRSIZE_OLDBSD_32): Ditto.
        (GMON_HDRSIZE_OLDBSD_64): Ditto.
        (struct raw_phdr): Wrap in #if 0, keeping it for
        documentation purposes only.
        (struct old_raw_phdr): Likewise.
        (struct raw_arc): Likewise.  Change type/size of
        "count" member to long match 4.4BSD.
        * gmon_io: Update copyright years.
        (gmon_io_read_64): New function.
        (gmon_io_read_vma): Use bfd_arch_bits_per_address to
        determine target pointer size.  Use gmon_io_read_32
        and gmon_io_read_64.
        (gmon_io_write_64): New function.
        (gmon_io_write_vma): Use bfd_arch_bits_per_address to
        determine target pointer size.  Use gmon_io_write_32
        and gmon_io_write_64.
        (get_vma): Remove.
        (put_vma): Ditto.
        (gmon_read_raw_arc): New function.
        (gmon_write_raw_arc): New function.
        (gmon_out_read): Do not use struct raw_phdr or
        struct old_raw_phdr to read the gmon header.  Use
        gmon_read_raw_arc to read call graph records.
        (gmon_out_write): Do not use struct raw_phdr or
        struct old_raw_phdr to write the gmon header.  Use
        gmon_write_raw_arc to write call graph records.

This makes the GMON_PTR_SIZE constant obsolete, however I have not
included the changes to the autoconf machinery that eliminate that
constant completely in order to minimize the changes here (they
will be picked up when we import Binutils 2.12 when it is released).
2002-01-26 23:57:59 +00:00
thorpej 0b621a0221 It's a C program, but it uses libgroff, which uses C++, so we
need to use PROG_CXX here as well.
2002-01-22 23:57:19 +00:00
thorpej a3d761116e Fix some MKGDB=no bugs. 2002-01-22 21:16:28 +00:00
mrg 7cda1e8c92 don't install psim 2002-01-22 17:02:08 +00:00
mrg 47d0b44e4f add PSIM support to gdb and install the stand alone in /usr/bin/psim. this
fixes the rest of port-powerpc/14307.
2002-01-22 16:55:19 +00:00
mrg 6bdbccbb59 regenerate. 2002-01-22 15:52:53 +00:00
tron cb9b650951 Define "HAVE_ERR_H" to fix native build. 2002-01-22 13:50:53 +00:00
mrg e10f2bf04d - get SIM_OBS for GDB.
- build a usr.bin/sim/arch tree, copy sim/ppc/config.h there for powerpc.
2002-01-22 13:13:00 +00:00
mrg f2f685f22a * pull across fixes for PSIM from gdb-current on NetBSD:
2001-03-04  Andrew Cagney  <ac131313@redhat.com>
	* emul_netbsd.c [WITH_NetBSD_HOST]: Include <sys/mount.h> and
	<errno.h>.
	(do_stat): Only do SYS test when SYS_stat defined.
	(do_sigprocmask): Ditto for SYS_sigprocmask.
	(do_fstat): Ditto for SYS_fstat.
	(do_getdirentries): Ditto for SYS_getdirentries.
	(do_lstat): Ditto for SYS_lstat.

	2001-01-15  Geoffrey Keating  <geoffk@redhat.com>
	* emul_netbsd.c (do_open): Translate the flag parameter to the
	open syscall to the numbers supported by the host.

* part of port-powerpc/14307

	2001-10-19  Andrew Cagney  <ac131313@redhat.com>
	* configure.in: When Linux or NetBSD, enable PowerPC simulator.
	* configure: Re-generate.
2002-01-22 12:28:49 +00:00
mrg 858c824a54 * part of port-powerpc/14307: add psim support for nbsd & linux powerpc
gdb targets.

	2001-10-18  Andrew Cagney  <ac131313@redhat.com>
	* config/powerpc/nbsd.mt (SIM_OBS, SIM): Define.
	* config/powerpc/linux.mt (SIM, SIM_OBS): Ditto
2002-01-22 12:25:56 +00:00
thorpej 3ef3a0aa2f Be a little more careful when calling _mcount() (to prevent
clobbering $27).
2002-01-22 02:09:39 +00:00
thorpej aaa59fa5b0 Need to set NOOBJ= before bsd.own.mk is included. 2002-01-22 00:59:46 +00:00
tv 0d0a440269 Kill this directory so that it's more amenable to a case insensitive fs. 2002-01-21 20:50:13 +00:00
tv 5c99654526 Add hooks for cross-hosting on non-NetBSD platforms. 2002-01-21 19:22:53 +00:00
thorpej 2667ee3c74 Fix handling of FP registers. 2002-01-18 22:00:11 +00:00
thorpej 6c608f3110 When removing a single-step breakpoint, fix-up the PC, since GDB does
not do for us in this case.

This fixes all sorts of random lossage with the new Alpha GDB, which,
as far as I can tell, works just fine now.
2002-01-18 06:15:32 +00:00
thorpej 47193736cf NetBSD does not mark the outermost frame, so define FRAME_CHAIN_VALID
to func_frame_chain_valid() so that the traceback will stop at the
entry point.
2002-01-18 04:30:54 +00:00
thorpej 7be6f45635 Comment out token after #endif. 2002-01-18 04:15:02 +00:00
tv f7bea0ea1e Some sanity fixes (including a possible buffer overflow in makeinfo), plus
some fixed proper support for Cygwin hosts.
2002-01-16 17:22:37 +00:00
itojun 815ede9ef4 gzip long filename buffer overrun vulnerability. from 1.2.4 -> 1.2.4b fix
http://www.securityfocus.com/bid/3712
2002-01-15 09:18:15 +00:00
wiz 589623fe7c Add a trailing dot. 2002-01-13 11:44:27 +00:00
thorpej 5903d82b00 Pretty-print the machine-dependent NetBSD ELF core note types. 2002-01-09 05:02:44 +00:00
thorpej 3699fe0e3a Add support for printing of NetBSD ELF core file note types. 2002-01-09 04:46:31 +00:00
wdk f401e7e08b getopt_long option list was incorrect. Apply rev 1.20 diffs from
binutils-current respository.

    2001-06-24  H.J. Lu  <hjl@gnu.org>
        * objcopy.c (strip_main): Revert the change made on 2001-05-30
        by accident.
        (copy_main): Apply the the change made to strip_main on
        2001-05-30 by accident.

strip now passes the argument list as documented.
2002-01-08 06:58:32 +00:00
wiz 6041ec37c2 then -> than.
Diffs already sent back to binutils maintainers.
2002-01-07 14:54:09 +00:00
wiz ca93d68d44 then -> than. 2002-01-07 14:47:37 +00:00
thorpej 92aa2889ec Use mips* rather than mipsel* or mipseb* to set gdb_host_cpu. From
gdb-current.
2002-01-04 21:45:54 +00:00
thorpej 1e7aef64f9 Set gdb_host_cpu to "mips" if mipsel. 2002-01-04 18:41:42 +00:00
thorpej 65b12946ac Overhaul, and add support for ELF core files. 2002-01-04 06:19:31 +00:00
thorpej 6c4e00eadf Apply the patch from:
http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00389.html

ChangeLog for this change (which was never committed to the master
GCC sources; the bug still exists in GCC 3.x!):

2000-05-09  Ethan Solomita  ethan@cs.columbia.edu

	* config/mips/mips.h (FUNCTION_PROFILER): Deal with
	the case where jal is expanded as a macro.

This is done by removing the .reorder/.noreorder, and moving the
call to _mcount to after the stack adjust, thereby letting the
assembler deal with the delay slot, etc.

This fixes profiling with libraries built -mabicalls (default on
NetBSD).

I can't believe how long this problem has been discussed-but-not-fixed
on the GCC mailing list...
2002-01-04 05:29:39 +00:00
cgd 6d4088dbde Convert this code to use read/write rather than mmap followed by read
into the mmap'd region.  (reviewed by thorpej.)

This is done to facilitate use as a host tool on not-necessarily-NetBSD
host systems.  Specifically, it works around problems discovered on
linux (mostly tested on 2.4.2-smp / RH 7.1, but also seen on other
variants) in which mmap(...MAP_SHARED...) on NFS files doesn't work
properly:

74 [hardy] RAMDISK.EB % uname -a
Linux hardy 2.4.2-2smp #1 SMP Sun Apr 8 20:21:34 EDT 2001 i686 unknown
75 [hardy] RAMDISK.EB % cat /etc/issue

Red Hat Linux release 7.1 (Seawolf)
Kernel 2.4.2-2smp on a 2-processor i686

76 [hardy] RAMDISK.EB % df .
Filesystem           1k-blocks      Used Available Use% Mounted on
fs:/home/cgd
                     104857600  98764968   6092632  95% /home/cgd
77 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:41 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
78 [hardy] RAMDISK.EB % nbmdsetimage netbsd ~/proj-local/rd
79 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:49 PST 2001
740cbfb0a8432b7d3a6bf3421655e270  netbsd
80 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:51 PST 2001
a8c60aae879ead6893f074e83c23d70a  netbsd
81 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:54 PST 2001
a8c60aae879ead6893f074e83c23d70a  netbsd
82 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:55 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
83 [hardy] RAMDISK.EB % date ; md5sum netbsd
Thu Dec 27 17:31:57 PST 2001
a1f35f085f130983892933df92d23be4  netbsd
84 [hardy] RAMDISK.EB %

("isn't that cool?")
2002-01-03 06:21:47 +00:00
tron 2ece7637b1 Add "_eh.c" to list of files which are supposed to get cleaned. 2002-01-02 09:17:48 +00:00
thorpej 2135cbaadd Oops, this is NOT a C++ program. 2002-01-01 05:16:18 +00:00
thorpej d68ee9d8e3 Per a suggestion from matthew green, PROG_CXX takes the place of
PROG for C++ programs.
2002-01-01 01:38:25 +00:00
thorpej a156b86123 Set PROG_CXX since these are C++ programs. 2002-01-01 00:27:33 +00:00
thorpej 89b1a9ca73 Introduce 3 new MK* variables that have effect in the USE_NEW_TOOLCHAIN
case:

	MKBFD	If set to "no", disables building of libbfd, libiberty,
		and all things that depend on them (binutils/gas/ld, gdb,
		dbsym, mdsetimage).

	MKGDB	If set to "no", disables bulding of gdb.

	MKGCC	If set to "no", disables building of gcc and the
		gcc-related libraries (libg2c, libgcc, libobjc, libstdc++).

These are useful for building platforms for which either of the following
situations are true:

	(1) You have no userland from which to run toolchain2netbsd
	    in order to build the appropriate toolchain build framework.

	(2) The platform which you are building requires a newer set
	    of tools than are currently in the tree (e.g. x86-64, ia64).
2001-12-31 23:04:11 +00:00
mrg d750ba5f81 this is really libstdc++ 2.8.0 2001-12-30 17:21:19 +00:00
tv f14c689431 Fix %{p*:} botch, as described in toolchain/15024. (What specs need is an
if/then/else type construct....)
2001-12-29 20:24:37 +00:00
lukem efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
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 0146257365 Set NOMAN correctly. From Andrew Brown. 2001-12-21 08:06:15 +00:00
thorpej 3778dfc4fd Build as "protoize" and "unprotoize" respectively, not "gcc" (!!). 2001-12-21 08:03:35 +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 38b00971f1 Update for Alpha emulation change. 2001-12-21 02:03:20 +00:00
thorpej 1c899ee8d9 Update for changes to alphanbsd-nat.c. 2001-12-21 01:57:42 +00:00
thorpej 011356e8eb Major overhaul, plus support ELF core files. 2001-12-21 01:57:06 +00:00
yamt 3dd7e76ccf fix typo. (.o in SRCS) 2001-12-20 22:18:50 +00:00
thorpej d103096c14 Fixup VERSION. 2001-12-20 18:26:30 +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
tv 4c9a2ef7d3 * Add protoize and unprotoize. (Closes PR 6894.)
* Regen files with proper OS names and version numbers.

* Clean up toolchain2netbsd somewhat, to get it ready to be cross-host
  compatible (more work to be done here, but it's getting closer).

* Add framework for gdbreplay and gdbserver, but hold off on enabling these
  by default until low-nbsd.c is verified to work everywhere.
2001-12-19 23:54:16 +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 14691f972b Remove COPTS+=-g. This should be set by the builder, not this Makefile. 2001-12-19 21:55:48 +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
tv 7fb95bfb35 Remove iostdio.h from the list of system-installed headers; intended to
address parts of PR toolchain/14896.  This header file is nonstandard
(and doesn't even exist in gcc 3.0); an out-of-the-box gcc build also
doesn't provide the missing functions.  So just drop the .h completely.
2001-12-19 20:52:11 +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 3faae759ba Allow a new-toolchain build to be done without actually building
the target "native toolchain" if BOOTSTRAP_NEW_TOOLCHAIN is set.

This is important if you don't have any userland at all, and you're
trying to make one from which you can run toolchain2netbsd.
2001-12-15 03:37:36 +00:00
thorpej 9b744bba67 Descend into dbsym. 2001-12-15 03:23:39 +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 17f1178fc6 More toolchain2netbsd output for the Alpha, after coaxing
toolchain2netbsd to actually spit it out.
2001-12-14 22:29:12 +00:00
thorpej 01768cb6da Update to reflect latest toolchain2netbsd. 2001-12-14 22:26:03 +00:00
thorpej 2812f0e978 Kludge to make old toolchain builds work again after the NOxxx changes. 2001-12-14 16:55:14 +00:00
thorpej 2e065d7d6f Revert previous after further discussion w/ Todd. 2001-12-14 16:54:08 +00:00