Opened 19 years ago

Last modified 18 years ago

#104 closed

emximp process def files with alias names in wrong way — at Initial Version

Reported by: froloff Owned by: bird
Priority: normal Milestone: libc-0.6.2
Component: emx Version: 0.6
Severity: normal Keywords: emximp
Cc:

Description

emximp create wrong function name, while converted def file, provided alias name in EXPORT section. For example, lines in input .def file

EXPORTS
; basic functions

zlibVersion = _zlibVersion
deflate = _deflate

will cause the following text in output .imp file (same for .a and .lib)
; -------- zlib2.lib --------
zlibVersion ZLIB2 _zlibVersion ?
deflate ZLIB2 _deflate ?

While the destination must looks like

; -------- zlib2.lib --------
_zlibVersion ZLIB2 zlibVersion ?
_deflate ZLIB2 deflate ?

The reason of this bug in emx\src\libmoddef\moddef2.c Patch provided in attach. This also emxomfld and emxbind. Some changes also preferable in weak.c, function symAddExport(), while parsing def file. What's the reason to add external name symbol to search list, when internal name provided? This operation always cause uninformative emxomfld warning message, like

weakld: error: Unresolved symbol (UNDEF) 'deflate'.

Change History (1)

by froloff, 19 years ago

Attachment: moddef2-diff.zip added
Note: See TracTickets for help on using tickets.