Does -dlopen self work on AIX? While building epiphany-1.6.5 on this platform, seems that not all the correct symbols are being exported. On AIX 5.3, dlopen_self=no. If -dlopen self is specified, then the following code is executed (from the 1.5 branch): if test "$dlself" = yes; then $show "generating symbol list for \`$output'"
test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for arg in $progfiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done ... First, if noinst_LTLIBRARIES *.la files are specified on the command-line, their symbol list will not be searched because the only files searched for symbols is "X$objs$old_deplibs". This should really be "X$objs$libobjs$old_deplibs$old_convenience". Running the link line and the progfiles change I get: $ ../libtool --mode=link xlC_r -O2 -qro -qroconst -qmaxmem=-1 -qarch=com -L/opt/TWWfsw/gettext014/lib -Wl,-brtl -o epiphany -R/opt/TWWfsw/firefox15/lib -dlopen self epiphany-ephy-main.o libephymain.la ../src/bookmarks/libephybookmarks.la ../embed/libephyembedfactory.la ../embed/mozilla/libephymozillaembed.la ../embed/libephyembed.la ../lib/widgets/libephywidgets.la ../lib/libephymisc.la ../lib/egg/libegg.la -L/opt/TWWfsw/firefox15/lib -lgtkembedmoz -lxpcom -lxpcom_core -lplds4 -lplc4 -lnspr4 -lpthreads -ldl ... rm -f .libs/epiphany.nm .libs/epiphany.nmS .libs/epiphany.nmT creating .libs/epiphanyS.c generating symbol list for `epiphany' extracting global C symbols from `epiphany-ephy-main.o' extracting global C symbols from `./.libs/libephymain.a' extracting global C symbols from `../src/bookmarks/.libs/libephybookmarks.a' extracting global C symbols from `../embed/.libs/libephyembedfactory.a' extracting global C symbols from `../embed/mozilla/.libs/libephymozillaembed.a' extracting global C symbols from `../embed/.libs/libephyembed.a' extracting global C symbols from `../lib/widgets/.libs/libephywidgets.a' extracting global C symbols from `../lib/.libs/libephymisc.a' extracting global C symbols from `../lib/egg/.libs/libegg.a' (cd .libs && xlc_r -O2 -qro -qroconst -qmaxmem=-1 -qarch=com -c "epiphanyS.c") rm -f .libs/epiphanyS.c .libs/epiphany.nm .libs/epiphany.nmS .libs/epiphany.nmT xlC_r -O2 -qro -qroconst -qmaxmem=-1 -qarch=com -brtl -o epiphany .libs/epiphanyS.o epiphany-ephy-main.o -L/opt/TWWfsw/gettext014/lib ./.libs/libephymain.a ../src/bookmarks/.libs/libephybookmarks.a ../embed/.libs/libephyembedfactory.a ../embed/mozilla/.libs/libephymozillaembed.a ../embed/.libs/libephyembed.a ../lib/widgets/.libs/libephywidgets.a ../lib/.libs/libephymisc.a ../lib/egg/.libs/libegg.a -L/opt/TWWfsw/firefox15/lib -lgtkembedmoz -lxpcom -lxpcom_core -lplds4 -lplc4 -lnspr4 -lpthreads -ldl ... One of the symbols not being exported is "language_editor_up_button_clicked_cb". So, let's check out the above: $ grep language_editor_up_button_clicked_cb .libs/epiphanyS.c {"language_editor_up_button_clicked_cb", (lt_ptr) &language_editor_up_button_clicked_cb}, $ nm -BCpg .libs/epiphanyS.o | grep language_editor_up_button_clicked_cb - U language_editor_up_button_clicked_cb $ nm -BCpg epiphany | grep language_editor_up_button_clicked_cb 269185316 T .language_editor_up_button_clicked_cb But what I want is the following: $ nm -BCpg epiphany | grep language_editor_up_button_clicked_cb 269185316 T .language_editor_up_button_clicked_cb 536936672 D language_editor_up_button_clicked_cb -- albert chin ([EMAIL PROTECTED]) _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool