Andrew Dunstan <andrew@dunslane.net> writes:
> I am seeing a strange failure on the new box Sun donated, when trying to
> ccache gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -c tas.s
> /usr/ccs/bin/ld -r -o SUBSYS.o dynloader.o pg_sema.o pg_shmem.o tas.o
> ld: fatal: relocation error: R_SPARC_32: file tas.o: symbol <unknown>: offset 0xec1 is non-aligned
> [etc]
> What is odd is that the identical file seems to succeeed on the later
> 8.0 and 8.1 branches.
The solaris_sparc.s file seems identical in these branches up to CVS
label ... but are the compilation options the same? The critical fix
might be somewhere in the configure/Makefile chain.
Another thing to try is whether it works without ccache. We've seen
plenty of trouble from that tool :-(
> Why do we have "mov 1,%o0" immediately followed by "mov 0,%o0"?
Better read up on branch delay slots...
regards, tom lane