[MPlayer-cvslog] r24532 - trunk/vidix/dha.c

Benjamin Zores ben at geexbox.org
Sat Sep 15 20:34:33 CEST 2007


ben a écrit :
> Author: ben
> Date: Sat Sep 15 19:51:05 2007
> New Revision: 24532
> 
> Log:
> the IN/OUT PORT 8/16/32 functions rely on inb/inw/inl/outb/outw/outl that are not available on alpha and powerpc architectures
> 
> Modified:
>    trunk/vidix/dha.c
> 
> Modified: trunk/vidix/dha.c
> ==============================================================================
> --- trunk/vidix/dha.c	(original)
> +++ trunk/vidix/dha.c	Sat Sep 15 19:51:05 2007
> @@ -185,6 +185,7 @@ void unmap_phys_mem(void *ptr, unsigned 
>  
>  #endif /* Generic mmap (not win32, nor os2) */
>  
> +#if !defined(__alpha__) && !defined(__powerpc__)
>  unsigned char INPORT8(unsigned idx)
>  {
>    return inb(idx);
> @@ -214,3 +215,4 @@ void OUTPORT32(unsigned idx,unsigned val
>  {
>    outl(idx,val);
>  }
> +#endif

This finally fixes the undefined symbol bug on PowerPC.

Now, just a clarification on what the bug was and how VIDIX lib is 
well-coded ...

As you all know, I've upgraded VIDIX to upstream snapshot between rc1 
and now and rc1 was working fine.

The thing is that symbols _always_ were missing.
But libdha never was built with -Wall until a few times ago, that's why 
we'd never the problem.

Until now, libdha was a shared library and vidix drivers were too.
Besides, vidix drivers were called through dlopen and never linked and 
that's the reason why we never see the missing symbol issue (now they 
all are statically linked).

What I did was disabling some drivers (cyberblade,unichrome,sis)
that were using these symbols that exist nowhere but on x86 iirc.

It shouldn't be really harmful for PowerPC users as, from what I know,
there are really few video cards that have a PowerPC compliant BIOS (i.e 
ati/nvidia/mga and 3dfx but there's no vidix for that).

Ben



More information about the MPlayer-cvslog mailing list