Howdy,

I recently revisited compiling Wine with TinyCC. I've got some patches for
wine for that, but my current blocker is a lack of support for hidden
symbols on tcc:
make[1]: Entering directory `/home/austin/src/wine-tcc/dlls/acledit'
/home/austin/tcc/bin/i386-linux-gnu-tcc -m32 -c -I. -I. -I../../include
-I../../include  -D__WINESRC__  -D_REENTRANT -fPIC   -g  -o main.o main.c
../../tools/winegcc/winegcc -m32 -B../../tools/winebuild --sysroot=../..
-shared ./acledit.spec main.o           -o acledit.dll.so
../../libs/port/libwine_port.a
acledit.pEPjUb.s:14: error: unknown assembler directive '.hidden'
winebuild: /home/austin/tcc/bin/i386-linux-gnu-tcc failed with status 1
winegcc: ../../tools/winebuild/winebuild failed
make[1]: *** [acledit.dll.so] Error 2
make[1]: Leaving directory `/home/austin/src/wine-tcc/dlls/acledit'
make: *** [dlls/acledit] Error 2

relevant Wine code (tools/winebuild/utils.c):

/* return a global symbol declaration for an assembly symbol */
const char *asm_globl( const char *func )
{
    static char *buffer;

    free( buffer );
    switch (target_platform)
    {
    case PLATFORM_APPLE:
        buffer = strmake( "\t.globl _%s\n\t.private_extern _%s\n_%s:",
func, func, func );
        break;
    case PLATFORM_WINDOWS:
        buffer = strmake( "\t.globl _%s\n_%s:", func, func );
        break;
    default:
        buffer = strmake( "\t.globl %s\n\t.hidden %s\n%s:", func, func,
func );
        break;
    }
    return buffer;
}

is there any plan for supporting this?

-- 
-Austin
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to