[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
porting glibc to solaris-sparc and S390 platform
From: |
esp5 |
Subject: |
porting glibc to solaris-sparc and S390 platform |
Date: |
Thu, 4 Oct 2001 13:30:01 -0700 (PDT) |
hey,
I wanted to port glibc to the above platforms. Right now, I'm in the middle of
the solaris port, have about a 1000 line patch written so far, and have run
into some undefined symbols:
../libc.so: undefined reference to `inet_pton'
../libc.so: undefined reference to `__getdents'
../libc.so: undefined reference to `__ftruncate'
../libc.so: undefined reference to `__res_ninit'
../libc.so: undefined reference to `__gethostbyaddr_r'
../libc.so: undefined reference to `__gethostbyname2_r'
../libc.so: undefined reference to `__div64'
../libc.so: undefined reference to `h_errno'
../libc.so: undefined reference to `__sigaltstack'
../libc.so: undefined reference to `__inet_aton'
../libc.so: undefined reference to `if_nametoindex'
../libc.so: undefined reference to `__mul64'
../libc.so: undefined reference to `_res'
../libc.so: undefined reference to `in6addr_loopback'
../libc.so: undefined reference to `__urem64'
../libc.so: undefined reference to `__profil'
../libc.so: undefined reference to `__sigsuspend'
../libc.so: undefined reference to `__sigorset'
../libc.so: undefined reference to `__sigisemptyset'
../libc.so: undefined reference to `__udiv64'
../libc.so: undefined reference to `_sigintr'
../libc.so: undefined reference to `__errno_location'
../libc.so: undefined reference to `inet_ntop'
../libc.so: undefined reference to `__sigandset'
../libc.so: undefined reference to `__getservbyname_r'
I did some digging, and lo and behold most of these symbols are defined in areas
where the compile process *doesn't do anything*, ie: whole parts of the source
tree are left uncompiled. For example, inet_pton occurs in resolv/inet_pton.c,
but the whole resolv directory is untouched. I think this is because of a
compilation order problem. The statement that fails is:
gcc -nostdlib -nostartfiles -o iconvconfig -Wl,-dynamic-linker=/opt/builds/inst
all/lib/ld.so.1 ../csu/crt1.o ../csu/crti.o `gcc --print-file-name=crtbegin.o`
iconvconfig.o strtab.o xmalloc.o -Wl,-rpath-link=..:../math:../elf:../dlfcn:..
/nss:../nis:../rt:../resolv:../crypt ../libc.so ../libc_nonshared.a -lgcc `gcc -
-print-file-name=crtend.o` ../csu/crtn.o
Note the '../resolv' path here, as well as the '../libc.so'. It looks like this
expects resolv to be compiled before it gets to compiling elf.
Anyways, right now I'm digging through the make files, which are one hell of a
piece of work. I'd like to get an overview on how it all works, where the main
program driver is, and so on.
I'd also like to know why address@hidden is both closed *and*
unsubscribable. Is there *any* way to get on that list?
Ed
- porting glibc to solaris-sparc and S390 platform,
esp5 <=