This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nscd/5216] glibc 2.7 compilation problem on alpha due to PTR_MANGLE and PTR_DEMANGLE
- From: "jciccone at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 28 Oct 2007 19:47:45 -0000
- Subject: [Bug nscd/5216] glibc 2.7 compilation problem on alpha due to PTR_MANGLE and PTR_DEMANGLE
- References: <20071024115854.5216.oliver@linux-kernel.at>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From jciccone at gmail dot com 2007-10-28 19:47 -------
Created an attachment (id=2062)
--> (http://sourceware.org/bugzilla/attachment.cgi?id=2062&action=view)
patch that moves PTR_MANGLE for alpha
I'm running into the same problem. My host is x86_64-unknown-linux-gnu and my
target is alphaev56-unknown-linux-gnu.
I'm attaching a patch that moves PTR_MANGLE from sysdeps/unix/alpha/sysdep.h
into sysdeps/unix/sysv/linux/alpha/sysdep.h just for consistancies sake.
PTR_MANGLE was inside of a ifdef __ASSEMBLER__ in sysdeps/unix/alpha/sysdep.h.
Moving it below the #endif /* ASSEMBLER */ in sysdeps/unix/alpha/sysdep.h has
the same result of putting it in the bottom of
sysdeps/unix/sysv/linux/alpha/sysdep.h. Which is where it exists in the rest of
the architectures.
Also, in every architecture besides alpha, the #if defined NOT_IN_libc &&
defined IS_IN_rtld contition has #else. alpha has a #elif defined PIC. The
attached patch changes that #elif defined PIC to a #else.
With these changes I no longer get undefined references to PTR_MANGLE and
PTR_DEMANGLE. This is what I'm now seeing.
alphaev56-unknown-linux-gnu-gcc -nostdlib -nostartfiles -static -o
/srv/data/clfs/clfs-alpha/sources/glibc-build/elf/sln
/srv/data/clfs/clfs-alpha/sources/glibc-build/csu/crt1.o
/srv/data/clfs/clfs-alpha/sources/glibc-build/csu/crti.o
`alphaev56-unknown-linux-gnu-gcc --print-file-name=crtbegin.o`
/srv/data/clfs/clfs-alpha/sources/glibc-build/elf/sln.o
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a -lgcc
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a
`alphaev56-unknown-linux-gnu-gcc --print-file-name=crtend.o`
/srv/data/clfs/clfs-alpha/sources/glibc-build/csu/crtn.o
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(setjmp.o): In function
`__sigsetjmp':
(.text+0x28): undefined reference to `__pointer_chk_guard'
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(exit.o): In function
`exit':
/srv/data/clfs/clfs-alpha/sources/glibc-2.7/stdlib/exit.c:66: undefined
reference to `__pointer_chk_guard'
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(cxa_atexit.o): In function
`__cxa_atexit':
/srv/data/clfs/clfs-alpha/sources/glibc-2.7/stdlib/cxa_atexit.c:43: undefined
reference to `__pointer_chk_guard'
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(gconv_db.o): In function
`__gconv_release_step':
/srv/data/clfs/clfs-alpha/sources/glibc-2.7/iconv/gconv_db.c:220: undefined
reference to `__pointer_chk_guard'
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(gconv_db.o): In function
`increment_counter':
/srv/data/clfs/clfs-alpha/sources/glibc-2.7/iconv/gconv_db.c:398: undefined
reference to `__pointer_chk_guard'
/srv/data/clfs/clfs-alpha/sources/glibc-build/libc.a(gconv_db.o):/srv/data/clfs/clfs-alpha/sources/glibc-2.7/iconv/gconv_db.c:300:
more undefined references to `__pointer_chk_guard' follow
collect2: ld returned 1 exit status
make[2]: *** [/srv/data/clfs/clfs-alpha/sources/glibc-build/elf/sln] Error 1
make[2]: Leaving directory `/srv/data/clfs/clfs-alpha/sources/glibc-2.7/elf'
make[1]: *** [elf/others] Error 2
make[1]: Leaving directory `/srv/data/clfs/clfs-alpha/sources/glibc-2.7'
make: *** [all] Error 2
--
http://sourceware.org/bugzilla/show_bug.cgi?id=5216
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.