winebuild incompatibility with binutils-

Piotr Pawłow pp at
Wed Apr 9 22:53:42 CDT 2003


There is a change in "nm -u" output format in the new binutils, now it 
outputs "U " before every symbol name. It looks like this:

$ nm -u d3d8.dll.tmp.o
         U cos
         U CreateDCA
         U DeleteDC
         U ExtEscape
         U GetClientRect
         U GetDC
         U GetDesktopWindow
         U GetDeviceCaps
         U GetModuleHandleA
         U GetProcAddress
         U GetPropA

Winebuild parser is not prepared for that. It does not find proper 
symbol names, creates spec.c files with no imports, and the result is 
that linking fails on unresolved symbols, as reported in "--with-nptl 
and glibc-2.3.2" thread.

A quick fix:

Index: tools/winebuild/import.c
RCS file: /home/wine/wine/tools/winebuild/import.c,v
retrieving revision 1.48
diff -r1.48 import.c
> 	if (*p == 'U') {
> 		if (p[1] == ' ') p+=2;
> 	}

Shouldn't winebuild, however, use libbfd where available, 
instead of relying on nm output?

 Piotr Pawłow
 mailto:pp at

More information about the wine-devel mailing list