All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.