From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6498 invoked by alias); 5 May 2005 19:28:49 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 6359 invoked from network); 5 May 2005 19:28:45 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 5 May 2005 19:28:45 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id j45JSiiK025325 for ; Thu, 5 May 2005 15:28:44 -0400 Received: from post-office.corp.redhat.com (post-office.corp.redhat.com [172.16.52.227]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j45JSiO11786; Thu, 5 May 2005 15:28:44 -0400 Received: from greed.delorie.com (dj.cipe.redhat.com [10.0.0.222]) by post-office.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j45JSgv31754; Thu, 5 May 2005 15:28:43 -0400 Received: from greed.delorie.com (greed.delorie.com [127.0.0.1]) by greed.delorie.com (8.13.1/8.13.1) with ESMTP id j45JSbj1026342; Thu, 5 May 2005 15:28:38 -0400 Received: (from dj@localhost) by greed.delorie.com (8.13.1/8.13.1/Submit) id j45JSWuO026339; Thu, 5 May 2005 15:28:32 -0400 Date: Thu, 05 May 2005 19:32:00 -0000 Message-Id: <200505051928.j45JSWuO026339@greed.delorie.com> From: DJ Delorie To: wilson@specifixinc.com CC: binutils@sources.redhat.com In-reply-to: <1115316630.8413.20.camel@aretha.corp.specifixinc.com> (message from James E Wilson on Thu, 05 May 2005 11:10:30 -0700) Subject: Re: Another HP-UX IA64 Build patch References: <200505051751.KAA17543@hpsje.cup.hp.com> <1115316630.8413.20.camel@aretha.corp.specifixinc.com> X-SW-Source: 2005-05/txt/msg00202.txt.bz2 > > I see it doesn't have the const modifier that libiberty has. I didn't > > get a warning or error presumbably because the build didn't include > > libgen.h. > > This is a libiberty bug. It's not supposed to be. Applications using libiberty.h need to define HAVE_DECL_BASENAME properly. If a prototype is found in the system headers, libiberty.h should not provide a prototype *at all*. If the application checks and does not find any prototype, libiberty.h should provide a full prototype. If the application does not check, libiberty.h will provide a K&R-style empty prototype. All the os-specific exceptions are there because a lot of application developers are too lazy to add the checks in all over the place (understandable) so they special cased their OS instead. Adding to the list is, in general, the wrong thing to do. If anything, the list should be shrinking as applications learn to properly test for the prototype.