From owner-cvs-gnu Mon Sep 30 17:14:23 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id RAA24389 for cvs-gnu-outgoing; Mon, 30 Sep 1996 17:14:23 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id RAA24089; Mon, 30 Sep 1996 17:14:01 -0700 (PDT) Date: Mon, 30 Sep 1996 17:14:01 -0700 (PDT) From: Peter Wemm Message-Id: <199610010014.RAA24089@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/as as.1 as.c as.h expr.c read.c read.h struc-symbol.h subsegs.c symbols.c tc.h write.c src/gnu/usr.bin/as/config atof-ieee.c atof-ns32k.c obj-aout.c obj-aout.h tc-a29k.c tc-h8300.c tc-i386.c tc-i860.c tc-i960.c tc-m68k.c tc-ns32k.c tc-sparc.c tc-vax.h src/gnu/usr.bin/as/opcode i386.h m68k.h Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 17:13:59 Modified: gnu/usr.bin/as as.1 as.c as.h expr.c read.c read.h struc-symbol.h subsegs.c symbols.c tc.h write.c gnu/usr.bin/as/config atof-ieee.c atof-ns32k.c obj-aout.c obj-aout.h tc-a29k.c tc-h8300.c tc-i386.c tc-i860.c tc-i960.c tc-m68k.c tc-ns32k.c tc-sparc.c tc-vax.h gnu/usr.bin/as/opcode i386.h m68k.h Log: Mostly resync our gas with the NetBSD version to obtain support for .weak as gcc and g++ would like to use. This includes changes to other architectures mostly for completeness, I don't expect cross-assemblink would work but I could be wrong. Obtained from: NetBSD Revision Changes Path 1.6 +6 -1 src/gnu/usr.bin/as/as.1 1.4 +5 -6 src/gnu/usr.bin/as/as.c 1.5 +3 -1 src/gnu/usr.bin/as/as.h 1.4 +2 -2 src/gnu/usr.bin/as/expr.c 1.7 +27 -32 src/gnu/usr.bin/as/read.c 1.6 +3 -1 src/gnu/usr.bin/as/read.h 1.6 +6 -2 src/gnu/usr.bin/as/struc-symbol.h 1.5 +12 -10 src/gnu/usr.bin/as/subsegs.c 1.4 +1 -5 src/gnu/usr.bin/as/symbols.c 1.3 +2 -2 src/gnu/usr.bin/as/tc.h 1.8 +5 -3 src/gnu/usr.bin/as/write.c 1.5 +8 -7 src/gnu/usr.bin/as/config/atof-ieee.c 1.2 +5 -4 src/gnu/usr.bin/as/config/atof-ns32k.c 1.5 +20 -13 src/gnu/usr.bin/as/config/obj-aout.c 1.5 +2 -2 src/gnu/usr.bin/as/config/obj-aout.h 1.3 +3 -3 src/gnu/usr.bin/as/config/tc-a29k.c 1.3 +1 -1 src/gnu/usr.bin/as/config/tc-h8300.c 1.5 +14 -8 src/gnu/usr.bin/as/config/tc-i386.c 1.3 +2 -2 src/gnu/usr.bin/as/config/tc-i860.c 1.3 +2 -2 src/gnu/usr.bin/as/config/tc-i960.c 1.5 +11 -7 src/gnu/usr.bin/as/config/tc-m68k.c 1.4 +7 -7 src/gnu/usr.bin/as/config/tc-ns32k.c 1.5 +8 -8 src/gnu/usr.bin/as/config/tc-sparc.c 1.2 +1 -0 src/gnu/usr.bin/as/config/tc-vax.h 1.4 +4 -2 src/gnu/usr.bin/as/opcode/i386.h 1.4 +126 -131 src/gnu/usr.bin/as/opcode/m68k.h From owner-cvs-gnu Mon Sep 30 17:21:35 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id RAA00629 for cvs-gnu-outgoing; Mon, 30 Sep 1996 17:21:35 -0700 (PDT) Received: from spinner.DIALix.COM (root@spinner.DIALix.COM [192.203.228.67]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id RAA00299; Mon, 30 Sep 1996 17:21:08 -0700 (PDT) Received: from spinner.DIALix.COM (peter@localhost.DIALix.oz.au [127.0.0.1]) by spinner.DIALix.COM (8.8.0/8.8.0) with ESMTP id IAA09539; Tue, 1 Oct 1996 08:21:03 +0800 (WST) Message-Id: <199610010021.IAA09539@spinner.DIALix.COM> X-Mailer: exmh version 1.6.7 5/3/96 To: CVS-committers@freefall.freebsd.org cc: cvs-all@freefall.freebsd.org, cvs-gnu@freefall.freebsd.org Subject: Re: cvs commit: src/gnu/usr.bin/as as.1 as.c as.h expr.c read.c ... In-reply-to: Your message of "Mon, 30 Sep 1996 17:14:01 MST." <199610010014.RAA24089@freefall.freebsd.org> Date: Tue, 01 Oct 1996 08:21:02 +0800 From: Peter Wemm Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Peter Wemm wrote: > This includes changes to other architectures mostly for completeness, > I don't expect cross-assemblink would work but I could be wrong. ^^^^^^^^^^ Have you ever noticed how some typos turn out to be bizzare? :-) s/k/g/ (Not to mention that I only had two hours sleep :-] ) Cheers, -Peter From owner-cvs-gnu Mon Sep 30 18:23:32 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA21112 for cvs-gnu-outgoing; Mon, 30 Sep 1996 18:23:32 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA20845; Mon, 30 Sep 1996 18:23:10 -0700 (PDT) Date: Mon, 30 Sep 1996 18:23:10 -0700 (PDT) From: Peter Wemm Message-Id: <199610010123.SAA20845@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld dynamic.h shlib.h support.c support.h Makefile PORTING ld.1 ld.c ld.h lib.c rrs.c shlib.c symbol.c warnings.c xbits.c etc.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 18:23:08 Modified: gnu/usr.bin/ld Makefile PORTING ld.1 ld.c ld.h lib.c rrs.c shlib.c symbol.c warnings.c xbits.c Added: gnu/usr.bin/ld dynamic.h shlib.h support.c support.h Removed: gnu/usr.bin/ld etc.c Log: Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal with the -R option and store the path in the dynamic header when specified. The $LD_RUN_PATH environment variable is not checked yet. While here, split up the code a bit more to enable more selective replacing of GPL'ed components that are linked with ld.so with others. Obtained from: NetBSD (mostly, the breakup is my fault) Revision Changes Path 1.18 +2 -2 src/gnu/usr.bin/ld/Makefile 1.2 +3 -1 src/gnu/usr.bin/ld/PORTING 1.12 +83 -36 src/gnu/usr.bin/ld/ld.1 1.36 +67 -27 src/gnu/usr.bin/ld/ld.c 1.17 +8 -329 src/gnu/usr.bin/ld/ld.h 1.18 +47 -35 src/gnu/usr.bin/ld/lib.c 1.17 +37 -17 src/gnu/usr.bin/ld/rrs.c 1.16 +21 -19 src/gnu/usr.bin/ld/shlib.c 1.7 +34 -1 src/gnu/usr.bin/ld/symbol.c 1.12 +33 -1 src/gnu/usr.bin/ld/warnings.c 1.4 +2 -1 src/gnu/usr.bin/ld/xbits.c From owner-cvs-gnu Mon Sep 30 18:30:05 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA26617 for cvs-gnu-outgoing; Mon, 30 Sep 1996 18:30:05 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA25028; Mon, 30 Sep 1996 18:28:19 -0700 (PDT) Date: Mon, 30 Sep 1996 18:28:19 -0700 (PDT) From: Peter Wemm Message-Id: <199610010128.SAA25028@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/i386 md-static-funcs.c md.c md.h src/gnu/usr.bin/ld/sparc md.c md.h Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 18:28:18 Modified: gnu/usr.bin/ld/i386 md-static-funcs.c md.c md.h gnu/usr.bin/ld/sparc md.c md.h Log: Update the backends to go with the top-level ld changes. The non-i386 changes are for completeness, I don't think they work. There are changes to deal with the new include files. Obtained from: NetBSD (mostly) Revision Changes Path 1.4 +4 -3 src/gnu/usr.bin/ld/i386/md-static-funcs.c 1.13 +13 -7 src/gnu/usr.bin/ld/i386/md.c 1.13 +17 -1 src/gnu/usr.bin/ld/i386/md.h 1.9 +2 -2 src/gnu/usr.bin/ld/sparc/md.c 1.8 +11 -1 src/gnu/usr.bin/ld/sparc/md.h From owner-cvs-gnu Mon Sep 30 18:33:58 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA29718 for cvs-gnu-outgoing; Mon, 30 Sep 1996 18:33:58 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA28406; Mon, 30 Sep 1996 18:32:12 -0700 (PDT) Date: Mon, 30 Sep 1996 18:32:12 -0700 (PDT) From: Peter Wemm Message-Id: <199610010132.SAA28406@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/ldconfig Makefile ldconfig.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 18:32:07 Modified: gnu/usr.bin/ld/ldconfig Makefile ldconfig.c Log: Updates to deal with ld.so.hints version 2. It now deals with the ldconfig path (from NetBSD). I added code to make sure there were no duplicates in the path when multiple ldconfig -m's were used. Reviewed by: nate, jdp Obtained from: NetBSD (partly) Revision Changes Path 1.8 +2 -2 src/gnu/usr.bin/ld/ldconfig/Makefile 1.14 +51 -16 src/gnu/usr.bin/ld/ldconfig/ldconfig.c From owner-cvs-gnu Mon Sep 30 18:36:25 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA01714 for cvs-gnu-outgoing; Mon, 30 Sep 1996 18:36:25 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA00405; Mon, 30 Sep 1996 18:34:37 -0700 (PDT) Date: Mon, 30 Sep 1996 18:34:37 -0700 (PDT) From: Peter Wemm Message-Id: <199610010134.SAA00405@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/ldd ldd.1 ldd.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 18:34:36 Modified: gnu/usr.bin/ld/ldd ldd.1 ldd.c Log: Support for specifying printf-like output specs to control the ldd output as present in the new rtld version. Obtained from: NetBSD Reviewed by: nate, jdp Revision Changes Path 1.6 +12 -1 src/gnu/usr.bin/ld/ldd/ldd.1 1.6 +20 -3 src/gnu/usr.bin/ld/ldd/ldd.c From owner-cvs-gnu Mon Sep 30 19:05:27 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA15262 for cvs-gnu-outgoing; Mon, 30 Sep 1996 18:54:34 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA14224; Mon, 30 Sep 1996 18:52:39 -0700 (PDT) Date: Mon, 30 Sep 1996 18:52:39 -0700 (PDT) From: Peter Wemm Message-Id: <199610010152.SAA14224@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/rtld Makefile rtld.1 rtld.c sbrk.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 18:52:36 Modified: gnu/usr.bin/ld/rtld Makefile rtld.1 rtld.c sbrk.c Log: Update to handle new version ld.so.hints and info in executable for configurable fallback search paths, as well as new crt interface version. Also: - even faster getenv(), get all environment variable settings in a single pass. - ldd printf-like format specifications - minor code cleanups, one vsprintf -> vsnprintf (harmless) The library search sequence is a little more complete now. Before, it'd search $LD_LIBRARY_PATH (by opendir/readdir/closedir), then read the hints file, then read /usr/lib (again by scanning thr directory). It would then fail if there was no "found" library. Now, it does LD_LIBRARY_PATH and the hints file the same, but then uses a longer fallback path. The -R path is fetched from the executable if specified at build time, the ldconfig path is appended, and /usr/lib is appended to that. Duplicates are suppressed. This means that simply placing a new library in /usr/local/lib will work (the same as it did in /usr/lib) without needing ldconfig -m. It will find it quicker if the ldconfig is run though. Similar changes have been made to the NetBSD ld.so, but ours is rather different now due to John Polstra's speedups and fixes from a while back. The ldd printf-like format support came direct from NetBSD. Reviewed by: nate, jdp Revision Changes Path 1.21 +10 -4 src/gnu/usr.bin/ld/rtld/Makefile 1.5 +50 -2 src/gnu/usr.bin/ld/rtld/rtld.1 1.35 +221 -54 src/gnu/usr.bin/ld/rtld/rtld.c 1.2 +3 -3 src/gnu/usr.bin/ld/rtld/sbrk.c From owner-cvs-gnu Mon Sep 30 20:03:23 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id TAA29044 for cvs-gnu-outgoing; Mon, 30 Sep 1996 19:18:35 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id TAA28207; Mon, 30 Sep 1996 19:16:41 -0700 (PDT) Date: Mon, 30 Sep 1996 19:16:41 -0700 (PDT) From: Peter Wemm Message-Id: <199610010216.TAA28207@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/ldd sods.c Makefile ldd.1 ldd.c Sender: owner-cvs-gnu@freebsd.org X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 19:16:36 Modified: gnu/usr.bin/ld/ldd Makefile ldd.1 ldd.c Added: gnu/usr.bin/ld/ldd sods.c Log: Incorporate John Polstra's sods.c display of the details about the dynamic linking information in the executable. It's quite extensive. It's connected to ldd's (new) -v option. Revision Changes Path 1.4 +2 -2 src/gnu/usr.bin/ld/ldd/Makefile 1.7 +11 -0 src/gnu/usr.bin/ld/ldd/ldd.1 1.7 +18 -2 src/gnu/usr.bin/ld/ldd/ldd.c From owner-cvs-gnu Mon Sep 30 20:44:40 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id UAA22546 for cvs-gnu-outgoing; Mon, 30 Sep 1996 20:44:40 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id UAA22528; Mon, 30 Sep 1996 20:44:31 -0700 (PDT) Date: Mon, 30 Sep 1996 20:44:31 -0700 (PDT) From: Peter Wemm Message-Id: <199610010344.UAA22528@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/cc Makefile.inc Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 20:44:31 Modified: gnu/usr.bin/cc Makefile.inc Log: Don't build config/i386/i386.o in the src/contrib/gcc tree..... :-] Revision Changes Path 1.17 +3 -2 src/gnu/usr.bin/cc/Makefile.inc From owner-cvs-gnu Mon Sep 30 20:47:51 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id UAA22716 for cvs-gnu-outgoing; Mon, 30 Sep 1996 20:47:51 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id UAA22697; Mon, 30 Sep 1996 20:47:40 -0700 (PDT) Date: Mon, 30 Sep 1996 20:47:40 -0700 (PDT) From: Peter Wemm Message-Id: <199610010347.UAA22697@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/cc/libgcc Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/30 20:47:39 Modified: gnu/usr.bin/cc/libgcc Makefile Log: Resync the libgcc functions list with the 2.7.2.1 tree. We were building a (now) defunct routine that no longer exists (causing an empty .o file), and were missing some others. Some of the ones we were missing are no-ops on the i386, so there are now 4 empty .o files. (It seems that libc/quad has got some defunct functions now) Revision Changes Path 1.13 +28 -18 src/gnu/usr.bin/cc/libgcc/Makefile From owner-cvs-gnu Tue Oct 1 04:54:49 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id EAA13848 for cvs-gnu-outgoing; Tue, 1 Oct 1996 04:54:49 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id EAA13832; Tue, 1 Oct 1996 04:54:40 -0700 (PDT) Date: Tue, 1 Oct 1996 04:54:40 -0700 (PDT) From: Peter Wemm Message-Id: <199610011154.EAA13832@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/rtld rtld.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/01 04:54:40 Modified: gnu/usr.bin/ld/rtld rtld.c Log: Sigh, oh well, here's my obligigatory "oops" commit. I don't quite know how I managed to get this out of sync, but I did. I guess that's what I get for directly committing from different machines that I was testing on. Pointed out by: Paul Traina Revision Changes Path 1.36 +13 -1 src/gnu/usr.bin/ld/rtld/rtld.c From owner-cvs-gnu Tue Oct 1 09:09:51 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA26855 for cvs-gnu-outgoing; Tue, 1 Oct 1996 09:09:51 -0700 (PDT) Received: (from nate@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA26832; Tue, 1 Oct 1996 09:09:27 -0700 (PDT) Date: Tue, 1 Oct 1996 09:09:27 -0700 (PDT) From: Nate Williams Message-Id: <199610011609.JAA26832@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/rtld rtld.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk nate 96/10/01 09:09:26 Modified: gnu/usr.bin/ld/rtld rtld.c Log: There's no need to 'unsetenv()' unsafe environment variables explicitly since rt_readenv() already takes care of not setting unsafe variables. This was part of the changes I submitted to Peter and John during the review which must have gotten missed. Revision Changes Path 1.37 +1 -6 src/gnu/usr.bin/ld/rtld/rtld.c From owner-cvs-gnu Thu Oct 3 01:07:51 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA11274 for cvs-gnu-outgoing; Thu, 3 Oct 1996 01:07:51 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA11259; Thu, 3 Oct 1996 01:07:42 -0700 (PDT) Date: Thu, 3 Oct 1996 01:07:42 -0700 (PDT) From: Peter Wemm Message-Id: <199610030807.BAA11259@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/as/config tc-i386.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/03 01:07:41 Modified: gnu/usr.bin/as/config tc-i386.c Log: Ugly hack alert! libg++'s exception code causes gcc to generate (ahem!) non-conventional assembler code in -fpic mode that gas and ld choke on. Basically, gas and ld require than symbols referenced in the GOT (global offset table) are actually global (as the name implies). It attempted to work around it before, but didn't quite go far enough to prevent a core dump in ld. This hack causes GOT referenced symbols to be forced global. This probably breaks the __EXCEPTION_TABLE__ stuff in pic mode, but heck, it wasn't even possible to compile with a shared library before at all. I'm not 100% sure what the bug is. There's two possibilities: 1: gcc/cp/exception.c has to be fixed to stop doing GOT references to local symbols, or 2: as/ld/symorder/ld.so etc need to be taught about how to keep local symbols around so that they can be dealt with in GOT references. John Polstra's elfkit stuff seems to deal with this fine though, which is why I think it's a "missing feature" in our hacked gas and ld.. Revision Changes Path 1.6 +2 -1 src/gnu/usr.bin/as/config/tc-i386.c From owner-cvs-gnu Thu Oct 3 09:06:03 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA05216 for cvs-gnu-outgoing; Thu, 3 Oct 1996 09:06:03 -0700 (PDT) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id JAA05210; Thu, 3 Oct 1996 09:05:58 -0700 (PDT) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.7.6/8.7.3) with ESMTP id JAA17639; Thu, 3 Oct 1996 09:05:56 -0700 (PDT) Message-Id: <199610031605.JAA17639@austin.polstra.com> To: Peter Wemm Cc: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-gnu@freefall.freebsd.org Subject: Re: cvs commit: src/gnu/usr.bin/as/config tc-i386.c In-reply-to: <199610030807.BAA11259@freefall.freebsd.org> Date: Thu, 03 Oct 1996 09:05:56 -0700 From: John Polstra Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > libg++'s exception code causes gcc to generate (ahem!) non-conventional > assembler code in -fpic mode that gas and ld choke on. Basically, gas > and ld require than symbols referenced in the GOT (global offset table) > are actually global (as the name implies). It attempted to work around > it before, but didn't quite go far enough to prevent a core dump in ld. > This hack causes GOT referenced symbols to be forced global. This > probably breaks the __EXCEPTION_TABLE__ stuff in pic mode, but heck, it > wasn't even possible to compile with a shared library before at all. > > I'm not 100% sure what the bug is. There's two possibilities: > 1: gcc/cp/exception.c has to be fixed to stop doing GOT references to > local symbols, or Yes. That is the bug. I made a patch for gcc-2.7.2 some time ago that fixed this problem. I'll send it to you separately. > 2: as/ld/symorder/ld.so etc need to be taught about how to keep > local symbols around so that they can be dealt with in GOT references. No! Ick! Gross! > John Polstra's elfkit stuff seems to deal with this fine though, > which is why I think it's a "missing feature" in our hacked gas > and ld.. I think I probably included my patch in Elfkit. That's why it works OK. Warning! Even after fixing the GOT/GOTOFF problem, there is still a bug in the exception code from gcc-2.7.2 (and probably 2.7.2.1) for -fpic. I will try to find the details again from my mail archives. As I recall, it was making a PIC call without having set up %ebx properly. I didn't come up with a solution for that one. John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth From owner-cvs-gnu Thu Oct 3 15:50:53 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05501 for cvs-gnu-outgoing; Thu, 3 Oct 1996 15:50:53 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05472; Thu, 3 Oct 1996 15:50:43 -0700 (PDT) Date: Thu, 3 Oct 1996 15:50:43 -0700 (PDT) From: Peter Wemm Message-Id: <199610032250.PAA05472@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libstdc++ - New directory Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/03 15:50:43 src/gnu/lib/libstdc++ - New directory From owner-cvs-gnu Thu Oct 3 15:52:33 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05730 for cvs-gnu-outgoing; Thu, 3 Oct 1996 15:52:33 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05703; Thu, 3 Oct 1996 15:52:24 -0700 (PDT) Date: Thu, 3 Oct 1996 15:52:24 -0700 (PDT) From: Peter Wemm Message-Id: <199610032252.PAA05703@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libstdc++ Makefile _G_config.h Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/03 15:52:24 Added: gnu/lib/libstdc++ Makefile _G_config.h Log: Initial shot at a bmakefile for libstdc++ From owner-cvs-gnu Thu Oct 3 15:53:29 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05863 for cvs-gnu-outgoing; Thu, 3 Oct 1996 15:53:29 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05848; Thu, 3 Oct 1996 15:53:23 -0700 (PDT) Date: Thu, 3 Oct 1996 15:53:23 -0700 (PDT) From: Peter Wemm Message-Id: <199610032253.PAA05848@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/genclass - New directory Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/03 15:53:22 src/gnu/usr.bin/genclass - New directory From owner-cvs-gnu Thu Oct 3 16:00:16 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id QAA06445 for cvs-gnu-outgoing; Thu, 3 Oct 1996 16:00:16 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id QAA06426; Thu, 3 Oct 1996 16:00:10 -0700 (PDT) Date: Thu, 3 Oct 1996 16:00:10 -0700 (PDT) From: Peter Wemm Message-Id: <199610032300.QAA06426@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/genclass Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/03 16:00:10 Added: gnu/usr.bin/genclass Makefile Log: Initial attempt at a bmakefile for genclass. From owner-cvs-gnu Thu Oct 3 16:31:30 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id QAA09044 for cvs-gnu-outgoing; Thu, 3 Oct 1996 16:31:30 -0700 (PDT) Received: from spinner.DIALix.COM (root@spinner.DIALix.COM [192.203.228.67]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id QAA08999; Thu, 3 Oct 1996 16:31:09 -0700 (PDT) Received: from spinner.DIALix.COM (peter@localhost.DIALix.oz.au [127.0.0.1]) by spinner.DIALix.COM (8.8.0/8.8.0) with ESMTP id HAA19626; Fri, 4 Oct 1996 07:31:00 +0800 (WST) Message-Id: <199610032331.HAA19626@spinner.DIALix.COM> X-Mailer: exmh version 1.6.7 5/3/96 To: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-gnu@freefall.freebsd.org Subject: Re: cvs commit: src/gnu/lib/libstdc++ Makefile _G_config.h In-reply-to: Your message of "Thu, 03 Oct 1996 15:52:24 MST." <199610032252.PAA05703@freefall.freebsd.org> Date: Fri, 04 Oct 1996 07:30:59 +0800 From: Peter Wemm Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Peter Wemm wrote: > Added: gnu/lib/libstdc++ Makefile _G_config.h > Log: > Initial shot at a bmakefile for libstdc++ I've not connected these to the SUBDIR lists, nor committed the new libg++ Makefile, as I've not yet finished checking that a 'make world' runs from a fresh machine. I've got a bad feeling that gas is going to be needed before building these, so that might be even more steps in the 'make world'. I don't think any builds should be broken quite yet... Cheers, -Peter From owner-cvs-gnu Fri Oct 4 01:40:20 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA01792 for cvs-gnu-outgoing; Fri, 4 Oct 1996 01:40:20 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA01754; Fri, 4 Oct 1996 01:40:04 -0700 (PDT) Date: Fri, 4 Oct 1996 01:40:04 -0700 (PDT) From: Peter Wemm Message-Id: <199610040840.BAA01754@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libg++/doc - New directory Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/04 01:40:03 src/gnu/lib/libg++/doc - New directory From owner-cvs-gnu Fri Oct 4 01:43:50 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA01988 for cvs-gnu-outgoing; Fri, 4 Oct 1996 01:43:50 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA01971; Fri, 4 Oct 1996 01:43:39 -0700 (PDT) Date: Fri, 4 Oct 1996 01:43:39 -0700 (PDT) From: Peter Wemm Message-Id: <199610040843.BAA01971@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libg++ Makefile src/gnu/lib/libg++/doc Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/04 01:43:38 Modified: gnu/lib/libg++ Makefile Added: gnu/lib/libg++/doc Makefile Log: Update to use the contrib/libg++ version, now that my (slow) 486 has finished a 'make world'. Revision Changes Path 1.14 +44 -34 src/gnu/lib/libg++/Makefile From owner-cvs-gnu Fri Oct 4 01:44:39 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA02065 for cvs-gnu-outgoing; Fri, 4 Oct 1996 01:44:39 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA02046; Fri, 4 Oct 1996 01:44:29 -0700 (PDT) Date: Fri, 4 Oct 1996 01:44:29 -0700 (PDT) From: Peter Wemm Message-Id: <199610040844.BAA02046@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/04 01:44:27 Modified: gnu/lib Makefile Log: Add libstdc++ to the SUBDIR list Revision Changes Path 1.13 +2 -2 src/gnu/lib/Makefile From owner-cvs-gnu Fri Oct 4 01:45:47 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA02149 for cvs-gnu-outgoing; Fri, 4 Oct 1996 01:45:47 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA02132; Fri, 4 Oct 1996 01:45:36 -0700 (PDT) Date: Fri, 4 Oct 1996 01:45:36 -0700 (PDT) From: Peter Wemm Message-Id: <199610040845.BAA02132@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/04 01:45:36 Modified: gnu/usr.bin Makefile Log: Add genclass to the subdir list Revision Changes PaFrom owner-cvs-gnu Fri Oct 4 06:06:57 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id GAA16992 for cvs-gnu-outgoing; Fri, 4 Oct 1996 06:06:57 -0700 (PDT) Received: (from jkh@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id GAA16973; Fri, 4 Oct 1996 06:06:50 -0700 (PDT) Date: Fri, 4 Oct 1996 06:06:50 -0700 (PDT) From: "Jordan K. Hubbard" Message-Id: <199610041306.GAA16973@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libdialog msgbox.c textbox.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk jkh 96/10/04 06:06:49 Modified: gnu/lib/libdialog msgbox.c textbox.c Log: "CONTINUE" was just too long. Make it a nice "OK" now. Revision Changes Path 1.14 +1 -1 src/gnu/lib/libdialog/msgbox.c 1.15 +1 -1 src/gnu/lib/libdialog/textbox.c From owner-cvs-gnu Fri Oct 4 08:11:59 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id IAA24025 for cvs-gnu-outgoing; Fri, 4 Oct 1996 08:11:59 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id IAA24007; Fri, 4 Oct 1996 08:11:49 -0700 (PDT) Date: Fri, 4 Oct 1996 08:11:49 -0700 (PDT) From: Peter Wemm Message-Id: <199610041511.IAA24007@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/lib/libg++ Makefile Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/10/04 08:11:47 Modified: gnu/lib/libg++ Makefile Log: Oops, an editing error at one point meant I had missed the osfcn.h header (it was directly underneath where bool.h used to be in the list, I think I must have not been paying attention and deleted a word from the wrong line. The machine that I was testing on still had an (old?) osfcn.h file) Pointed out by: Andreas Klemm Revision Changes Path 1.15 +2 -2 src/gnu/lib/libg++/Makefile From owner-cvs-gnu Sat Oct 5 15:29:29 1996 Return-Path: owner-cvs-gnu Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA13061 for cvs-gnu-outgoing; Sat, 5 Oct 1996 15:29:29 -0700 (PDT) Received: (from wosch@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA12955; Sat, 5 Oct 1996 15:27:33 -0700 (PDT) Date: Sat, 5 Oct 1996 15:27:33 -0700 (PDT) From: Wolfram Schneider Message-Id: <199610052227.PAA12955@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-bin, cvs-user, cvs-games, cvs-lib, cvs-usrbin, cvs-gnu, cvs-libexec, cvs-sbin, cvs-usrsbin Subject: cvs commit: src/bin/ed ed.1 src/lib/libncurses curs_addch.3 curs_insstr.3 src/libexec/telnetd telnetd.8 src/sbin/mount_null mount_null.8 src/sbin/ping ping.8 src/usr.bin/cap_mkdb cap_mkdb.1 src/usr.bin/hexdump hexdump.1 src/usr.bin/ipcs ipcs.1 src/usr.bin/make make.1 src/usr.bin/quota quota.1 src/usr.bin/ranlib ranlib.1 src/usr.bin/tconv tconv.1 src/usr.bin/telnet telnet.1 src/usr.sbin/sa sa.8 src/usr.sbin/ypbind ypbind.8 src/bin/csh/USD.doc csh.1 csh.2 src/contrib/cvs/man cvs.1 src/contrib/libpcap pcap.3 src/contrib/tcl/doc FindExec.3 break.n continue.n expr.n unknown.n src/games/phantasia phantasia.6 src/games/sail sail.6 src/gnu/usr.bin/bc bc.1 src/gnu/usr.bin/perl/perl perl.1 src/gnu/usr.bin/texinfo/info info.1 src/lib/libc/db/man mpool.3 src/lib/libc/string memcmp.3 src/lib/libc/sys madvise.2 mkdir.2 src/lib/libc/xdr xdr.3 src/lib/libcompat/SysV ftok.3 src/lib/libftpio ftpio.3 src/usr.bin/sgmls/sgmls sgmls.1 src/usr.sbin/cdcontrol cdcontrol.1 src/usr.sbin/xntpd/doc tickadj.8 Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk wosch 96/10/05 15:27:31 Modified: bin/csh/USD.doc csh.1 csh.2 bin/ed ed.1 contrib/cvs/man cvs.1 contrib/libpcap pcap.3 contrib/tcl/doc FindExec.3 break.n continue.n expr.n unknown.n games/phantasia phantasia.6 games/sail sail.6 gnu/usr.bin/bc bc.1 gnu/usr.bin/perl/perl perl.1 gnu/usr.bin/texinfo/info info.1 lib/libc/db/man mpool.3 lib/libc/string memcmp.3 lib/libc/sys madvise.2 mkdir.2 lib/libc/xdr xdr.3 lib/libcompat/SysV ftok.3 lib/libftpio ftpio.3 lib/libncurses curs_addch.3 curs_insstr.3 libexec/telnetd telnetd.8 sbin/mount_null mount_null.8 sbin/ping ping.8 usr.bin/cap_mkdb cap_mkdb.1 usr.bin/hexdump hexdump.1 usr.bin/ipcs ipcs.1 usr.bin/make make.1 usr.bin/quota quota.1 usr.bin/ranlib ranlib.1 usr.bin/sgmls/sgmls sgmls.1 usr.bin/tconv tconv.1 usr.bin/telnet telnet.1 usr.sbin/cdcontrol cdcontrol.1 usr.sbin/sa sa.8 usr.sbin/xntpd/doc tickadj.8 usr.sbin/ypbind ypbind.8 Log: delete doubled words, e.g.: "the the" -> "the" Revision Changes Path 1.3 +2 -2 src/bin/csh/USD.doc/csh.1 1.3 +2 -2 src/bin/csh/USD.doc/csh.2 1.8 +2 -2 src/bin/ed/ed.1 1.2 +3 -1 src/contrib/cvs/man/cvs.1 1.2 +4 -2 src/contrib/libpcap/pcap.3 1.2 +2 -1 src/contrib/tcl/doc/FindExec.3 1.2 +2 -1 src/contrib/tcl/doc/break.n 1.2 +2 -1 src/contrib/tcl/doc/continue.n 1.2 +2 -1 src/contrib/tcl/doc/expr.n 1.2 +2 -1 src/contrib/tcl/doc/unknown.n 1.2 +3 -1 src/games/phantasia/phantasia.6 1.2 +2 -1 src/games/sail/sail.6 1.3 +3 -2 src/gnu/usr.bin/bc/bc.1 1.3 +8 -2 src/gnu/usr.bin/perl/perl/perl.1 1.3 +3 -1 src/gnu/usr.bin/texinfo/info/info.1 1.2 +2 -1 src/lib/libc/db/man/mpool.3 1.2 +2 -1 src/lib/libc/string/memcmp.3 1.7 +2 -1 src/lib/libc/sys/madvise.2 1.2 +2 -1 src/lib/libc/sys/mkdir.2 1.3 +3 -1 src/lib/libc/xdr/xdr.3 1.5 +2 -2 src/lib/libcompat/SysV/ftok.3 1.11 +2 -1 src/lib/libftpio/ftpio.3 1.4 +3 -1 src/lib/libncurses/curs_addch.3 1.4 +3 -1 src/lib/libncurses/curs_insstr.3 1.4 +2 -2 src/libexec/telnetd/telnetd.8 1.5 +2 -2 src/sbin/mount_null/mount_null.8 1.3 +2 -1 src/sbin/ping/ping.8 1.2 +3 -2 src/usr.bin/cap_mkdb/cap_mkdb.1 1.5 +2 -1 src/usr.bin/hexdump/hexdump.1 1.3 +2 -2 src/usr.bin/ipcs/ipcs.1 1.5 +2 -1 src/usr.bin/make/make.1 1.3 +2 -2 src/usr.bin/quota/quota.1 1.3 +2 -1 src/usr.bin/ranlib/ranlib.1 1.3 +2 -1 src/usr.bin/sgmls/sgmls/sgmls.1 1.5 +3 -1 src/usr.bin/tconv/tconv.1 1.3 +2 -1 src/usr.bin/telnet/telnet.1 1.8 +3 -1 src/usr.sbin/cdcontrol/cdcontrol.1 1.4 +2 -2 src/usr.sbin/sa/sa.8 1.2 +8 -8 src/usr.sbin/xntpd/doc/tickadj.8 1.5 +2 -2 src/usr.sbin/ypbind/ypbind.8