From owner-freebsd-current Wed May 24 19:08:33 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id TAA06139 for current-outgoing; Wed, 24 May 1995 19:08:33 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id TAA06073 for ; Wed, 24 May 1995 19:08:07 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id LAA09477; Thu, 25 May 1995 11:55:37 +1000 Date: Thu, 25 May 1995 11:55:37 +1000 From: Bruce Evans Message-Id: <199505250155.LAA09477@godzilla.zeta.org.au> To: ortmann@localhost.nodak.edu Subject: Re: gnu/442: when invoked from "make' cc not including name lists in some library objects Cc: current@FreeBSD.org Sender: current-owner@FreeBSD.org Precedence: bulk >When "make"ing some library object files "cc" apparently goofs up >and forgets to include names in the object files. This causes any >routine that tries to use that library object to not link because >a name is not found. >This happens *only* inside of "make", and never when manually >compiling that object. This is normal for objects that don't have any code or data because the sources were reduced to nothing by `#ifdef DEBUG' or similar. cc generates objects that are empty except for a couple the labels `___gnu_compiled_c' and `gcc2_compiled.' and `make' runs `ld -r -x' to remove usless and useful labels (silently so that you can't see what it is doing). >/usr/lib/librpcsvc.a >nm: yppasswd_xdr.o: no name list. >nm: spray_xdr.o: no name list. >nm: sm_inter_xdr.o: no name list. >nm: rwall_xdr.o: no name list. >nm: rstat_xdr.o: no name list. >nm: rquota_xdr.o: no name list. >nm: rnusers_xdr.o: no name list. >nm: rex_xdr.o: no name list. >nm: nlm_prot_xdr.o: no name list. >nm: nfs_prot_xdr.o: no name list. >nm: mount_xdr.o: no name list. >nm: klm_prot_xdr.o: no name list. However, most of these shouldn't be null. Check the machine-generated sources for them. Here only rwall_xdr.o and rwall_xdr.c are null. Bruce