One of our customers is reporting a SIGILL on a pwr3 machine from our
executable. He is running AIX 4.3.2; the executable is compiled with
qarch=com on a ppc machine running AIX 4.1.x (I think x=2, but don't
remember at the moment).
SIGILL means "Illegal instruction". I would expect such a signal in
situations in which one attempted to run, say, a pwr2 executable on a pwr3
machine or vice-versa -- but never for a -qarch=com executable on any AIX
Can anyone guess what the problem might be?
Also, I once found, on another platform, that I thought I was compiling to a
specific architecture but either mislabeled the executable or else left the
architecture-specific feature out of some link or compilation line. On that
machine (SGI), a "file" command told me the architecture; for instance,
"file foo" on SGI tells you whether the executable "foo" is a mips2, mips3
or mips4 executable. (These mips designations are like com, pwr2, etc.).
On AIX, "file" doesn't tell you whether the executable is pwr1, pwr2, ppc or
pwr3. I asked the development support line whether there is any other
command one can run on an executable that will give this information. I was
told that there is not. This strains credulity. So I thought I'd ask here:
is there any "cmd" I can run on an executable "foo" such that "cmd foo" will
give me this information?