Hi, It seems that binaries are different in terms of dwarf section:
[EMAIL PROTECTED] ~/rpm/BUILD/distcc-2.14]$ file distcc distcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped [EMAIL PROTECTED] ~/rpm/BUILD/distcc-2.14]$ file distcc.gcc distcc.gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped distcc binary was compiled using distcc, distcc.gcc was compiled using only local gcc 3.3.3. Now the difference: [EMAIL PROTECTED] ~/rpm/BUILD/distcc-2.14]$ readelf --debug-dump distcc 2>&1 |grep comp_dir | grep string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string [...] DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string while [EMAIL PROTECTED] ~/rpm/BUILD/distcc-2.14]$ readelf --debug-dump distcc.gcc 2>&1 |grep comp_dir | grep string DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir : (indirect string, offset: 0x1020): /home/users/misiek/rpm/BUILD/distcc-2.14 DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string DW_AT_comp_dir DW_FORM_string as you can see distcc compiled using distcc misses proper DW_AT_comp_dir entry. This breaks tool used in PLD Linux and in Fedora Core. It's called debugedit and it's part of rpm package. It's task is to find out paths, get list of source files so these can be placed in debug files included in debugedit subpackages like this: /usr/lib/debug/usr/bin/distcc.debug /usr/lib/debug/usr/bin/distccd.debug /usr/lib/debug/usr/bin/distccmon-gnome.debug /usr/lib/debug/usr/bin/distccmon-text.debug /usr/src/debug/distcc-2.14 /usr/src/debug/distcc-2.14/lzo /usr/src/debug/distcc-2.14/lzo/lzoconf.h /usr/src/debug/distcc-2.14/lzo/minilzo.c /usr/src/debug/distcc-2.14/src /usr/src/debug/distcc-2.14/src/access.c /usr/src/debug/distcc-2.14/src/access.h /usr/src/debug/distcc-2.14/src/arg.c [...] and then you can have /usr/bin/distcc stripped + load symbols in gdb via add-symbol-file. Bad DW_AT_comp_dir causes that it can't find correct sources. My setup is described in previous email (,,distcc 2.14 bugs in lzo code(?)''). -- Arkadiusz Miśkiewicz CS at FoE, Wroclaw University of Technology arekm.pld-linux.org, 1024/3DB19BBD, JID: arekm.jabber.org, PLD/Linux __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc