public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "J.A. Magallon" <jamagallon@able.es>
To: Lista Linux-Kernel <linux-kernel@vger.kernel.org>
Subject: 2.4.20-aa1+glibc-2.3.1: AT_PLATFORM on PIV ?
Date: Wed, 25 Dec 2002 23:53:10 +0100	[thread overview]
Message-ID: <20021225225310.GA1604@werewolf.able.es> (raw)

Hi all...

I have problems running glibc-2.3.1 with a (patched) version of 2.4.20-aa1.
Before anybody says, I an going to try with unpatched 2.4.20-aa1, and even
with plain 2.4.20. But I ask to see if it happens to somebody else...
What I would like is to have somebody using 2.4.20 or 2.4.20-aa1 _and_
glibc-2.3.1 try this things on his box and tell me about the results
(just to see if it is a mainlie bug or _my_ bug).

Long story:
It is supposed that /lib/ld-2.3.1.so is able to use special (optimized) versions
of libraries, placed in dirs like /lib/i686, /lib/sse2, /lib/sse or /lib/mmx,
instead of standard /lib libraries. The selection of which places to look in
is done based on the architechture reported by kernel. Quoting s mail with
Mandrake's glibc packager:
  "AT_PLATFORM is passed through the auxv_t table given to the target 
   program from the kernel."
And all this is done in binfmt_elf.c.

Building the kernel for PII and running it on a (SMP) PII box:

werewolf:~> uname -m
i686
werewolf:~> LD_SHOW_AUXV=1 /bin/true
AT_HWCAP:    fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat p 
se36 mmx fxsr
AT_PAGESZ:      4096
AT_CLKTCK:      100
AT_PHDR:        0x8048034
AT_PHENT:       32
AT_PHNUM:       6
AT_BASE:        0x15556000
AT_FLAGS:       0x0
AT_ENTRY:       0x8048920
AT_UID:         3001
AT_EUID:        3001
AT_GID:         3000
AT_EGID:        3000
AT_PLATFORM:    i686               <====================

So the path used by glibc (after removing /etc/ld.so.cache) is:

werewolf:~> LD_DEBUG=libs /bin/true
01893:  find library=libc.so.6; searching
01893:   search cache=/etc/ld.so.cache
01893:   search path=/lib/i686/mmx:/lib/i686:/lib/mmx:/lib:/usr/lib/i686/mmx:/usr/lib/i686:/usr/lib/mmx:/usr/lib         (system search path)


With the same kernel, built for PIII and run on a SMP P4 system (yup, built
for PIII to use the same kernel along a beowulf), with high mem, it gives:

annwn:~> uname -m
i686
annwn:~> LD_SHOW_AUXV=1 /bin/true
AT_HWCAP:    fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
AT_PAGESZ:      4096
AT_CLKTCK:      100
AT_PHDR:        0x8048034
AT_PHENT:       32
AT_PHNUM:       6
AT_BASE:        0x40000000
AT_FLAGS:       0x0
AT_ENTRY:       0x8048920
AT_UID:         3001
AT_EUID:        3001
AT_GID:         3000
AT_EGID:        3000
AT_PLATFORM:                    <====== empty ?????

So glibc does not include i686 on the search path:

annwn:~> LD_DEBUG=libs /bin/true
16204:  find library=libc.so.6; searching
16204:   search cache=/etc/ld.so.cache
16204:   search path=/lib/sse2/sse/mmx:/lib/sse2/sse:/lib/sse2/mmx:/lib/sse2:/lib/sse/mmx:/lib/sse:/lib/mmx:/lib:/usr/lib/sse2/sse/mmx:/usr/lib/sse2/sse:/usr/lib/sse2/mmx:/usr/lib/sse2:/usr/lib/sse/mmx:/usr/lib/sse:/usr/lib/mmx:/usr/lib   (system search path)

Any idea ?  Is there any easy way (simple C code snippet) to check what
kernel esports as AT_PLATFORM ?

TIA

-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.1 (Cooker) for i586
Linux 2.4.20-jam2 (gcc 3.2.1 (Mandrake Linux 9.1 3.2.1-2mdk))

                 reply	other threads:[~2002-12-25 22:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021225225310.GA1604@werewolf.able.es \
    --to=jamagallon@able.es \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox