RTLD changes for non-native system (was: Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit ?binaries?)

2008-10-28 Thread Alexander Leidinger
Quoting Daniel O'Connor [EMAIL PROTECTED] (from Tue, 28 Oct 2008 10:18:10 +1030): On Tuesday 28 October 2008 01:31:16 M. Warner Losh wrote: In message: [EMAIL PROTECTED] Oliver Fromme [EMAIL PROTECTED] writes: : Daniel O'Connor wrote: : On Friday 24 October 2008 23:20:59 Peter

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit ?binaries?

2008-10-27 Thread Oliver Fromme
Daniel O'Connor wrote: On Friday 24 October 2008 23:20:59 Peter Jeremy wrote: this will make system trying to bind 32-bit libs to 64-bit program. it can't work rtld shouldn't attempt to bind 32-bit libs to 64-bit programs. The same problem happens with the Linux run time

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit ?binaries?

2008-10-27 Thread M. Warner Losh
In message: [EMAIL PROTECTED] Oliver Fromme [EMAIL PROTECTED] writes: : Daniel O'Connor wrote: : On Friday 24 October 2008 23:20:59 Peter Jeremy wrote: : this will make system trying to bind 32-bit libs to 64-bit program. it : can't work : :rtld shouldn't attempt to

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit ?binaries?

