On Tue, 30 Nov 2010, Thorsten Glaser wrote:
Ivan Jager dixit:
Is there some reason why changing it to __sparcv9 is wrong?

Yes, v9 is 64 bit, sparc is 32 bit (sparc64 is 64 bit).

Yes, but even on sparc64 linux uses a 32 bit userland. (so far at least)
I guess I was more wondering if there were any technical reasons not to make the change. Given that there is later code that checks for __arch64__, it seems like it would work with gcc and with the Sun compiler, although I don't know what other sparc compilers are out there or what they do. How does *BSD handle it?

I guess if you are convinced it's a gcc bug feel free to file a bug against gcc, but I am not sufficiently convinced to do it myself.

Out of curiosity, does manually specifying -m32 on the
command line “fix” your problem/testcase?

No, it makes no difference.

I did discover why util-vserver did work though. It is compiling with "diet -Os gcc ..." which runs gcc with -Os -mcpu=supersparc.

I tested with versions from snapshot.d.o and -Os changes from -mcpu=supersparc to -mcpu=v9 in 0.32-5. The patch in question is debian/diff/0013-sparc-use-mcpu-v9-instead-of-mcpu-supersparc.diff

Hope that helps,
Ivan

Reply via email to