Linking COFF and OMF

Don nospam at nospam.com
Mon Feb 21 06:26:11 PST 2011


Trass3r wrote:
>> In 2.052 several of the most complicated dependencies on snn.lib (those 
>> relating to exception handling) were removed. I don't know how many more 
>> DMC-specific ones there are, but using another snn.lib might be possible 
>> now.
> 
> Compiled a hello world with empty snn.lib:

That's pretty good. Almost all of those things are standard C.
LDIV and UDIV could easily be eliminated.
__except_list is a null asm label (it is FS:[0]).

So the main problematic ones are:
_xi_a , __acrtused_con, the __fp functions, and _Ccmp


> 
> 
> OPTLINK (R) for Win32  Release 8.00.8
> Copyright (C) Digital Mars 1989-2010  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> helloworld.obj(helloworld) 
>  Error 42: Symbol Undefined __acrtused_con
> C:\dmd\windows\bin\..\lib\phobos.lib(dmain2) 
>  Error 42: Symbol Undefined ___alloca
> C:\dmd\windows\bin\..\lib\phobos.lib(dmain2) 
>  Error 42: Symbol Undefined __except_list
> helloworld.obj(helloworld) 
>  Error 42: Symbol Undefined _fprintf
> C:\dmd\windows\bin\..\lib\phobos.lib(dmain2) 
>  Error 42: Symbol Undefined _wcslen
> C:\dmd\windows\bin\..\lib\phobos.lib(deh) 
>  Error 42: Symbol Undefined __tls_array
> C:\dmd\windows\bin\..\lib\phobos.lib(deh) 
>  Error 42: Symbol Undefined __tls_index
> C:\dmd\windows\bin\..\lib\phobos.lib(gc) 
>  Error 42: Symbol Undefined _memcpy
> C:\dmd\windows\bin\..\lib\phobos.lib(gc) 
>  Error 42: Symbol Undefined _malloc
> C:\dmd\windows\bin\..\lib\phobos.lib(memory) 
>  Error 42: Symbol Undefined __xi_a
> C:\dmd\windows\bin\..\lib\phobos.lib(memory) 
>  Error 42: Symbol Undefined __end
> C:\dmd\windows\bin\..\lib\phobos.lib(gcx) 
>  Error 42: Symbol Undefined _calloc
> C:\dmd\windows\bin\..\lib\phobos.lib(gcx) 
>  Error 42: Symbol Undefined _free
> C:\dmd\windows\bin\..\lib\phobos.lib(gcx) 
>  Error 42: Symbol Undefined _memset
> C:\dmd\windows\bin\..\lib\phobos.lib(object_) 
>  Error 42: Symbol Undefined _strlen
> C:\dmd\windows\bin\..\lib\phobos.lib(thread) 
>  Error 42: Symbol Undefined __beginthreadex
> C:\dmd\windows\bin\..\lib\phobos.lib(thread) 
>  Error 42: Symbol Undefined __tlsend
> C:\dmd\windows\bin\..\lib\phobos.lib(thread) 
>  Error 42: Symbol Undefined __tlsstart
> C:\dmd\windows\bin\..\lib\phobos.lib(object_) 
>  Error 42: Symbol Undefined _memcmp
> C:\dmd\windows\bin\..\lib\phobos.lib(gcx) 
>  Error 42: Symbol Undefined _memmove
> C:\dmd\windows\bin\..\lib\phobos.lib(gcx) 
>  Error 42: Symbol Undefined _realloc
> C:\dmd\windows\bin\..\lib\phobos.lib(regexp) 
>  Error 42: Symbol Undefined _printf
> C:\dmd\windows\bin\..\lib\phobos.lib(regexp) 
>  Error 42: Symbol Undefined _memchr
> C:\dmd\windows\bin\..\lib\phobos.lib(datetime) 
>  Error 42: Symbol Undefined _localtime
> C:\dmd\windows\bin\..\lib\phobos.lib(datetime) 
>  Error 42: Symbol Undefined _tzset
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined __iob
> C:\dmd\windows\bin\..\lib\phobos.lib(monitor) 
>  Error 42: Symbol Undefined __assert
> C:\dmd\windows\bin\..\lib\phobos.lib(lifetime) 
>  Error 42: Symbol Undefined __LDIV@
> C:\dmd\windows\bin\..\lib\phobos.lib(outbuffer) 
>  Error 42: Symbol Undefined __vsnprintf
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _fclose
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _tmpfile
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _ftell
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _fseek
> C:\dmd\windows\bin\..\lib\phobos.lib(exception) 
>  Error 42: Symbol Undefined _strerror
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _setmode
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined ___fhnd_info
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _fread
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined _fopen
> C:\dmd\windows\bin\..\lib\phobos.lib(conv) 
>  Error 42: Symbol Undefined __ULDIV@
> C:\dmd\windows\bin\..\lib\phobos.lib(format) 
>  Error 42: Symbol Undefined ___pfloatfmt
> C:\dmd\windows\bin\..\lib\phobos.lib(errno) 
>  Error 42: Symbol Undefined _errno
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined ___fp_unlock
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined __fgetc_nlock
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined __fgetwc_nlock
> C:\dmd\windows\bin\..\lib\phobos.lib(stdio) 
>  Error 42: Symbol Undefined ___fp_lock
> C:\dmd\windows\bin\..\lib\phobos.lib(ti_cfloat) 
>  Error 42: Symbol Undefined __Ccmp
> 


More information about the Digitalmars-d mailing list