This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug nscd/5216] glibc 2.7 compilation problem on alpha due to PTR_MANGLE and PTR_DEMANGLE


------- 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]