Bug 1534

Summary: In function `__GI_fnmatch': undefined reference to `strnlen'
Product: glibc Reporter: Arkadiusz Miskiewicz <misiek>
Component: libcAssignee: Ulrich Drepper <drepper.fsp>
Status: RESOLVED DUPLICATE    
Severity: normal CC: glibc-bugs
Priority: P2 Flags: fweimer: security-
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 852    

Description Arkadiusz Miskiewicz 2005-10-24 10:56:29 UTC
glibc 2.5.6 snapshot build fails:

athlon-pld-linux-gcc   -nostdlib -nostartfiles -r -o /home/users/arekm/rpm/BUILD
/glibc-2.3-20051017/builddir/libc_pic.os \
 -Wl,-d -Wl,--whole-archive /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/
builddir/libc_pic.a
athlon-pld-linux-gcc   -shared -Wl,-O1 \
  -nostdlib -nostartfiles \
   -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc -Wl,-z,relro \
  -Wl,--verbose 2>&1 | \
  sed > /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/shlib.ldsT \
      -e '/^=========/,/^=========/!d;/^=========/d' \
      -e 's/^.*\.hash[  ]*:.*$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
      -e 's/^.*\*(\.dynbss).*$/& \
         PROVIDE(__start___libc_freeres_ptrs = .); \
         *(__libc_freeres_ptrs) \
         PROVIDE(__stop___libc_freeres_ptrs = .);/'\
      -e 's/^.*\*(\.jcr).*$/& \
         PROVIDE(__start___libc_subfreeres = .);\
         __libc_subfreeres : { *(__libc_subfreeres) }\
         PROVIDE(__stop___libc_subfreeres = .);\
         PROVIDE(__start___libc_atexit = .);\
         __libc_atexit : { *(__libc_atexit) }\
         PROVIDE(__stop___libc_atexit = .);\
         PROVIDE(__start___libc_thread_subfreeres = .);\
         __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
         PROVIDE(__stop___libc_thread_subfreeres = .);/'
mv -f /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/shlib.ldsT /home/
users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/shlib.lds
athlon-pld-linux-gcc   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-
linker=/lib/ld-linux.so.2  -B/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/
builddir/csu/  -Wl,--version-script=/home/users/arekm/rpm/BUILD/glibc-2.3-
20051017/builddir/libc.map -Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -
nostdlib -nostartfiles -e __libc_main -L/home/users/arekm/rpm/BUILD/glibc-2.3-
20051017/builddir -L/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/math
 -L/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/elf -L/home/users/
arekm/rpm/BUILD/glibc-2.3-20051017/builddir/dlfcn -L/home/users/arekm/rpm/BUILD/
glibc-2.3-20051017/builddir/nss -L/home/users/arekm/rpm/BUILD/glibc-2.3-20051017
/builddir/nis -L/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/rt -L/
home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/resolv -L/home/users/
arekm/rpm/BUILD/glibc-2.3-20051017/builddir/crypt -L/home/users/arekm/rpm/BUILD/
glibc-2.3-20051017/builddir/linuxthreads -Wl,-rpath-link=/home/users/arekm/rpm/
BUILD/glibc-2.3-20051017/builddir:/home/users/arekm/rpm/BUILD/glibc-2.3-20051017
/builddir/math:/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/elf:/home
/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/dlfcn:/home/users/arekm/rpm/
BUILD/glibc-2.3-20051017/builddir/nss:/home/users/arekm/rpm/BUILD/glibc-2.3-
20051017/builddir/nis:/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/
rt:/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/resolv:/home/users/
arekm/rpm/BUILD/glibc-2.3-20051017/builddir/crypt:/home/users/arekm/rpm/BUILD/
glibc-2.3-20051017/builddir/linuxthreads -o /home/users/arekm/rpm/BUILD/glibc-2.
3-20051017/builddir/libc.so -T /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/
builddir/shlib.lds /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/csu/
abi-note.o /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/elf/soinit.os
 /home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/libc_pic.os /home/users
/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/elf/sofini.os /home/users/arekm/rpm
/BUILD/glibc-2.3-20051017/builddir/elf/interp.os /home/users/arekm/rpm/BUILD/
glibc-2.3-20051017/builddir/elf/ld.so -lgcc
/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/libc_pic.os(.text+0x7a
011): In function `__GI_fnmatch':
: undefined reference to `strnlen'
/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/libc_pic.os(.text+0x7a
095): In function `__GI_fnmatch':
: undefined reference to `strnlen'
collect2: ld returned 1 exit status
make[1]: *** [/home/users/arekm/rpm/BUILD/glibc-2.3-20051017/builddir/libc.so] 
Error 1

gcc-3.3.6
binutils-2.15.94.0.2.2

configured with:

+ .././configure LDFLAGS= CFLAGS=-O2 -march=athlon CXXFLAGS=-O2 -march=athlon 
FFLAGS=-O2 -march=athlon CPPFLAG
S= CC=athlon-pld-linux-gcc CXX=athlon-pld-linux-g++ --host=athlon-pld-linux --
build=athlon-pld-linux --prefix=
/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc 
--datadir=/usr/share --include
dir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --
sharedstatedir=/var/lib --mand
ir=/usr/share/man --infodir=/usr/share/info --x-libraries=/usr/X11R6/lib --
enable-kernel=2.4.6 --disable-omitf
p --without-__thread --with-headers=/usr/include --with-selinux --with-tls --
enable-add-ons=linuxthreads --ena
ble-profile

i686, Linux 2.6.12.6
Comment 1 Ulrich Drepper 2005-10-24 14:07:41 UTC

*** This bug has been marked as a duplicate of 333 ***
Comment 2 Sourceware Commits 2005-10-24 19:31:24 UTC
Subject: Bug 1534

CVSROOT:	/cvs/glibc
Module name:	libc
Changes by:	roland@sources.redhat.com	2005-10-24 19:31:14

Modified files:
	include        : string.h 

Log message:
	2005-10-24  Roland McGrath  <roland@redhat.com>
	
	[BZ #1534]
	* include/string.h: Use libc_hidden_proto for strnlen,
	not libc_hidden_builtin_proto.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/include/string.h.diff?cvsroot=glibc&r1=1.32&r2=1.33

Comment 3 Sourceware Commits 2005-10-24 19:32:20 UTC
Subject: Bug 1534

CVSROOT:	/cvs/glibc
Module name:	libc
Branch: 	glibc-2_3-branch
Changes by:	roland@sources.redhat.com	2005-10-24 19:32:17

Modified files:
	include        : string.h 

Log message:
	2005-10-24  Roland McGrath  <roland@redhat.com>
	
	[BZ #1534]
	* include/string.h: Use libc_hidden_proto, not
	libc_hidden_builtin_proto, for strnlen.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/include/string.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.31.2.1&r2=1.31.2.2