[MPlayer-users] loader/ldt_keeper.c assumes Linux/x86

Michael G Schwern schwern at pobox.com
Thu Jul 18 03:28:02 CEST 2002


Hello again.  While building MPlayer, both 0.90b5 and the 20020717 snapshot
on Debian/PowerPC, they both fall over in loader/ldt_keeper.c.

make[1]: Entering directory `/usr/local/src/MPlayer-20020717/loader'
gcc -I. -I.. -O4 -mcpu=750 -mtune=750 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -U_FILE_OFFSET_BITS -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -Wmissing-prototypes -Wimplicit-function-declaration -fno-omit-frame-pointer -DWIN32_PATH=\"/usr/local/lib/win32\" -DMPLAYER -D__WINE__ -Ddbg_printf=__vprintf -DTRACE=__vprintf  -c ldt_keeper.c
ldt_keeper.c:21: asm/ldt.h: No such file or directory
ldt_keeper.c:105: warning: `struct modify_ldt_ldt_s' declared inside parameter list
ldt_keeper.c:105: warning: its scope is only this definition or declaration, which is probably not what you want.
ldt_keeper.c: In function `LDT_Modify':
ldt_keeper.c:126: unknown register name `esi' in `asm'
ldt_keeper.c: In function `Setup_LDT_Keeper':
ldt_keeper.c:152: storage size of `array' isn't known
ldt_keeper.c:180: `MODIFY_LDT_CONTENTS_DATA' undeclared (first use in this function)
ldt_keeper.c:180: (Each undeclared identifier is reported only once
ldt_keeper.c:180: for each function it appears in.)
ldt_keeper.c:183: sizeof applied to an incomplete type
ldt_keeper.c: In function `LDT_Modify':
ldt_keeper.c:126: inconsistent operand constraints in an `asm'
{standard input}: Assembler messages:
{standard input}:92: Error: Unrecognized opcode: `movl'
{standard input}:92: Error: Unrecognized opcode: `movw'
{standard input}:117: Error: Unrecognized opcode: `movl'
{standard input}:117: Error: Unrecognized opcode: `movw'
make[1]: *** [ldt_keeper.o] Error 1
make[1]: Leaving directory `/usr/local/src/MPlayer-20020717/loader'
make: *** [loader/libloader.a] Error 2


There's two problems here.  One is that asm/ldt.h is only in the i386 Linux
kernel headers.  It's not available for PowerPC, and I'm not sure what it is
(AMD's Lightning Data Transfer bus?)  ldt_loader.c assumes that if
__linux__ is defined, you have asm/ldt.h.

    #ifdef __linux__
    #include <asm/unistd.h>
    #include <asm/ldt.h>
    #else

So I tried changing all the "#ifdef __linux__" to "#if 0" and take the
defaults.  Unfortunately, there is x86 assembly code in ldt_keeper.c and
that just isn't going to fly on PowerPC.


-- 
This sig file temporarily out of order.




More information about the MPlayer-users mailing list