2008-10-27 Thread Daniel O'Connor
On Tuesday 28 October 2008 01:31:16 M. Warner Losh wrote: In message: [EMAIL PROTECTED] Oliver Fromme [EMAIL PROTECTED] writes: : Daniel O'Connor wrote: : On Friday 24 October 2008 23:20:59 Peter Jeremy wrote: : this will make system trying to bind 32-bit libs to 64-bit :

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-25 Thread Alexander Sack
On Fri, Oct 24, 2008 at 7:28 PM, Daniel O'Connor [EMAIL PROTECTED] wrote: On Friday 24 October 2008 23:20:59 Peter Jeremy wrote: this will make system trying to bind 32-bit libs to 64-bit program. it can't work rtld shouldn't attempt to bind 32-bit libs to 64-bit programs. The same problem

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-25 Thread Alexander Kabaev
On Sat, 25 Oct 2008 08:49:19 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Is this a bug or not in FreeBSD's rtld? -aps It is not. In case it was not clear before, I maintain that you _ask_ rtld for wrong behaviour and you get back what you asked for, down to the letter. 'Tasting'

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-25 Thread Alexander Sack
On Sat, Oct 25, 2008 at 9:57 AM, Alexander Kabaev [EMAIL PROTECTED] wrote: On Sat, 25 Oct 2008 08:49:19 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Is this a bug or not in FreeBSD's rtld? -aps It is not. In case it was not clear before, I maintain that you _ask_ rtld for wrong

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-25 Thread Alexander Kabaev
On Sat, 25 Oct 2008 13:10:53 -0400 Alexander Sack [EMAIL PROTECTED] wrote: On Sat, Oct 25, 2008 at 9:57 AM, Alexander Kabaev [EMAIL PROTECTED] wrote: On Sat, 25 Oct 2008 08:49:19 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Is this a bug or not in FreeBSD's rtld? -aps It is

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-24 Thread Wojciech Puchar
6.1-RELEASE-amd64 machine. If I add /usr/lib32 to my LD_LIBRARY_PATH it breaks all of my binaries on my 64-bit machine. what do you expect else? this will make system trying to bind 32-bit libs to 64-bit program. it can't work ___

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-24 Thread Peter Jeremy
On 2008-Oct-24 10:43:04 +0200, Wojciech Puchar [EMAIL PROTECTED] wrote: 6.1-RELEASE-amd64 machine. If I add /usr/lib32 to my LD_LIBRARY_PATH it breaks all of my binaries on my 64-bit machine. what do you expect else? Well, the rtld should be smart enough to recognize 32-bit .so's and skip

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-24 Thread Alexander Sack
On Fri, Oct 24, 2008 at 8:50 AM, Peter Jeremy [EMAIL PROTECTED] wrote: On 2008-Oct-24 10:43:04 +0200, Wojciech Puchar [EMAIL PROTECTED] wrote: 6.1-RELEASE-amd64 machine. If I add /usr/lib32 to my LD_LIBRARY_PATH it breaks all of my binaries on my 64-bit machine. what do you expect else?

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-24 Thread Daniel O'Connor
On Friday 24 October 2008 23:20:59 Peter Jeremy wrote: this will make system trying to bind 32-bit libs to 64-bit program. it can't work rtld shouldn't attempt to bind 32-bit libs to 64-bit programs. The same problem happens with the Linux run time linker - it merrily tries to link FreeBSD

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Dag-Erling Smørgrav
Dag-Erling Smørgrav [EMAIL PROTECTED] writes: If you look at the rtld(1) man page, there are a number of environment variables you can set to debug the loader. I'm not sure how helpful they are, though. You can rebuild rtld(1) with debugging enabled: % cd /usr/src/libexec/rtld-elf % make

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Dag-Erling Smørgrav
Alexander Sack [EMAIL PROTECTED] writes: I have some weird behavior I'm trying to figure out and was wondering if someone can point me in the right direction. I'm running a FreeBSD 6.1-RELEASE-amd64 machine. If I add /usr/lib32 to my LD_LIBRARY_PATH it breaks all of my binaries on my 64-bit

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Alexander Sack
On Thu, Oct 23, 2008 at 9:23 PM, Dag-Erling Smørgrav [EMAIL PROTECTED] wrote: Dag-Erling Smørgrav [EMAIL PROTECTED] writes: If you look at the rtld(1) man page, there are a number of environment variables you can set to debug the loader. I'm not sure how helpful they are, though. You can

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Alexander Sack
Alright, well I found some weirdness: [EMAIL PROTECTED] ~]# export LD_LIBRARY_PATH=/usr/bin:/usr/lib:/usr/lib32:/usr/lib64 [EMAIL PROTECTED] ~]# LD_DEBUG=1 ls /libexec/ld-elf.so.1 is initialized, base address = 0x800506000 RTLD dynamic = 0x80062ad78 RTLD pltgot = 0x0 processing main program's

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Alexander Sack
On Thu, Oct 23, 2008 at 10:09 PM, Alexander Kabaev [EMAIL PROTECTED] wrote: On Thu, 23 Oct 2008 21:48:47 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Thanks, comments most appreciated. Damn, I was looking for someone to go a ha, you can't do this because Alright, let me see why rtld

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Alexander Kabaev
On Thu, 23 Oct 2008 21:48:47 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Thanks, comments most appreciated. Damn, I was looking for someone to go a ha, you can't do this because Alright, let me see why rtld on 6.1-amd64 is picking up /usr/lib32 stuff for a native 64-bit binary via

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Alexander Kabaev
On Thu, 23 Oct 2008 22:31:40 -0400 Alexander Sack [EMAIL PROTECTED] wrote: Yes I figured that out on my own but my question still exists, why isn't /usr/lib similar in format to /usr/lib32 though with respect to major numbers? Actually now that I re-read your paragraph I suppose this isn't

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Nate Eldredge
On Thu, 23 Oct 2008, Alexander Sack wrote: Alright, well I found some weirdness: [EMAIL PROTECTED] ~]# export LD_LIBRARY_PATH=/usr/bin:/usr/lib:/usr/lib32:/usr/lib64 [EMAIL PROTECTED] ~]# LD_DEBUG=1 ls /libexec/ld-elf.so.1 is initialized, base address = 0x800506000 RTLD dynamic = 0x80062ad78

Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?

2008-10-23 Thread Dan Nelson
In the last episode (Oct 23), Alexander Sack said: On Thu, Oct 23, 2008 at 10:09 PM, Alexander Kabaev [EMAIL PROTECTED] wrote: LD_LIBRARY_PATH is for native 64bit rtld. If you want a specific path added for use by 32-bit ld-elf.so.1 only, use LD_32_LIBRARY_PATH. Said that, your problem