[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
solaris 11 (i386), PIC, dlopen &c
From: |
Sam Steingold |
Subject: |
solaris 11 (i386), PIC, dlopen &c |
Date: |
Wed, 04 May 2011 13:06:38 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Bruno,
Trying to build clisp with dynamic modules on solaris 11 (i386),
I get interesting errors with gnulib code:
1. dynmod/lib-rawsock.so (which does not use gnulib) is created
successfully and can be dynamically loaded.
2. dynmod/lib-wildcard.so cannot be created when clisp is configured
--with-debug:
gcc -shared -Wl,-z -Wl,text -Wl,-h -Wl,lib-wildcard.so -o
/export/home/sds/src/clisp/current/build-g/dynmod/lib-wildcard.so wildcard.o
libgnu_wc.a -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit
-Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral
-falign-functions=4 -g -O0 -DDEBUG_OS_ERROR -DDEBUG_SPVW -DDEBUG_BYTECODE
-DSAFETY=3 -DUNIX_BINARY_DISTRIB -DENABLE_UNICODE -DDYNAMIC_FFI
-DDYNAMIC_MODULES -I. -fPIC -DPIC
Text relocation remains referenced
against symbol offset in file
.bss (section) 0x5e libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x97 libgnu_wc.a(fnmatch.o)
.bss (section) 0xad libgnu_wc.a(fnmatch.o)
.bss (section) 0x1d2 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x28f libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x294 libgnu_wc.a(fnmatch.o)
.rodata (section) 0x2b2 libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x2d5 libgnu_wc.a(fnmatch.o)
.bss (section) 0x2eb libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x46b libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x470 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x56e libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x573 libgnu_wc.a(fnmatch.o)
.rodata (section) 0x5f1 libgnu_wc.a(fnmatch.o)
.bss (section) 0x6d3 libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x959 libgnu_wc.a(fnmatch.o)
.bss (section) 0x96f libgnu_wc.a(fnmatch.o)
.bss (section) 0xf76 libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0xfc0 libgnu_wc.a(fnmatch.o)
.bss (section) 0xfd6 libgnu_wc.a(fnmatch.o)
.bss (section) 0x1126 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x11fe libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x1203 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x121c libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x1221 libgnu_wc.a(fnmatch.o)
.rodata (section) 0x123f libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x1267 libgnu_wc.a(fnmatch.o)
.bss (section) 0x127d libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x14df libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x14e4 libgnu_wc.a(fnmatch.o)
.rodata (section) 0x154e libgnu_wc.a(fnmatch.o)
.bss (section) 0x15ed libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x1892 libgnu_wc.a(fnmatch.o)
.bss (section) 0x18a8 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x2003 libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x2008 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x2030 libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x2035 libgnu_wc.a(fnmatch.o)
.rodata.str1.4 (section) 0x204d libgnu_wc.a(fnmatch.o)
.rodata.str1.1 (merged string section) 0x2052 libgnu_wc.a(fnmatch.o)
.text (section) 0x0 libgnu_wc.a(fnmatch.o)
.text (section) 0x4 libgnu_wc.a(fnmatch.o)
.text (section) 0x8 libgnu_wc.a(fnmatch.o)
.text (section) 0xc libgnu_wc.a(fnmatch.o)
.text (section) 0x10 libgnu_wc.a(fnmatch.o)
.text (section) 0x14 libgnu_wc.a(fnmatch.o)
.text (section) 0x18 libgnu_wc.a(fnmatch.o)
.text (section) 0x1c libgnu_wc.a(fnmatch.o)
...............
.text (section) 0x2d0 libgnu_wc.a(fnmatch.o)
.text (section) 0x2d4 libgnu_wc.a(fnmatch.o)
.text (section) 0x2d8 libgnu_wc.a(fnmatch.o)
.text (section) 0x2dc libgnu_wc.a(fnmatch.o)
getenv 0x9c libgnu_wc.a(fnmatch.o)
getenv 0x2da libgnu_wc.a(fnmatch.o)
getenv 0x95e libgnu_wc.a(fnmatch.o)
getenv 0xfc5 libgnu_wc.a(fnmatch.o)
getenv 0x126c libgnu_wc.a(fnmatch.o)
getenv 0x1897 libgnu_wc.a(fnmatch.o)
memcpy 0x195 libgnu_wc.a(fnmatch.o)
memcpy 0x261 libgnu_wc.a(fnmatch.o)
__assert 0x299 libgnu_wc.a(fnmatch.o)
__assert 0x475 libgnu_wc.a(fnmatch.o)
__assert 0x578 libgnu_wc.a(fnmatch.o)
__assert 0x1208 libgnu_wc.a(fnmatch.o)
__assert 0x1226 libgnu_wc.a(fnmatch.o)
__assert 0x14e9 libgnu_wc.a(fnmatch.o)
__assert 0x200d libgnu_wc.a(fnmatch.o)
__assert 0x203a libgnu_wc.a(fnmatch.o)
__assert 0x2057 libgnu_wc.a(fnmatch.o)
strcat 0x323 libgnu_wc.a(fnmatch.o)
tolower 0x8c4 libgnu_wc.a(fnmatch.o)
tolower 0x8e0 libgnu_wc.a(fnmatch.o)
tolower 0x947 libgnu_wc.a(fnmatch.o)
tolower 0x980 libgnu_wc.a(fnmatch.o)
tolower 0xa5c libgnu_wc.a(fnmatch.o)
tolower 0xab1 libgnu_wc.a(fnmatch.o)
tolower 0xbde libgnu_wc.a(fnmatch.o)
tolower 0xbf5 libgnu_wc.a(fnmatch.o)
tolower 0xeea libgnu_wc.a(fnmatch.o)
wctype 0x9e4 libgnu_wc.a(fnmatch.o)
wctype 0x1ced libgnu_wc.a(fnmatch.o)
btowc 0xa05 libgnu_wc.a(fnmatch.o)
iswctype 0xa0d libgnu_wc.a(fnmatch.o)
iswctype 0x1d09 libgnu_wc.a(fnmatch.o)
memchr 0xb0f libgnu_wc.a(fnmatch.o)
memchr 0xd20 libgnu_wc.a(fnmatch.o)
wcslen 0x1000 libgnu_wc.a(fnmatch.o)
wmemcpy 0x10e2 libgnu_wc.a(fnmatch.o)
wmemcpy 0x11d7 libgnu_wc.a(fnmatch.o)
wcscat 0x12a2 libgnu_wc.a(fnmatch.o)
towlower 0x1572 libgnu_wc.a(fnmatch.o)
towlower 0x1829 libgnu_wc.a(fnmatch.o)
towlower 0x1843 libgnu_wc.a(fnmatch.o)
towlower 0x1965 libgnu_wc.a(fnmatch.o)
towlower 0x1994 libgnu_wc.a(fnmatch.o)
towlower 0x1ad7 libgnu_wc.a(fnmatch.o)
towlower 0x1aee libgnu_wc.a(fnmatch.o)
towlower 0x1c56 libgnu_wc.a(fnmatch.o)
wmemchr 0x1a1f libgnu_wc.a(fnmatch.o)
wmemchr 0x1c79 libgnu_wc.a(fnmatch.o)
__ctype 0x1e9f libgnu_wc.a(fnmatch.o)
mbsrtowcs 0x1efc libgnu_wc.a(fnmatch.o)
mbsrtowcs 0x1f2d libgnu_wc.a(fnmatch.o)
mbsrtowcs 0x1fa4 libgnu_wc.a(fnmatch.o)
mbsrtowcs 0x1fc7 libgnu_wc.a(fnmatch.o)
mbsinit 0x1f11 libgnu_wc.a(fnmatch.o)
mbsinit 0x1f43 libgnu_wc.a(fnmatch.o)
mbsinit 0x1faf libgnu_wc.a(fnmatch.o)
free 0x201b libgnu_wc.a(fnmatch.o)
malloc 0x206e libgnu_wc.a(fnmatch.o)
errno 0x2086 libgnu_wc.a(fnmatch.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
3. when clisp is configured normally, dynmod/lib-wildcard.so is created
without an error, but loading is fails:
(REQUIRE "wildcard") ==>
;; Loading file /.../dynmod/wildcard.lisp ...
;; Loading module wildcard from /.../dynmod/lib-wildcard.so
[SIMPLE-ERROR]: SYSTEM::DYNLOAD-MODULES: "dlopen" ->
"ld.so.1: lisp.run: fatal: relocation error:
file /.../dynmod/lib-wildcard.so: symbol rpl_mbsrtowcs:
referenced symbol not found"
I am passing CFLAGS et al to the gnulib compilation, so "-fPIC -DPIC"
should have been used.
Bruno, do you have any insight on the matter?
--
Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X
11.0.60900031
http://truepeace.org http://www.memritv.org http://thereligionofpeace.com
http://ffii.org http://honestreporting.com http://mideasttruth.com
Sinners can repent, but stupid is forever.
- solaris 11 (i386), PIC, dlopen &c,
Sam Steingold <=