GNOME Bugzilla – Bug 316434
glib-2.6.6 fails to compile on AIX 5.1 due to assembler errors
Last modified: 2006-12-12 20:49:18 UTC
Distribution/Version: 5.1 denali:/usr/mystuff/glib-2.4.8 7 su: gmake gmake all-recursive gmake[1]: Entering directory `/usr/mystuff/glib-2.4.8' Making all in . gmake[2]: Entering directory `/usr/mystuff/glib-2.4.8' gmake[2]: Leaving directory `/usr/mystuff/glib-2.4.8' Making all in m4macros gmake[2]: Entering directory `/usr/mystuff/glib-2.4.8/m4macros' gmake[2]: Nothing to be done for `all'. gmake[2]: Leaving directory `/usr/mystuff/glib-2.4.8/m4macros' Making all in glib gmake[2]: Entering directory `/usr/mystuff/glib-2.4.8/glib' Making all in libcharset gmake[3]: Entering directory `/usr/mystuff/glib-2.4.8/glib/libcharset' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/usr/mystuff/glib-2.4.8/glib/libcharset' Making all in gnulib gmake[3]: Entering directory `/usr/mystuff/glib-2.4.8/glib/gnulib' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/usr/mystuff/glib-2.4.8/glib/gnulib' gmake[3]: Entering directory `/usr/mystuff/glib-2.4.8/glib' if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -pthread -g -O2 -Wall -MT gatomic.lo -MD -MP -MF ".deps/gatomic.Tpo" \ -c -o gatomic.lo `test -f 'gatomic.c' || echo './'`gatomic.c; \ then mv -f ".deps/gatomic.Tpo" ".deps/gatomic.Plo"; \ else rm -f ".deps/gatomic.Tpo"; exit 1; \ fi gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -pthread -g -O2 -Wall -MT gatomic.lo -MD -MP -MF .deps/gatomic.Tpo -c gatomic.c -DPIC -o .libs/gatomic.o Assembler: /tmp//ccNBlkhe.s: line 267: Error In Syntax /tmp//ccNBlkhe.s: line 267: Instruction lwarx is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 267: Error In Syntax /tmp//ccNBlkhe.s: line 269: Instruction stwcx. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 270: Error In Syntax /tmp//ccNBlkhe.s: line 303: Error In Syntax /tmp//ccNBlkhe.s: line 303: Instruction lwarx is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 303: Error In Syntax /tmp//ccNBlkhe.s: line 305: Instruction stwcx. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 306: Error In Syntax /tmp//ccNBlkhe.s: line 338: Error In Syntax /tmp//ccNBlkhe.s: line 338: Instruction lwarx is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 338: Error In Syntax /tmp//ccNBlkhe.s: line 339: Instruction subf. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 340: Error In Syntax /tmp//ccNBlkhe.s: line 341: Instruction stwcx. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 342: Error In Syntax /tmp//ccNBlkhe.s: line 343: Error In Syntax /tmp//ccNBlkhe.s: line 382: Error In Syntax /tmp//ccNBlkhe.s: line 382: Instruction lwarx is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 382: Error In Syntax /tmp//ccNBlkhe.s: line 383: Instruction subf. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 384: Error In Syntax /tmp//ccNBlkhe.s: line 385: Instruction stwcx. is not implemented in the current assembly mode COM. /tmp//ccNBlkhe.s: line 386: Error In Syntax /tmp//ccNBlkhe.s: line 387: Error In Syntax gmake[3]: *** [gatomic.lo] Error 1 gmake[3]: Leaving directory `/usr/mystuff/glib-2.4.8/glib' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/usr/mystuff/glib-2.4.8/glib' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/mystuff/glib-2.4.8' gmake: *** [all] Error 2 denali:/usr/mystuff/glib-2.4.8 8 su: ------------------------------- I am using the gcc-3.3.2 compiler for AIX 5.1
This error occurs on both glib-2.4.8 and glib-2.6.6. I tried to use -mcpu=power2 but get the same error.
ed, is this still an issue or can this be closed as obsolete?
Created attachment 78108 [details] [review] fix the inline assembly to not use local numeric labels on powerpc This is the same bug as #160686. I encountered the same problem with glib 2.12.4 on AIX 5.3 using GCC 4.1.1, this error occurs because the inline assembly code in gatomic.c is using local numeric labels which are unsupported by the AIX assembler (which has to be used according to the GCC platform notes for AIX). The solution is to not use local numeric labels in the inline assembly code. I have a patch that changes the labels to non-numeric labels, to avoid collisions with other symbols a unique number is appended by specifying %=.
hi hans, thanks a lot for the patch. can i kindly ask you to attach a patch by using "cvs diff -pu"? thanks in advance
Created attachment 78116 [details] [review] fix the inline assembly to not use local numeric labels on powerpc
*** Bug 160686 has been marked as a duplicate of this bug. ***
2006-12-11 Matthias Clasen <mclasen@redhat.com> * glib/gatomic.c: Don't use local numeric labels in inline assembler on AIX. (#316434, Hans Rosenfeld)