public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different?
@ 2015-09-25 16:12 luto at mit dot edu
  2015-09-25 18:40 ` [Bug libc/19006] " carlos at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: luto at mit dot edu @ 2015-09-25 16:12 UTC (permalink / raw)
  To: glibc-bugs

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.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/19006] Why are i386 and i686 dl-sysdep different?
  2015-09-25 16:12 [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different? luto at mit dot edu
@ 2015-09-25 18:40 ` carlos at redhat dot com
  2015-09-25 19:13 ` luto at kernel dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: carlos at redhat dot com @ 2015-09-25 18:40 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=19006

Carlos O'Donell <carlos at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |carlos at redhat dot com
         Resolution|---                         |WONTFIX

--- Comment #1 from Carlos O'Donell <carlos at redhat dot com> ---
Presently we don't support building glibc for i386, the code in question is
legacy support, the i686 dl-sysdep.h is always used, and therfore the vDSO
entry is always used. See bug 10060 and bug 10062. You are correct that we
could reduce code size by removing the legacy support. Please submit such a
patch to libc-alpha@sourceware.org. Please ask questions on
libc-help@sourceware.org instead of through the bugzilla.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/19006] Why are i386 and i686 dl-sysdep different?
  2015-09-25 16:12 [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different? luto at mit dot edu
  2015-09-25 18:40 ` [Bug libc/19006] " carlos at redhat dot com
@ 2015-09-25 19:13 ` luto at kernel dot org
  2015-09-25 19:53 ` jsm28 at gcc dot gnu.org
  2015-09-28 18:21 ` [Bug libc/19006] Make i486/i586 use vDSO syscall entry carlos at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: luto at kernel dot org @ 2015-09-25 19:13 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=19006

--- Comment #2 from Andy Lutomirski <luto at kernel dot org> ---
Somehow Debian's libc6 (as opposed to libc6-i686) is built without AT_SYSINFO
support.  I don't know whether they patch it or whether glibc really can build
the i386 dl-sysdep.h.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/19006] Why are i386 and i686 dl-sysdep different?
  2015-09-25 16:12 [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different? luto at mit dot edu
  2015-09-25 18:40 ` [Bug libc/19006] " carlos at redhat dot com
  2015-09-25 19:13 ` luto at kernel dot org
@ 2015-09-25 19:53 ` jsm28 at gcc dot gnu.org
  2015-09-28 18:21 ` [Bug libc/19006] Make i486/i586 use vDSO syscall entry carlos at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2015-09-25 19:53 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=19006

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WONTFIX                     |---

--- Comment #3 from Joseph Myers <jsm28 at gcc dot gnu.org> ---
Carlos, it's only i386 files overridden by i486 files that are dead, not those
overridden by i686 files.  We support i486 and later; i386 sysdeps directories
mean i486.  H.J. completed the move of sysdeps/i386/i486 files into
sysdeps/i386, but the corresponding move in sysdeps/unix/sysv/linux/i386 hasn't
been done yet.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libc/19006] Make i486/i586 use vDSO syscall entry.
  2015-09-25 16:12 [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different? luto at mit dot edu
                   ` (2 preceding siblings ...)
  2015-09-25 19:53 ` jsm28 at gcc dot gnu.org
@ 2015-09-28 18:21 ` carlos at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: carlos at redhat dot com @ 2015-09-28 18:21 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=19006

Carlos O'Donell <carlos at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hjl.tools at gmail dot com
            Summary|Why are i386 and i686       |Make i486/i586 use vDSO
                   |dl-sysdep different?        |syscall entry.

--- Comment #4 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to Joseph Myers from comment #3)
> Carlos, it's only i386 files overridden by i486 files that are dead, not
> those overridden by i686 files.  We support i486 and later; i386 sysdeps
> directories mean i486.  H.J. completed the move of sysdeps/i386/i486 files
> into sysdeps/i386, but the corresponding move in
> sysdeps/unix/sysv/linux/i386 hasn't been done yet.


You're absolutely right, I see we don't have overrides for i486 and i586, which
means those builds would use non-vDSO entry methods. Retitling issue. It
shouldn't be hard for someone to fix by merging down the i686 dl-sysdep.h, and
as you mention HJ might get to this.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-28 18:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-25 16:12 [Bug libc/19006] New: Why are i386 and i686 dl-sysdep different? luto at mit dot edu
2015-09-25 18:40 ` [Bug libc/19006] " carlos at redhat dot com
2015-09-25 19:13 ` luto at kernel dot org
2015-09-25 19:53 ` jsm28 at gcc dot gnu.org
2015-09-28 18:21 ` [Bug libc/19006] Make i486/i586 use vDSO syscall entry carlos at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).