Status: Accepted
Owner: [email protected]
CC: [email protected], [email protected], [email protected], [email protected]
Labels: Type-Enhancement Priority-Medium OpSys-Windows

New issue 332 by [email protected]: [Windows] Revisit how the RTL handles multi-module apps
http://code.google.com/p/address-sanitizer/issues/detail?id=332

We should probably revisit how the RTL handles multi-module apps.

Currently, the main module (.EXE) statically links in the RTL and all the other modules (.DLLs, basically) statically link with a simple thunk .LIB that delegates all the ASan interface calls to the RTL in the main module.
[See issue 209 for more background]

This works mostly well in practice, but makes deployment slightly more complex. Namely, one has to use clang as a linker for DLLs or pass the path to the thunk .LIB to the link.exe invocations. COFF .OBJ files have a directive that allows us to specify implicit .LIB dependencies, but unfortunately the same .OBJ file might be used in an .EXE and a .DLL, thus we can't use the directive with the current structure of the RTL.

Reid has suggested me to restructure the RTL like this:
- put the RTL into a .DLL
- all the modules (.EXE, .DLL, etc) should statically link with a thunk .LIB that forwards all the interface calls to the RTL DLL. - put a directive to implicitly link the thunk .LIB into all the address-sanitized .OBJ files

This sounds mostly good, but I wonder how would it affect usability?
Basically, which process should put the ASan RTL DLL next to the .EXE?
Is there a directive for that?

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to