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).
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.
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.
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...
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?")
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).
- 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
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.
* 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.