| Summary: | The nasm blitters should be rewritten in gcc syntax | ||
|---|---|---|---|
| Product: | SDL | Reporter: | marchesin |
| Component: | video | Assignee: | marchesin |
| Status: | RESOLVED WONTFIX | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | codepro |
| Version: | HG 1.2 | ||
| Hardware: | x86 | ||
| OS: | All | ||
|
Description
marchesin
2006-01-31 21:35:55 UTC
The first Hermes issue (PIC) has been resolved a little while back. Hermes nasm code now loads MMX constants via stack and so does not have any static memory variables anymore. /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.1.0/../../../../x86_64-unknown-linux-gnu/bin/ld: build/.libs/SDL_blit_A.o: relocation R_X86_64_PC32 against `BlitRGBtoRGBPixelAlphaMMX3DNOW' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.1.0/../../../../x86_64-unknown-linux-gnu/bin/ld: final link failed: Bad value Is there any chance to make this working? (compiled with -fPIC) I think that's a gcc bug. It can probably be worked around by changing : inline static void BlitRGBtoRGBPixelAlphaMMX3DNOW(SDL_BlitInfo *info) into static void BlitRGBtoRGBPixelAlphaMMX3DNOW(SDL_BlitInfo *info) Oh btw, this has nothing to do with that bug. BlitRGBtoRGBPixelAlphaMMX3DNOW() is not inline anymore in subversion. Fwiw, the latest nasm builds can generate Intel Mach-O object files for Mac OS X. I'd be inclined to say getting nasm to target QNX would be a better effort than converting all the Hermes code to GCC format. If the PIC issues are resolved, I'd be inclined to flag this bug as WONTFIX. --ryan. Hearing nothing, I'm closing this bug as WONTFIX. Having converted more than my share of assembly between GCC and nasm, I can imagine that we'll spend many years debugging it for little gain. If an x86 platform can't use nasm, it will have to use the C fallbacks. That's how it goes. This would be a massive undertaking, and something that definitely should NOT happen in the 1.2 branch if nothing else. --ryan. |