On Tue, 2006-09-19 at 09:57 -0700, Eric DeVolder wrote: > - lw $4,%got($LC0)($28) > + la $4,$LC0 The difference here is -mexplicit-relocs, which is the default for the first one (cross) but not the second one (native). The explicit-reloc support is enabled by a run-time configure test, which tries to run the assembler to see if you have a new enough version of GNU as that supports the necessary assembler reloc syntax. Apparently this is going wrong with the native build. Perhaps you have a different binutils version, or perhaps there is a problem with your PATH, or perhaps binutils and gcc weren't configured with the same prefix, etc. If you have the build trees, you can look at the gcc/config.h files and note that one has HAVE_AS_EXPLICIT_RELOCS defined and the other doesn't. -- Jim Wilson, GNU Tools Support, http://www.specifix.com