At Wed,  4 Aug 2004 01:49:54 +0200,
[EMAIL PROTECTED] wrote:
> Selon Daniel Jacobowitz <[EMAIL PROTECTED]>:
> 
> > On Fri, Jul 23, 2004 at 04:53:54PM +0900, GOTO Masanori wrote:
> > > Hi,
> > > 
> > > At Mon, 19 Jul 2004 15:32:34 +0200 (CEST),
> > > Fabien Carrion wrote:
> > > > I got a little suggestion for the package libc6-dbg. I used it for a
> > > > little while, and the principal limitation is that we can't debug
> > inside
> > > > the macros. So I would like to know if you planed to do an another
> > package
> > > > with the debugging symbols for the macros, I mean the gcc's options :
> > > > - -gdwarf-2 -g3
> > > 
> > > It's good idea for me.  I don't know we can use DWARF2 level3 on all
> > > architectures, though.
> > > 
> > > Daniel, how about adding this option?  If it's easy to add simply this
> > > option, I welcome to use it.
> > 
> > Sorry, I missed this message.
> > 
> > It's easy to add.  It will work on all platforms.  However:

Thanks follow up.  It's nice to work on all platforms.

> > (A) it will be a huge increase in disk space

I checked (A) built glibc with -gdwarf2 -g3.  But the build was failed
during i386-libc:

        /disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1
        /build-tree/i386-libc/elf/ld-linux.so.2 --library-path /disk/hdc2/glib
        c/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1/build-tree/i38
        6-libc:/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.
        3.2.ds1/build-tree/i386-libc/math:/disk/hdc2/glibc/debian-build/glibc_
        2.3.2.ds1-16.test1/glibc-2.3.2.ds1/build-tree/i386-libc/elf:/disk/hdc2
        /glibc/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1/build-tre
        e/i386-libc/dlfcn:/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.tes
        t1/glibc-2.3.2.ds1/build-tree/i386-libc/nss:/disk/hdc2/glibc/debian-bu
        ild/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1/build-tree/i386-libc/nis:
        /disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1
        /build-tree/i386-libc/rt:/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1
        -16.test1/glibc-2.3.2.ds1/build-tree/i386-libc/resolv:/disk/hdc2/glibc
        /debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1/build-tree/i386
        -libc/crypt:/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/gli
        bc-2.3.2.ds1/build-tree/i386-libc/linuxthreads:/usr/lib/libfakeroot:/u
        sr/lib64/libfakeroot /disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.
        test1/glibc-2.3.2.ds1/build-tree/i386-libc/timezone/zic -d /disk/hdc2/
        glibc/debian-build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1/debian/tmp
        -libc/usr/share/zoneinfo -L /dev/null -y ./yearistype africa
        make[3]: *** [/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/g
        libc-2.3.2.ds1/debian/tmp-libc/usr/share/zoneinfo/Africa/Algiers] Segm
        entation fault
        make[3]: Leaving directory `/disk/hdc2/glibc/debian-build/glibc_2.3.2.
        ds1-16.test1/glibc-2.3.2.ds1/build-tree/glibc-2.3.2/timezone'
        make[2]: *** [timezone/subdir_install] Error 2
        make[2]: Leaving directory `/disk/hdc2/glibc/debian-build/glibc_2.3.2.
        ds1-16.test1/glibc-2.3.2.ds1/build-tree/glibc-2.3.2'
        make[1]: *** [install] Error 2
        make[1]: Leaving directory `/disk/hdc2/glibc/debian-build/glibc_2.3.2.
        ds1-16.test1/glibc-2.3.2.ds1/build-tree/i386-libc'
        make: *** [/disk/hdc2/glibc/debian-build/glibc_2.3.2.ds1-16.test1/glib
        c-2.3.2.ds1/stamp-dir/install_libc] Error 2

It seems i386-libc was not correctly built.  I didn't investigate why
this build was failed.

This is intermediate result, but directory size becomes:

    [EMAIL 
PROTECTED]:~/debian/glibc/cvs/build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1> du -s 
build-tree
    6047220 build-tree
    [EMAIL 
PROTECTED]:~/debian/glibc/cvs/build/glibc_2.3.2.ds1-16.test1/glibc-2.3.2.ds1> du -s 
build-tree/*
    116184  build-tree/glibc-2.3.2
    1814124 build-tree/i386-i686
    2385268 build-tree/i386-libc
    1731640 build-tree/i386-nptl

glibc 2.3.2.ds1-14 on i386 needs:

    [EMAIL 
PROTECTED]:~/debian/glibc/cvs/build/glibc_2.3.2.ds1-14.release/glibc-2.3.2.ds1> du -s 
build-tree
    1430088 build-tree
    [EMAIL 
PROTECTED]:~/debian/glibc/cvs/build/glibc_2.3.2.ds1-14.release/glibc-2.3.2.ds1> du -s 
build-tree/*
    124708  build-tree/glibc-2.3.2
    187780  build-tree/i386-i686
    930480  build-tree/i386-libc
    187116  build-tree/i386-nptl

It means we need more build space for glibc.  It's 4 times larger from
1.5GB to 6GB.  I guess it increases on other architectures.  Comparing
each file size:

        2.3.2.ds1-14    2.3.2.ds1-16
         2033270        117063759       i386-i686/libc.so
        23105290        120783012       i386-libc/libc.so
         2033441        109070250       i386-nptl/libc.so
          131499          5242995       i386-i686/elf/ld.so
         1132410          5984894       i386-libc/elf/ld.so
          127268          5156036       i386-nptl/elf/ld.so
          162875         16342311       i386-i686/nptl/libpthread.so*
           47973          5499013       i386-i686/nptl_db/libthread_db.so*

You can see the file size is _more than_ 4 times larger.  So, from the
above observations:

 (1) Considering disk space consumed by glibc build, it's too large.
 (2) Considering libc-dbg file size, it's also too much large size.

> > (B) is that really what the submitter needs?  Probably they want to
> > debug the macros in their source rather than in glibc's source...
> > If you need to debug that deep into glibc, you probably want to rebuild
> > it yourself anyway.

I fully agreed.

BTW, it's good idea to provide control "-g" level at a few point,
using (for example) CFLAGS_DEBUGLEVEL="-g" and so on.  There're some
places to describe "-g" level in debian glibc.

> I really need this feature, I want to debug in the libc macro. I don t know if 
> there is a need to do a special package. Basically I just tried to compile my 
> one package, but each time, it takes ages, and it never finished the 
> compilation, because there was no space left on the disk. I bet it does not 
> compile only one package, but various packages for various architectures.

If your reason is only "because there was no space left on the disk",
I would like to deny your request.  Only the thing you should do is:
adding a large disk to your machine.

I feel it's very interesting suggestion, and I would like to use this
option for personal glibc debugging build.  But I also think it's too
large to provide libc-dbg package with -gdwarf2 -g3.  Fabien, if you
want to insist to support -g3, please check the file size on all (11)
official architectures and report us the total size.  I think it
consumes a lot of disk spaces.  At least, from above result, I don't
apply your suggestion for libc6-dbg.

> So if there is no package made, I would like to have a link on a
> documentation on how to compile properly the libc6 package on a
> debian...

You need to know how to build debian packages as follows:

        apt-get build-dep libc6
        apt-get source libc6
        cd glibc-2.3.2.ds1
        debuild

Regards,
-- gotom



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to