public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug build/28680] New: i686 builds broken with -ftree-vectorize
@ 2021-12-10 16:48 siddhesh at sourceware dot org
  2021-12-10 16:49 ` [Bug build/28680] " siddhesh at sourceware dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: siddhesh at sourceware dot org @ 2021-12-10 16:48 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 28680
           Summary: i686 builds broken with -ftree-vectorize
           Product: glibc
           Version: 2.35
            Status: NEW
          Severity: normal
          Priority: P2
         Component: build
          Assignee: unassigned at sourceware dot org
          Reporter: siddhesh at sourceware dot org
                CC: carlos at redhat dot com
  Target Milestone: ---

See also:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103646

How to reproduce:

configure with vectorizer enabled:

$ ../configure --prefix=/usr CC="gcc -m32" CXX="g++ -m32" CFLAGS="-O2 -g
-Wp,-D_GLIBCXX_ASSERTIONS -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse
-mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection
-ftree-vectorize" --build=i686-redhat-linux

Actual results:

../sysdeps/unix/sysv/linux/select.c: In function ‘__select64’:                  
../sysdeps/unix/sysv/linux/select.c:117:1: error: bp cannot be used in ‘asm’
here                        
  117 | }                                                                       
      | ^                                                                       
make[2]: *** [/home/siddhesh/src/upstream/glibc/build-32/sysd-rules:229:
/home/siddhesh/src/upstream/glibc/build-32/misc/select.os] Error 1              

Expected results:

Successful build.

Additional Information:

The vectorizer may end up having to realign stack and hence use up ebp, making
it unavailable as a logal register variable.  Adapting the configure test to
account for vectorization may prove to be flaky, so it probably makes sense to
simply disable the 6 argument syscall inlining if the vectorizer is enabled
since the vectorizer gains may potentially outstrip the benefit of the
inlining.

This will become a wider issue with gcc12, where the vectorizer is enabled at
-O2.

-- 
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 build/28680] i686 builds broken with -ftree-vectorize
  2021-12-10 16:48 [Bug build/28680] New: i686 builds broken with -ftree-vectorize siddhesh at sourceware dot org
@ 2021-12-10 16:49 ` siddhesh at sourceware dot org
  2021-12-10 17:01 ` fweimer at redhat dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: siddhesh at sourceware dot org @ 2021-12-10 16:49 UTC (permalink / raw)
  To: glibc-bugs

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

Siddhesh Poyarekar <siddhesh at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |i686

-- 
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 build/28680] i686 builds broken with -ftree-vectorize
  2021-12-10 16:48 [Bug build/28680] New: i686 builds broken with -ftree-vectorize siddhesh at sourceware dot org
  2021-12-10 16:49 ` [Bug build/28680] " siddhesh at sourceware dot org
@ 2021-12-10 17:01 ` fweimer at redhat dot com
  2021-12-10 17:48 ` siddhesh at sourceware dot org
  2022-01-10 16:25 ` [Bug libc/28680] " fweimer at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: fweimer at redhat dot com @ 2021-12-10 17:01 UTC (permalink / raw)
  To: glibc-bugs

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

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fweimer at redhat dot com

--- Comment #1 from Florian Weimer <fweimer at redhat dot com> ---
We will likely have to disable the vectorizer for i686 in Fedora, then.

I do not think this is a glibc issue.

-- 
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 build/28680] i686 builds broken with -ftree-vectorize
  2021-12-10 16:48 [Bug build/28680] New: i686 builds broken with -ftree-vectorize siddhesh at sourceware dot org
  2021-12-10 16:49 ` [Bug build/28680] " siddhesh at sourceware dot org
  2021-12-10 17:01 ` fweimer at redhat dot com
@ 2021-12-10 17:48 ` siddhesh at sourceware dot org
  2022-01-10 16:25 ` [Bug libc/28680] " fweimer at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: siddhesh at sourceware dot org @ 2021-12-10 17:48 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #2 from Siddhesh Poyarekar <siddhesh at sourceware dot org> ---
I don't know, it seems quite like a glibc issue to me.

The configure check to see if ebp is usable with the current flags is
simplistic compared to actual usage and any enhancement of that check would be
flaky since it relies on knowledge of when the compiler needs ebp for the frame
pointer.  The ebp based inlining is a hack and may not make sense in the long
term but I don't know if i686 will exist in that time frame :)

I can confirm that disabling the vectorizer with gcc12 works FWIW, but I think
dropping the asm("ebp") hack is a better idea.

-- 
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/28680] i686 builds broken with -ftree-vectorize
  2021-12-10 16:48 [Bug build/28680] New: i686 builds broken with -ftree-vectorize siddhesh at sourceware dot org
                   ` (2 preceding siblings ...)
  2021-12-10 17:48 ` siddhesh at sourceware dot org
@ 2022-01-10 16:25 ` fweimer at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: fweimer at redhat dot com @ 2022-01-10 16:25 UTC (permalink / raw)
  To: glibc-bugs

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

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|build                       |libc
              Flags|                            |security-
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE
                 CC|                            |drepper.fsp at gmail dot com

--- Comment #3 from Florian Weimer <fweimer at redhat dot com> ---
Let's track this under the earlier bug.

*** This bug has been marked as a duplicate of bug 27997 ***

-- 
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:[~2022-01-10 16:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-10 16:48 [Bug build/28680] New: i686 builds broken with -ftree-vectorize siddhesh at sourceware dot org
2021-12-10 16:49 ` [Bug build/28680] " siddhesh at sourceware dot org
2021-12-10 17:01 ` fweimer at redhat dot com
2021-12-10 17:48 ` siddhesh at sourceware dot org
2022-01-10 16:25 ` [Bug libc/28680] " fweimer 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).