Bug 22977 - [2.27 regression] Build failure when use_ldconfig=no
Summary: [2.27 regression] Build failure when use_ldconfig=no
Status: UNCONFIRMED
Alias: None
Product: glibc
Classification: Unclassified
Component: build (show other bugs)
Version: 2.27
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-17 20:32 UTC by Marius Bakke
Modified: 2018-04-05 06:55 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments
Don't use hidden visibility without ldconfig (555 bytes, patch)
2018-03-17 20:32 UTC, Marius Bakke
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marius Bakke 2018-03-17 20:32:50 UTC
Created attachment 10900 [details]
Don't use hidden visibility without ldconfig

Hello!

Glibc 2.27 fails to build on x86_64 Linux when use_ldconfig=no.

> x86_64-guix-linux-gnu-gcc -nostdlib -nostartfiles -o /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/pldd    -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/csu/crt1.o /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/csu/crti.o `x86_64-guix-linux-gnu-gcc  --print-file-name=crtbegin.o` /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/pldd.o /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/xmalloc.o  -Wl,-dynamic-linker=/gnu/store/lbpw3mkkqsbgw7sfibhxwi95b92l78zz-glibc-intermediate-2.27/lib/ld-linux-x86-64.so.2 -Wl,-rpath-link=/tmp/guix-build-glibc-intermediate-2.27.drv-0/build:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/math:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/dlfcn:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/nss:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/nis:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/rt:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/resolv:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/crypt:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/mathvec:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/support:/tmp/guix-build-glibc-intermediate-2.27.drv-0/build/nptl /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/libc.so.6 /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/libc_nonshared.a -Wl,--as-needed /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/ld.so -Wl,--no-as-needed -lgcc  `x86_64-guix-linux-gnu-gcc  --print-file-name=crtend.o` /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/csu/crtn.o
> /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/xmalloc.o: In function `fixup_null_alloc':
> /tmp/guix-build-glibc-intermediate-2.27.drv-0/glibc-2.27/elf/../locale/programs/xmalloc.c:63: undefined reference to `_libc_intl_domainname'
> /tmp/guix-build-glibc-intermediate-2.27.drv-0/glibc-2.27/elf/../locale/programs/xmalloc.c:63: undefined reference to `__dcgettext'
> x86_64-guix-linux-gnu-ld: /tmp/guix-build-glibc-intermediate-2.27.drv-0/build/elf/pldd: hidden symbol `__dcgettext' isn't defined
> x86_64-guix-linux-gnu-ld: final link failed: Bad value
> collect2: error: ld returned 1 exit status

I bisected it down to this commit: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=8d2ec553295a16ca94fe0285d6307e3b00a402d6

Adding an additional check for "&& defined USE_LDCONFIG" solves it.