public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
@ 2020-08-10  3:45 bero at lindev dot ch
  2020-08-10 14:21 ` [Bug build/26360] " carlos at redhat dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: bero at lindev dot ch @ 2020-08-10  3:45 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 26360
           Summary: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu
                    using gcc 10.2.0
           Product: glibc
           Version: 2.32
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: build
          Assignee: unassigned at sourceware dot org
          Reporter: bero at lindev dot ch
                CC: carlos at redhat dot com
  Target Milestone: ---

Trying to crosscompile glibc 2.32 with a ppc64le-linux-gnu-gcc 10.2.0
crosscompiler on an x86_64-linux-gnu fails.

If -Werror is enabled, it errors out on:

In file included from ../argp/argp.h:23,
                 from ../include/argp.h:2,
                 from ../sysdeps/ieee754/ldbl-opt/nldbl-compat.c:25:
../include/stdio.h:186:1: error: ‘asm’ declaration ignored due to conflict with
previous rename [-Werror=pragmas]
  186 | libc_hidden_ldbl_proto (__asprintf)
      | ^~~~~~~~~~~~~~~~~~~~~~
../include/stdio.h:211:1: error: ‘asm’ declaration ignored due to conflict with
previous rename [-Werror=pragmas]
  211 | libc_hidden_ldbl_proto (dprintf)
      | ^~~~~~~~~~~~~~~~~~~~~~
../include/stdio.h:212:1: error: ‘asm’ declaration ignored due to conflict with
previous rename [-Werror=pragmas]
  212 | libc_hidden_ldbl_proto (fprintf)
      | ^~~~~~~~~~~~~~~~~~~~~~
../include/stdio.h:213:1: error: ‘asm’ declaration ignored due to conflict with
previous rename [-Werror=pragmas]
  213 | libc_hidden_ldbl_proto (vfprintf)
      | ^~~~~~~~~~~~~~~~~~~~~~
../include/stdio.h:214:1: error: ‘asm’ declaration ignored due to conflict with
previous rename [-Werror=pragmas]
  214 | libc_hidden_ldbl_proto (sprintf)
      | ^~~~~~~~~~~~~~~~~~~~~~


Without -Werror, it gets past that point, but later on errors out saying

In file included from <command-line>:
../sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c:22:23: error: ‘_IO_sscanf’ aliased
to undefined symbol ‘sscanf’
   22 | strong_alias (sscanf, _IO_sscanf)
      |                       ^~~~~~~~~~
./../include/libc-symbols.h:140:26: note: in definition of macro
‘_strong_alias’
  140 |   extern __typeof (name) aliasname __attribute__ ((alias (#name))) \
      |                          ^~~~~~~~~
../sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c:22:1: note: in expansion of macro
‘strong_alias’
   22 | strong_alias (sscanf, _IO_sscanf)
      | ^~~~~~~~~~~~


Other targets, including non-le ppc64-linux-gnu, compile fine.

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

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

* [Bug build/26360] glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
  2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
@ 2020-08-10 14:21 ` carlos at redhat dot com
  2020-08-10 15:54 ` bero at lindev dot ch
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: carlos at redhat dot com @ 2020-08-10 14:21 UTC (permalink / raw)
  To: glibc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-08-10

--- Comment #1 from Carlos O'Donell <carlos at redhat dot com> ---
We've been seeing this issue since July 23'rd, but only internally in our glibc
vs gcc-10 testing.

We don't see this issue with our own built cross-compilers in
scripts/build-many-glibcs.py.

So something is different.

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

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

* [Bug build/26360] glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
  2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
  2020-08-10 14:21 ` [Bug build/26360] " carlos at redhat dot com
@ 2020-08-10 15:54 ` bero at lindev dot ch
  2020-10-23 21:39 ` suratiamol at gmail dot com
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: bero at lindev dot ch @ 2020-08-10 15:54 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #2 from Bernhard Rosenkränzer <bero at lindev dot ch> ---
FWIW we're seeing this problem with

binutils 2.35
gcc 10.2.0

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

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

* [Bug build/26360] glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
  2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
  2020-08-10 14:21 ` [Bug build/26360] " carlos at redhat dot com
  2020-08-10 15:54 ` bero at lindev dot ch
@ 2020-10-23 21:39 ` suratiamol at gmail dot com
  2020-12-06 23:35 ` bero at lindev dot ch
  2020-12-07 18:15 ` joseph at codesourcery dot com
  4 siblings, 0 replies; 6+ messages in thread
From: suratiamol at gmail dot com @ 2020-10-23 21:39 UTC (permalink / raw)
  To: glibc-bugs

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

suratiamol at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |suratiamol at gmail dot com

--- Comment #3 from suratiamol at gmail dot com ---
Got the same error here too.

The error, at least in the case of __asprintf, seems to occur because there are
two declarations:


// emitted by libio/bits/stdio-ldbl.h
// __LDBL_REDIR2_DECL (asprintf)
// commit: e4a399921390509418826e8e8995d2441f29e243
extern __typeof (__asprintf) __asprintf __asm ("" "__nldbl___" "asprintf");

// emitted by include/stdio.h
// libc_hidden_ldbl_proto (__asprintf)
// commit: 45ae17dd7ed3b9dea0d698d1c37a978d8d0a9aa2
extern __typeof (__asprintf) __asprintf __asm__ ("" "__GI___asprintf")
__attribute__ ((visibility ("hidden")));


It is likely that the same two commits are involved in the errors about other
symbols.

Can reproduce the error with this dummy sample:

extern int __asprintf(void);
extern __typeof(__asprintf) __asprintf __asm("__nldbl___" "asprintf");
extern __typeof(__asprintf) __asprintf __asm__("__GI___asprintf")
__attribute__((visibility("hidden")));
int main(){return 0;}
//cc a.c -Werror

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

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

* [Bug build/26360] glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
  2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
                   ` (2 preceding siblings ...)
  2020-10-23 21:39 ` suratiamol at gmail dot com
@ 2020-12-06 23:35 ` bero at lindev dot ch
  2020-12-07 18:15 ` joseph at codesourcery dot com
  4 siblings, 0 replies; 6+ messages in thread
From: bero at lindev dot ch @ 2020-12-06 23:35 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #4 from Bernhard Rosenkränzer <bero at lindev dot ch> ---
I finally got around to debugging this.

The problem is that if you build a first stage gcc crosscompiler (without glibc
headers available at the point), it defaults to 64-bit long doubles, whereas
glibc assumes 128-bit long doubles.

Probably the best fix is to teach gcc to assume 128-bit long doubles when
targeting ppc64le glibc targets even if the headers aren't there yet [either
that, or add support for 64-bit long doubles to glibc] -- until then the
workaround is to add --with-long-double-128 to ./configure in the gcc bootstrap
compiler.

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

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

* [Bug build/26360] glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0
  2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
                   ` (3 preceding siblings ...)
  2020-12-06 23:35 ` bero at lindev dot ch
@ 2020-12-07 18:15 ` joseph at codesourcery dot com
  4 siblings, 0 replies; 6+ messages in thread
From: joseph at codesourcery dot com @ 2020-12-07 18:15 UTC (permalink / raw)
  To: glibc-bugs

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

--- Comment #5 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
You can also use --with-glibc-version=<version> when configuring GCC, to 
set appropriate defaults for all the configure tests that otherwise look 
at glibc headers, not just this one.

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

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

end of thread, other threads:[~2020-12-07 18:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-10  3:45 [Bug build/26360] New: glibc 2.32 fails to crosscompile to ppc64le-linux-gnu using gcc 10.2.0 bero at lindev dot ch
2020-08-10 14:21 ` [Bug build/26360] " carlos at redhat dot com
2020-08-10 15:54 ` bero at lindev dot ch
2020-10-23 21:39 ` suratiamol at gmail dot com
2020-12-06 23:35 ` bero at lindev dot ch
2020-12-07 18:15 ` joseph at codesourcery 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).