This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
IA64 cvs compile problems
- From: Ian Wienand <ianw at gelato dot unsw dot edu dot au>
- To: libc-alpha at sources dot redhat dot com
- Date: Fri, 22 Nov 2002 12:19:24 +1100
- Subject: IA64 cvs compile problems
when compiling cvs for ia64 there are a few problems
libc-obj/libc.so.6.1: undefined reference to `__GI___pwrite64'
libc-obj/libc.so.6.1: undefined reference to `__syscall_exit_group'
for the first one, this fix works (as is done in x86_64 port)
--- sysdeps/unix/sysv/linux/ia64/sysdep.h.old 2002-11-22 10:40:25.000000000 +1100
+++ sysdeps/unix/sysv/linux/ia64/sysdep.h 2002-11-22 10:39:38.000000000 +1100
@@ -32,6 +32,16 @@
# define SYS_ify(syscall_name) __NR_/**/syscall_name
#endif
+/* This is a kludge to make syscalls.list find these under the names
+ pread and pwrite, since some kernel headers define those names
+ and some define the *64 names for the same system calls. */
+#if !defined __NR_pread && defined __NR_pread64
+# define __NR_pread __NR_pread64
+#endif
+#if !defined __NR_pwrite && defined __NR_pwrite64
+# define __NR_pwrite __NR_pwrite64
+#endif
+
#ifdef __ASSEMBLER__
#undef CALL_MCOUNT
the second one I'm not sure on, but i think this is right
--- sysdeps/unix/sysv/linux/ia64/syscalls.list.old 2002-11-22 11:34:09.000000000 +1100
+++ sysdeps/unix/sysv/linux/ia64/syscalls.list 2002-11-22 11:33:55.000000000 +1100
@@ -67,6 +67,7 @@
# System calls with wrappers.
s_execve EXTRA execve i:spp __syscall_execve
s_exit exit exit i:i __syscall_exit
+s_exit_group exit_group exit_group i:i __syscall_exit_group
s_getcwd getcwd getcwd i:pi __syscall_getcwd getcwd
s_getdents getdents getdents i:ipi __syscall_getdents getdents
s_getdents64 getdents64 getdents64 i:ipi __syscall_getdents64
and finally, when it tries to make the math libraries i get the error
output as below (posted verbaim even though it's long). i haven't
really looked into this last one yet, i was hoping someone would know
if their change would have caused it, because it was fine maybe a week
ago.
-i
ianw@gelato.unsw.edu.au
xgcc -shared -static-libgcc -Wl,-O1
-Wl,-dynamic-linker=/usr/src/ianw/libc-clean/libc-bin//lib/ld-linux-ia64.so.2
-B/usr/src/ianw/libc-clean/libc-obj/csu/
-Wl,--version-script=/usr/src/ianw/libc-clean/libc-obj/libm.map
-Wl,-soname=libm.so.6.1 -Wl,-z,combreloc
-L/usr/src/ianw/libc-clean/libc-obj
-L/usr/src/ianw/libc-clean/libc-obj/math
-L/usr/src/ianw/libc-clean/libc-obj/elf
-L/usr/src/ianw/libc-clean/libc-obj/dlfcn
-L/usr/src/ianw/libc-clean/libc-obj/nss
-L/usr/src/ianw/libc-clean/libc-obj/nis
-L/usr/src/ianw/libc-clean/libc-obj/rt
-L/usr/src/ianw/libc-clean/libc-obj/resolv
-L/usr/src/ianw/libc-clean/libc-obj/crypt
-L/usr/src/ianw/libc-clean/libc-obj/linuxthreads
-Wl,-rpath-link=/usr/src/ianw/libc-clean/libc-obj:/usr/src/ianw/libc-clean/libc-obj/math:/usr/src/ianw/libc-clean/libc-obj/elf:/usr/src/ianw/libc-clean/libc-obj/dlfcn:/usr/src/ianw/libc-clean/libc-obj/nss:/usr/src/ianw/libc-clean/libc-obj/nis:/usr/src/ianw/libc-clean/libc-obj/rt:/usr/src/ianw/libc-clean/libc-obj/resolv:/usr/src/ianw/libc-clean/libc-obj/crypt:/usr/src/ianw/libc-clean/libc-obj/linuxthreads
-o /usr/src/ianw/libc-clean/libc-obj/math/libm.so -T
/usr/src/ianw/libc-clean/libc-obj/math/libm.so.lds
/usr/src/ianw/libc-clean/libc-obj/csu/abi-note.o -Wl,--whole-archive
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a
-Wl,--no-whole-archive /usr/src/ianw/libc-clean/libc-obj/elf/interp.os
/usr/src/ianw/libc-clean/libc-obj/libc.so
/usr/src/ianw/libc-clean/libc-obj/libc_nonshared.a
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__isinf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__isinff'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__isinfl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__GI___isinf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__GI___isinff'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isinf.os)(.text+0x0):
In function `__GI___isinfl': : multiple definition of `__GI___isinfl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isinf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__isnan'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__isnanf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__isnanl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__GI___isnan'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__GI___isnanf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_isnan.os)(.text+0x0):
In function `__GI___isnanl': : multiple definition of `__GI___isnanl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_isnan.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of `__finite'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of `__finitef'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of `__finitel'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of `__GI___finite'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of
`__GI___finitef'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_finite.os)(.text+0x0):
In function `__GI___finitel': : multiple definition of
`__GI___finitel'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_finite.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_copysign.os)(.text+0x0):
In function `copysignl': : multiple definition of `__copysign'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_copysign.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_copysign.os)(.text+0x0):
In function `copysignl': : multiple definition of `__copysignf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_copysign.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_copysign.os)(.text+0x0):
In function `copysignl': : multiple definition of `__copysignl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_copysign.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_modf.os)(.text+0x0):
In function `modf': : multiple definition of `modf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_modf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_scalbn.os)(.text+0x0):
In function `scalbn': : multiple definition of `scalbn'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_scalbn.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_frexp.os)(.text+0x0):
In function `frexp': yn_negative/../sysdeps/ia64/fpu/s_frexp.c:52:
multiple definition of `frexp'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_frexp.os)(.text+0x0):../sysdeps/ia64/fpu/s_frexp.c:52:
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_ldexp.os)(.text+0x0):
In function `ldexp': : multiple definition of `ldexp'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_ldexp.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_signbit.os)(.text+0x0):
In function `__signbitl': : multiple definition of `__signbit'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_signbit.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_signbit.os)(.text+0x0):
In function `__signbitl': : multiple definition of `__signbitf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_signbit.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_signbit.os)(.text+0x0):
In function `__signbitl': : multiple definition of `__signbitl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_signbit.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_modff.os)(.text+0x0):
In function `modff': : multiple definition of `modff'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_modff.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_scalbnf.os)(.text+0x0):
In function `scalbnf': : multiple definition of `scalbnf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_scalbnf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_frexpf.os)(.text+0x0):
In function `frexpf': yn_negative/../sysdeps/ia64/fpu/s_frexpf.c:52:
multiple definition of `frexpf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_frexpf.os)(.text+0x0):../sysdeps/ia64/fpu/s_frexpf.c:52:
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_ldexpf.os)(.text+0x0):
In function `ldexpf': : multiple definition of `ldexpf'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_ldexpf.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_modfl.os)(.text+0x0):
In function `modfl': : multiple definition of `modfl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_modfl.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_scalbnl.os)(.text+0x0):
In function `scalbnl': : multiple definition of `scalbnl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_scalbnl.os)(.text+0x0):
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_frexpl.os)(.text+0x0):
In function `frexpl': yn_negative/../sysdeps/ia64/fpu/s_frexpl.c:52:
multiple definition of `frexpl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_frexpl.os)(.text+0x0):../sysdeps/ia64/fpu/s_frexpl.c:52:
first defined here
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(s_ldexpl.os)(.text+0x0):
In function `ldexpl': : multiple definition of `ldexpl'
/usr/src/ianw/libc-clean/libc-obj/math/libm_pic.a(m_ldexpl.os)(.text+0x0):
first defined here