Shared Object with DMD v2.031

teo teo.ubuntu.remove at yahoo.com
Sun Aug 2 04:18:24 PDT 2009


On Sun, 02 Aug 2009 02:18:28 +0400, Sergey Gromov wrote:

> My guess is that test.di is exactly the same as test.d because all the
> functions are small.  Therefore compiling 'dmd prog.d test.di' resolves
> all symbols statically and the .so is simply not linked.  Does your
> 'prog' have any unresolved symbols in its symbol table?

It looks like this is the case. I found following in the symbols:
0804b8cc T _D4test6testMeFZi
0804b8d8 T _D4test9testClassFiZC4test4Test

The whole nm output is too long, but if you want I can send it to you.

When I use the *--undefined-only* option I get:
$ nm -u prog
         w _Jv_RegisterClasses
         U __assert_fail@@GLIBC_2.0
         U __cxa_atexit@@GLIBC_2.1.3
         U __errno_location@@GLIBC_2.0
         w __gmon_start__
         U __libc_start_main@@GLIBC_2.0
         U _main
         U _pthread_cleanup_push@@GLIBC_2.0
         U calloc@@GLIBC_2.0
         U clearerr@@GLIBC_2.0
         U fclose@@GLIBC_2.1
         U feof@@GLIBC_2.0
         U ferror@@GLIBC_2.0
         U fflush@@GLIBC_2.0
         U fgetwc_unlocked@@GLIBC_2.2
         U fileno@@GLIBC_2.0
         U flockfile@@GLIBC_2.0
         U fopen64@@GLIBC_2.1
         U fputc_unlocked@@GLIBC_2.0
         U fputwc_unlocked@@GLIBC_2.2
         U free@@GLIBC_2.0
         U fseek@@GLIBC_2.0
         U ftell@@GLIBC_2.0
         U funlockfile@@GLIBC_2.0
         U fwide@@GLIBC_2.2
         U fwrite@@GLIBC_2.0
         U getdelim@@GLIBC_2.0
         U malloc@@GLIBC_2.0
         U memchr@@GLIBC_2.0
         U memcmp@@GLIBC_2.0
         U memcpy@@GLIBC_2.0
         U memmove@@GLIBC_2.0
         U memset@@GLIBC_2.0
         U mmap@@GLIBC_2.0
         U munmap@@GLIBC_2.0
         U nanosleep@@GLIBC_2.0
         U popen@@GLIBC_2.1
         U printf@@GLIBC_2.0
         U pthread_attr_init@@GLIBC_2.1
         U pthread_attr_setdetachstate@@GLIBC_2.0
         U pthread_attr_setstacksize@@GLIBC_2.1
         U pthread_create@@GLIBC_2.1
         U pthread_detach@@GLIBC_2.0
         U pthread_getschedparam@@GLIBC_2.0
         U pthread_getspecific@@GLIBC_2.0
         U pthread_join@@GLIBC_2.0
         U pthread_key_create@@GLIBC_2.0
         U pthread_kill@@GLIBC_2.0
         U pthread_mutex_destroy@@GLIBC_2.0
         U pthread_mutex_init@@GLIBC_2.0
         U pthread_mutex_lock@@GLIBC_2.0
         U pthread_mutex_unlock@@GLIBC_2.0
         U pthread_mutexattr_destroy@@GLIBC_2.0
         U pthread_mutexattr_init@@GLIBC_2.0
         U pthread_mutexattr_settype@@GLIBC_2.1
         U pthread_self@@GLIBC_2.0
         U pthread_setschedparam@@GLIBC_2.0
         U pthread_setspecific@@GLIBC_2.0
         U realloc@@GLIBC_2.0
         U rewind@@GLIBC_2.0
         U sched_get_priority_max@@GLIBC_2.0
         U sched_get_priority_min@@GLIBC_2.0
         U sched_yield@@GLIBC_2.0
         U sem_init@@GLIBC_2.1
         U sem_post@@GLIBC_2.1
         U sem_wait@@GLIBC_2.1
         U setvbuf@@GLIBC_2.0
         U sigaction@@GLIBC_2.0
         U sigdelset@@GLIBC_2.0
         U sigfillset@@GLIBC_2.0
         U sigsuspend@@GLIBC_2.0
         U strerror@@GLIBC_2.0
         U strerror_r@@GLIBC_2.0
         U strlen@@GLIBC_2.0
         U sysconf@@GLIBC_2.0
         U tmpfile@@GLIBC_2.1
         U vsnprintf@@GLIBC_2.0
         U write@@GLIBC_2.0



More information about the Digitalmars-d-learn mailing list