Bug#454036: dpkg-dev: dpkg-shlibdeps misses symbols and thus outputs false warnings

2008-01-03 Thread Raphael Hertzog
Hi,

a long mail with some IRC discussion of the problem.

On Sun, 02 Dec 2007, Bernhard R. Link wrote:
> dpkg-shlibdeps misses some symbols and thus prints warnings about not
> using symbols from a library even when doing so.
[...]
> Thus those symbols are actually needed. (They are variables with the
> object class of the widget, referencing the actual used methods as
> function pointers, thus no other symbols from this library are used).
> 
> | $ objdump -R debian/xbuffy/usr/bin/xbuffy
> | debian/xbuffy/usr/bin/xbuffy: file format elf32-sparc
> | 
> | DYNAMIC RELOCATION RECORDS
> | OFFSET   TYPE  VALUE 
[...]
> | 00028a40 R_SPARC_COPY  boxWidgetClass

[...]

> | >From what I can tell, it seems not to be visible with -w -f -p -T:

They are visible:

> | $ objdump -w -f -p -T debian/xbuffy/usr/bin/xbuffy
> | debian/xbuffy/usr/bin/xbuffy: file format elf32-sparc
> | architecture: sparc:v8plus, flags 0x0112:
> | EXEC_P, HAS_SYMS, D_PAGED
> | start address 0x00011660
[...]
> | DYNAMIC SYMBOL TABLE:
[...]
> | 00028a40 gDO .bss   0004  boxWidgetClass

Except that the symbol is marked as contained in .bss section.
Since I didn't know the precise role of that .bss section (documentation
says it's for uninitialized data) I asked vorlon:

 buxy: 454036: definitely a dpkg-dev bug, data symbols should also
be part of the list being checked
[...]
 the bug log has has the relevant objdump output on the binary
 right
 The problem being it's a copy relocation?
 yes, seems so
 Q_: do you know of any case when there should be an exported symbol in 
.bss that /isn't/ a copy relocation?
 I have no idea.
 ok
 buxy: my guess is that it's reasonable, at least as a next pass, to 
treat all .bss symbols you find as unresolved symbols
 if we find exceptions, we can sort those out after :

But after some more reseach it appeared that it's not really reasonable:
 vorlon: I don't think I can consider dynamic symbols marked contained in 
.bss as undefined...
 vorlon: because I see for example on objdump -T /bin/ls: 0805b864 g
DO .bss 0004  GLIBC_2.0   optarg
 and on libc6:
 0011a6bc gDO .bss 0004  GLIBC_2.0   optarg
 and undefined on both sides doesn't make sense
 buxy: ah, neat :)
 buxy: In libc6 it also has a relocation: R_X86_64_GLOB_DAT  optarg
 Q_: yeah, I was just checking that how should I interpret that ?
 right, so objdump -R and then you have to know which relocs indicate 
its undefined
 such as R_386_COPY and R_X86_64_COPY
 yay arch-specificity

 meaning what?
 $ objdump -T -p -m -f -R /lib/libc.so.6 |grep optarg
 0014c3c4 gDO .bss   0004  GLIBC_2.0   optarg
 00148fe8 R_386_GLOB_DAToptarg
 $
 that's a dynamic reloc, no?
 at least, it shows up only under -R
 -R are the dynamic relocs.
 so where is optarg defined ? :)
 GLOB_DAT seems to be saying something about the GOT.
 buxy: in libc.so.6, I guess...
 But I need to read it a few times before I understand I think.
<-- aike est parti (Quit: Leaving)
 buxy: .dynsym also contains an optarg@@GLIBC_2.2.5
 seen how?
 .dynsym is -T no ? but I don't see it
 I'm still a bit confused.
 But it's in .bss yes.
 I was looking with readelf, which shows:   1243: 0035cde0 8 OBJECT 
 GLOBAL DEFAULT   33 optarg@@GLIBC_2.2.5
 Where the "33" is .bss
 So, it's just an unintiliased global variable?
 Q_: sound reasonable for optarg
 possibly, but what does it mean to have the symbols defined on both 
sides ?
 And the relocation is just something else that wants to use it.
 buxy: It's a copy relocation, like most variables.
 and how I can differentiate it from the libXaw case where I need to find 
out that the binary really needs a symbol that comes from libXaw ?
 because xbuffy has the copy relocation, and libXaw doesn't
 the copy relocation, AFAIU, is what tells ld.so to go looking for the matching 
symbol
 What the copy relocation does it copy the pointer in your .bss
 Since it can't go thru a GOT or simular for it.
 okay, so I should parse -R find symbols with R_*_COPY relocations and 
consider looking for a corresponding symbol in the libs
 well, that's my understanding, but I'm not sure how to parse what Q_ 
said
 buxy: I think you can look at all relocations.
 Hmm, or not.
 Q_: I don't think I can reasonably do that...
 what does it mean for me to look for optarg while scanning libc6 ? :)
 buxy: I don't understand your last question.
 Q_: currently the symbols like optarg with .bss in objdump -T are 
considered as defined and are thus output in DEBIAN/symbols files, so it means 
that I consider that libraries provide them
 I think you should just look for a defined symbol, like you do with the 
