Quoth David Timms: > Hi, I think this was touched on a month ago, but not sure of resolution: > ===== > http://buildsys.rpmfusion.org/logs/fedora-development-rpmfusion_free/936-gcube-0.4-4.fc10/ppc64/ > build.log: > ... > isopack.c:118: warning: ignoring return value of 'fread', declared with > attribute warn_unused_result > isopack.c:145: warning: ignoring return value of 'fread', declared with > attribute warn_unused_result > gcc -g -Wall -I/usr/include -I/usr/local/include -DASM_X86 > -DENABLE_SOUND -DDEFAULT_COLOR_MODE=1 -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mminimal-toc -fno-strict-aliasing -c > -o thpview.o thpview.c > gcc -g -Wall -I/usr/include -I/usr/local/include -DASM_X86 > -DENABLE_SOUND -DDEFAULT_COLOR_MODE=1 -O2 -g -pipe -Wall > -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mminimal-toc -fno-strict-aliasing -c > -o jpeg_tools.o jpeg_tools.c > thpview.c: In function 'thp_write_jpeg_frame': > thpview.c:137: warning: ignoring return value of 'fwrite', declared with > attribute warn_unused_result > thpview.c: In function 'thp_write_audio_frame': > thpview.c:158: warning: ignoring return value of 'fwrite', declared with > attribute warn_unused_result > thpview.c: In function 'thp_extract_data': > thpview.c:399: warning: format '%.8x' expects type 'unsigned int', but > argument 2 has type 'long int' > thpview.c: In function 'main': > thpview.c:517: warning: pointer targets in passing argument 1 of > 'thp_play_movie' differ in signedness > thpview.c:510: warning: ignoring return value of 'fread', declared with > attribute warn_unused_result > gcc -g -c -o ppc_disasm.o ppc_disasm.c > {standard input}: Assembler messages: > {standard input}:590: Error: Unrecognized opcode: `bswap' > {standard input}:687: Error: Unrecognized opcode: `bswap' > {standard input}:721: Error: Unrecognized opcode: `bswap' > {standard input}:1092: Error: Unrecognized opcode: `bswap' > {standard input}:1146: Error: Unrecognized opcode: `bswap' > {standard input}:1186: Error: Unrecognized opcode: `bswap' > {standard input}:1215: Error: Unrecognized opcode: `bswap' > make: *** [isopack.o] Error 1 > make: *** Waiting for unfinished jobs.... > error: Bad exit status from /var/tmp/rpm-tmp.rGuH2u (%build) > ===== > So it seems that bswap might not suit ppc64 hardware. If that is the > case then: > # ppc64 build does not seem to support asm opcode bswap > ExcludeArch: ppc64 > would seem appropriate an appropriate addition to the .spec. Does that > make sense ? > > Note that it did build OK on i386|x86_64|ppc. I would have imagined that > ppc64 opcodes would be a superset of ppc, so there might be something > else going on ? > > DaveT.
bswap is used for endian conversion (IIRC). Since i386 and x86_64 are little endian the code is probably for reading big endian data on i386/x86_64. PPC is big endian to begin with so maybe you can add a patch to #ifdef on an intel architecture around the inline asm? If it's used for something other than endian conversion ppc probably has a similar instruction, but it'd be best to rewrite it in C. Regards, -- Conrad Meyer <[EMAIL PROTECTED]>