From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7587 invoked by alias); 28 Apr 2005 15:08:25 -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 7264 invoked from network); 28 Apr 2005 15:08:14 -0000 Received: from unknown (HELO uk-mimesweeper.terastack.bluearc.com) (195.173.195.66) by sourceware.org with SMTP; 28 Apr 2005 15:08:14 -0000 Received: from uk-email.terastack.bluearc.com (UK-EMAIL.terastack.bluearc.com) by uk-mimesweeper.terastack.bluearc.com (Clearswift SMTPRS 5.0.9) with ESMTP id ; Thu, 28 Apr 2005 16:08:13 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: excessive stab information Date: Thu, 28 Apr 2005 15:21:00 -0000 Message-ID: <89E85E0168AD994693B574C80EDB9C2701D6A3CD@uk-email.terastack.bluearc.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Andy Chittenden" To: "Dave Korn" , "Ian Lance Taylor" Cc: , "Martin Dorey" X-SW-Source: 2005-04/txt/msg00850.txt.bz2 I've now sorted out our #includes so that no header file defines a type within a #ifdef. This did save around 3% on the size of an elf so thanks for that suggestion. However, we still have massive stabs. Further analysis of the output of objdump --stabs led me to develop this patch to bfd/stabs.c which removes a further 2%: is it ok to apply? cvs diff: Diffing . Index: stabs.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/bfd/stabs.c,v retrieving revision 1.22 diff -c -w -u -r1.22 stabs.c cvs diff: conflicting specifications of output style --- stabs.c 11 Apr 2005 08:23:04 -0000 1.22 +++ stabs.c 28 Apr 2005 15:01:39 -0000 @@ -27,6 +27,8 @@ #include "libbfd.h" #include "aout/stab_gnu.h" #include "safe-ctype.h" +#include +#include =20 /* Stabs entries use a 12 byte format: 4 byte string table index @@ -298,6 +300,10 @@ struct stab_link_includes_entry * incl_entry; struct stab_link_includes_totals * t; struct stab_excl_list * ne; + char resolved_path[PATH_MAX]; +=20=20=20=20=20=20=20=20=20=20 + if (realpath(string, resolved_path) !=3D 0) + string =3D resolved_path; =20 symb =3D symb_rover =3D NULL; sum_chars =3D num_chars =3D 0; --=20 Andy, BlueArc Engineering