Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.


Welcome, Guest
Guest Settings
Help

Thread: Default DLL exports - what are they for?


This question is not answered. Helpful answers available: 1. Correct answers available: 1.


Permlink Replies: 2 - Last Post: Nov 25, 2016 6:33 AM Last Post By: Aleksandr Shumi... Threads: [ Previous | Next ]
Aleksandr Shumi...

Posts: 2
Registered: 5/26/10
Default DLL exports - what are they for?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 24, 2016 4:29 PM
Hi,

I was investigating into a nasty crash caused by a certain DLL setup (which I filed to Embarcadero's Quality Portal as RSP-16394) and found that DLLs targetting VCL framework export certain symbols by default.

This is an excerpt from TDUMP64 output:

Exports from Project1.dll
  15 exported name(s), 15 export addresse(s).  Ordinal base is 1.
  Sorted by Name:
    RVA      Ord. Hint Name
    -------- ---- ---- ----
    00003390    1 0000 _Lock_shared_ptr_spin_lock
    000033C0    2 0001 _Unlock_shared_ptr_spin_lock
    0000C620   15 0002 __CPPdebugHook
    00005730   14 0003 __CRTL_TLS_GetInfo
    000056D0    8 0004 ___CRTL_TLS_Alloc
    00005720   13 0005 ___CRTL_TLS_ExitThread
    000056E0    9 0006 ___CRTL_TLS_Free
    000056F0   10 0007 ___CRTL_TLS_GetValue
    00005710   12 0008 ___CRTL_TLS_InitThread
    00005700   11 0009 ___CRTL_TLS_SetValue
    00005560    7 000A _c_exit
    00005540    6 000B _cexit
    00005520    5 000C _exit
    000054F0    3 000D atexit
    00005500    4 000E exit


What's their purpose? Of my special concern is atexit which apparently causes my problems. What kind of code precisely is supposed to import atexit from my custom DLLs and why?

Best regards,
A.S.
Alex Belo

Posts: 626
Registered: 10/8/06
Re: Default DLL exports - what are they for?
Helpful
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 25, 2016 6:16 AM   in response to: Aleksandr Shumi... in response to: Aleksandr Shumi...
Aleksandr Shumihin wrote:

What's their purpose?

I don't know...

In 2007 DLL which uses TJPEGImage exports ... all its methods for
unknown purpose!

--
Alex
Aleksandr Shumi...

Posts: 2
Registered: 5/26/10
Re: Default DLL exports - what are they for?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 25, 2016 6:33 AM   in response to: Alex Belo in response to: Alex Belo
Alex Belo wrote:
In 2007 DLL which uses TJPEGImage exports ... all its methods for
unknown purpose!

Thanks! This may support my allegation that those exports serve no specific purpose at all
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02