From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32660 invoked by alias); 14 Nov 2009 08:52:56 -0000 Received: (qmail 32652 invoked by uid 22791); 14 Nov 2009 08:52:55 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pw0-f57.google.com (HELO mail-pw0-f57.google.com) (209.85.160.57) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 14 Nov 2009 08:51:51 +0000 Received: by pwi2 with SMTP id 2so2582859pwi.16 for ; Sat, 14 Nov 2009 00:51:50 -0800 (PST) Received: by 10.115.67.30 with SMTP id u30mr9354585wak.119.1258188709937; Sat, 14 Nov 2009 00:51:49 -0800 (PST) Received: from Paullaptop (203-158-49-56.dyn.iinet.net.au [203.158.49.56]) by mx.google.com with ESMTPS id 22sm2857544pxi.14.2009.11.14.00.51.46 (version=SSLv3 cipher=RC4-MD5); Sat, 14 Nov 2009 00:51:48 -0800 (PST) Message-ID: <3FAFF5DABCFE4E2481AF2B69337626F4@Paullaptop> From: "Paul Edwards" To: "Ulrich Weigand" Cc: "Ralf Wildenhues" , "Ian Lance Taylor" , References: <200911131257.nADCvpjn024342@d12av02.megacenter.de.ibm.com> In-Reply-To: <200911131257.nADCvpjn024342@d12av02.megacenter.de.ibm.com> Subject: Re: i370 port - constructing compile script Date: Sat, 14 Nov 2009 08:52:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=original Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-11/txt/msg00390.txt.bz2 > Well, the configure process should result in the variable LIBOBJS > in the generated libiberty Makefile to be set to list of objects > containing implementations of replacement system routines. > > So if you do not have HAVE_STRCASECMP in config.h, you should > have been getting strcasecmp.o in LIBOBJS ... And indeed, I sort of am. LIBOBJS includes a strcasecmp.s$U.s That suffix is certainly strange-looking though. I checked in config.log and I can see that it automatically detected that my "object code" has a ".s" extension, which is basically correct given that I forced the "-S" option. All of the LIBOBJS are like that. In addition, there's another problem - it has included strncmp in the list. I had a look and it appears that it attempts to actually run the program to see if strncmp works. That's not going to work in a cross-compile environment though. So maybe it assumes the worst. I've taken a look at the Makefile to try to find out what is happening. It seems that there are REQUIRED_OFILES which include things like safe-ctype and that has to have a ".o" extension. Give that those are hardcoded and forced to ".o", why isn't LIBOBJS done the same way? Anyway, I decided to change this: else LIBOBJS="$LIBOBJS $ac_func.$ac_objext" fi code you showed earlier to be hardcoded to .o. And then I changed ac_libobjs to stop putting that $U in there as well, and I finally got my strcasecmp. Note that I also seem to be getting strerror. It's on the list of "required files", even though it isn't required or wanted. configure correctly detected that I already had strerror. I manually excluded that from my list of files and now things are looking good again - including strcasecmp being automatically selected in the build process. :-) Hopefully it won't be too much longer before I have the stage 1 JCL being automatically generated so that I can verify the new files to be compiled actually work on MVS. :-) BFN. Paul.