From: Danny S. <dan...@cl...> - 2004-09-07 10:16:46
|
----- Original Message ----- From: "Danny Smith" < ----- Original Message ----- | From: "Aaron W. LaFramboise" | | | | | Due to some recent confusion on this matter, and the general lack of | | clear examples in general, I have created a small example that shows | how | | the internalname element is correctly used in a DEF file. | | | | Note how the internalname feature is used to rename | llama_implementation | | to llama. | | | | The official meaning of internalname is documented at | | | <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore | /html/_core_EXPORTS.asp> | | and | | | <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore | 98/html/_core_.2f.export.asp?frame=true>. | | | | I've tested it successfully on MSVC 6.0, MSVC .NET, and recent | | GCC/binutils combinations. I suspect it would work with other | compilers | | that support .def files as well. | | | | This example fails on all binutils versions with Carlo Wood's patch, | | including those with Danny Smith's fix (which is not directly | related). | | | Please post this to binutils list asking for a reversion of the two | patches. It still might be useful to have a way to override --kill-at or --add-underscores for individual symbols in a def file: eg: /* If the user has specified an internal name, ignore command line name translation options. */ char const * entry_name = exp->internal_name != exp->name ? exp->name : xlate (exp->name); etc. Danny | I can provide another example where the changes break expected | behaviour, with def file like | | LIBRARY foo.dll | EXPORTS | rooted = MSVCRT.sqrt | IMPORTS | MSVCRT.dll.sqrt | | I pulled out an old (1996), but very helpful MSDN article called "DLL | for beginners", authoured by Debabrata Sarma which also confirms what | you have indicated. | | Thanks for pursuing this. | | Danny | | | | | | Aaron W. LaFramboise | | | | | |