Commit Graph

3475 Commits

Author SHA1 Message Date
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