other undefined symbols.
 except that I don't look in the current binary at all
 Oh, in case of a copy relocation it's not defined.
 awesome: configure.ac:  CFLAGS="$CFLAGS -O3"
 It's a copy from what's in a library.
 so you agree that I should handle differently symbols listed in -R 
depending on the type 

Bug#363323: dpkg-gencontrol: support multiple -T options

2008-01-03 Thread Raphael Hertzog
On Tue, 18 Apr 2006, Peter Eisentraut wrote:
> It would be useful in some cases if dpkg-gencontrol could read
> substitution variables from multiple files.  So letting -T
> options accumulate rather than overwrite each other would be nice.

What is this use case precisely?

Given that you can add multiple substitution variables to the same
file, I'm wondering why you'd prefer having multiple files.

Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/





Bug#454036: dpkg-dev: dpkg-shlibdeps misses symbols and thus outputs false warnings

2008-01-03 Thread Bernhard R. Link
Sorry for my late reply. Somehow the mail did not reach me. (perhaps
some spam filtering gone wild...)

* Cyril Brulebois <[EMAIL PROTECTED]> [071226 05:03]:
> "Bernhard R. Link" <[EMAIL PROTECTED]> (02/12/2007):
> The point here is "-r". Both symbols are defined in
> /usr/lib/libXaw7.so.7.0.0, which gets recursively pulled in through
> libXaw; so I guess that dpkg-shlibdeps would like you
> to link against libXaw7 directly instead of linking against libXaw.

Sorry, I don't understand you. The binary links against libXaw.so.7
and it needs to (as ldd's errors show when replacing the needed header
in the binary manually with libYaw. Any recursivity of ldd canot make
any difference, as libXaw is not used by other libraries but vice
versa).

Hochachtungsvoll,
Bernhard R. Link
-- 
"Never contain programs so few bugs, as when no debugging tools are available!"
Niklaus Wirth




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



Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386

2008-01-03 Thread Raphael Hertzog
On Thu, 03 Jan 2008, Matthias Klose wrote:
> > I checked the Debian Changelog but couldn't find any reference why this
> > dependency was added. Please revert this change again.
> 
> This seems to be new behaviour of dpkg-shlibdeps:

Indeed, I investigated this with Matthias and dpkg-shlibdeps picks the
wrong symbols file when trying to generate the dependency on libstdc++6
as proven by this log:

> Library libgcc_s.so.1 found in debian/libgcc1/lib/libgcc_s.so.1
> No associated package found for debian/libgcc1/lib/libgcc_s.so.1
> Using symbols file debian/lib64gcc1/DEBIAN/symbols for libgcc_s.so.1

I have a fix in my git repo. I'm doing some test and will push it to the
main repo.

I will see with Guillem if we can do an upload to get this fixed in
unstable soonish.

Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/





Processed: found 458860 in 1.14.14 ..., user [EMAIL PROTECTED], usertagging 458860 ... ...

2008-01-03 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> # Automatically generated email from bts, devscripts version 2.10.11
> found 458860 1.14.14
Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386
Bug marked as found in version 1.14.14.

> retitle 458860 dpkg-shlibdeps: chooses bad symbols files when there's several 
> providing the same soname
Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386
Changed Bug title to `dpkg-shlibdeps: chooses bad symbols files when there's 
several providing the same soname' from `libstdc++6: Dependency on lib64gcc1 on 
i386'.

> user [EMAIL PROTECTED]
Setting user to [EMAIL PROTECTED] (was [EMAIL PROTECTED]).
> usertags 458860 + dpkg-shlibdeps
Bug#458860: dpkg-shlibdeps: chooses bad symbols files when there's several 
providing the same soname
There were no usertags set.
Usertags are now: dpkg-shlibdeps.
> block 458894 with 458860
Bug#458860: dpkg-shlibdeps: chooses bad symbols files when there's several 
providing the same soname
Bug#458894: libstdc++6: Dependency on lib64gcc1 on i386
Was not blocked by any bugs.
Blocking bugs of 458894 added: 458860

> unblock 458860 with 458894
Bug#458894: libstdc++6: Dependency on lib64gcc1 on i386
Bug#458860: dpkg-shlibdeps: chooses bad symbols files when there's several 
providing the same soname
Was blocked by: 458894
Blocking bugs of 458860 removed: 458894

>
End of message, stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)



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



Processed: Re: Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386

2008-01-03 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> clone 458860 -1
Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386
Bug 458860 cloned as bug 458894.

> reassign 458860 dpkg-dev
Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386
Bug reassigned from package `libstdc++6' to `dpkg-dev'.

> block 458860 by -1
Bug#458894: libstdc++6: Dependency on lib64gcc1 on i386
Bug#458860: libstdc++6: Dependency on lib64gcc1 on i386
Was not blocked by any bugs.
Blocking bugs of 458860 added: 458894

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)



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



Bug#108587: is it you? jennie here

2008-01-03 Thread jennie


Do not ignore me please,
I found your email somewhere and now decided to write you.
Let me know if you do not mind. If you want I can send you some pictures of me.
I am a nice pretty girl. Don't reply to this email. 
Email me direclty at [EMAIL PROTECTED]




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