This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/19006] New: Why are i386 and i686 dl-sysdep different?
- From: "luto at mit dot edu" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 25 Sep 2015 16:12:04 +0000
- Subject: [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different?
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=19006
Bug ID: 19006
Summary: Why are i386 and i686 dl-sysdep different?
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: luto at mit dot edu
CC: drepper.fsp at gmail dot com
Target Milestone: ---
This may be going *way* back, but:
i386 builds of glibc don't use AT_SYSINFO. See:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/i386/dl-sysdep.h
The comment is nonsense -- the code simply calls int $0x80, which skips the
vDSO entry and does the syscall directly. On a genuine Pentium or earlier, on
certain Pentium Pro chips, or on any AMD chip with a native 32-bit kernel, this
is fine, and it even saves a couple cycles. On any modern system, though, it
adds hundreds of cycles.
Please consider using AT_SYSINFO on all glibc builds if the kernel advertises
support. That should work even on very old CPUs and kernels, it will speed up
i386 builds on glibc running on newer CPUs, and it will even reduce code size,
since you can combine the i386 and i686 dl-sysdep.h files into one.
--
You are receiving this mail because:
You are on the CC list for the bug.