From: Danny Smith <dannysmith@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
| | the internalname element is correctly used in a DEF file.
| | Note how the internalname feature is used to rename
| | to llama.
| | The official meaning of internalname is documented at
| | and
| | I've tested it successfully on MSVC 6.0, MSVC .NET, and recent
| | GCC/binutils combinations. I suspect it would work with other
| | 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
| Please post this to binutils list asking for a reversion of the two
It still might be useful to have a way to override --kill-at
or --add-underscores for individual symbols in a def file:
/* 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
| I can provide another example where the changes break expected
| behaviour, with def file like
| LIBRARY foo.dll
| rooted = MSVCRT.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.
| | Aaron W. LaFramboise