AdjustorAsm.S doesn't build on AIX
OK, this is a weird one.
I'm building GHC 6.4.1 on AIX and using IBM's assembler, since GNU binutils is known to have issues on AIX.
When the build reached AdjustorAsm.S, I got:
imer.h -#include ProfHeap.h -#include LdvProfile.h
-#include Profiling.h -#inclu
de Apply.h -fvia-C -dcmm-lint -c AdjustorAsm.S -o
AdjustorAsm.o
Assembler:
/tmp//ccq7dlbU.s: line 15: 1252-016 The specified
opcode or pseudo-op is not val
id.
Use supported instructions or pseudo-ops only.
/tmp//ccq7dlbU.s: line 48: 1252-149 Instruction subf is
not implemented in the c
urrent assembly mode COM.
/tmp//ccq7dlbU.s: line 52: 1252-142 Syntax error.
/tmp//ccq7dlbU.s: line 53: 1252-142 Syntax error.
/tmp//ccq7dlbU.s: line 58: 1252-142 Syntax error.
/tmp//ccq7dlbU.s: line 59: 1252-142 Syntax error.
make[2]: *** [AdjustorAsm.o] Error 1
After some research, I added -opta -Wa,-mppc, which reduced the errors to:
/tmp//ccA1yNhC.s: line 15: 1252-016 The specified
opcode or pseudo-op is not val
id.
Use supported instructions or pseudo-ops only.
/tmp//ccA1yNhC.s: line 52: 1252-142 Syntax error.
/tmp//ccA1yNhC.s: line 53: 1252-142 Syntax error.
/tmp//ccA1yNhC.s: line 58: 1252-142 Syntax error.
/tmp//ccA1yNhC.s: line 59: 1252-142 Syntax error.
I examined the temp files and found that line 15 contains only the word ".text".
I was finally able to work around the problem by adding -opta -save-temps to the command line, then using GNU as like so:
as mppc -I. AdjustorAsm.s -o AdjustorAsm.o
I then copied the resulting .o file to the thr, p, debug, etc. .o files. The build was then able to complete.