[MPlayer-dev-eng] [PATCH] correct illegal instruction on < armv5tE

GNUtoo at no-log.org GNUtoo at no-log.org
Tue Oct 7 23:01:55 CEST 2008


hello, I wanted to cross-compile mplayer from svn but it failed...that's
because the pld instruction is not supported by my platform(armv4):
More precisely the pld instruction was introduced in armv5tE variants( but
is not present on armv5texp)
here's the compilation faillure:

| ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t
-Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement
-std=gnu99
-isystem/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -Os
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. 
-isystem/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include
-I/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include/SDL 
-D_REENTRANT
-I/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include/freetype2
-I/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include
-isystem/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include 
-c -o libmpeg2/motion_comp_arm.o libmpeg2/motion_comp_arm.c
| ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t 
-isystem/home/gnutoo/oetmp/staging/arm-angstrom-linux-gnueabi/usr/include 
-c -o libmpeg2/motion_comp_arm_s.o libmpeg2/motion_comp_arm_s.S
| libmpeg2/motion_comp_arm_s.S: Assembler messages:
| libmpeg2/motion_comp_arm_s.S:29: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:39: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:65: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:70: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:75: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:89: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:98: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:120: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:126: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:132: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:158: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:183: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:197: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:212: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:227: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:250: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:271: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:283: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:296: Error: selected processor does not
support `pld [r1]'
| libmpeg2/motion_comp_arm_s.S:309: Error: selected processor does not
support `pld [r1]'
| make: *** [libmpeg2/motion_comp_arm_s.o] Error 1
| FATAL: oe_runmake failed
NOTE: Task failed:
/home/gnutoo/oetmp/work/armv4t-angstrom-linux-gnueabi/mplayer-0.0+1.0rc2+svnr27726-r7/temp/log.do_compile.18445
NOTE: package mplayer-0.0+1.0rc2+svnr27726-r7: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package mplayer-0.0+1.0rc2+svnr27726: failed
ERROR: Build of
/home/gnutoo/dev/embedded/oe/local_repository/packages/mplayer/mplayer_svn.bb
do_compile failed
ERROR: Task 7
(/home/gnutoo/dev/embedded/oe/local_repository/packages/mplayer/mplayer_svn.bb,
do_compile) failed
NOTE: Tasks Summary: Attempted 736 tasks of which 730 didn't need to be
rerun and 1 failed.
ERROR:
'/home/gnutoo/dev/embedded/oe/local_repository/packages/mplayer/mplayer_svn.bb'
failed
NOTE: build 200810072146: completed

With the patch it builds and runs fine(I tested youtube videos with a script)

I bet the patch won't be accepted as-is because it has a performance cost
on the platform where the pld instruction is supported because the pld
instruction preloads things...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm_illegal_instruction.patch
Type: application/octet-stream
Size: 3120 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20081007/f30fcffa/attachment.obj>


More information about the MPlayer-dev-eng mailing list