Mach-O and SECTION .rodata

Takashi Mochizuki <[email protected]>
Newsgroups gmane.comp.video.xvid.devel
Message-ID <[email protected]>
Hi,
Another patch for nasm.inc.

Using daily snapshot 20081206,
- I've got crash on:
         [quant_h263_inter_sse2:movdqa] (quantize_h264_mmx.asm:539)
- it seems to be that [plus_one] is not loaded as aligned
         line 39 ALIGN SECTION_ALIGN is not functional under my MacOS  
X env.
- At 20080819 snapshot, it is movdqu, not movdqa.
         reverting movdqa to movdqu can avoid crash though...

//

After a few hour search, I have found
- <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-August/015984.html 
 >

Directive ALIGN for SECTION .rodata may not function well - under  
"some" MacOS X; at least my mac.
(It seems to be, not yasm/nasm issue though... by ld64?)

And following is simple patch, snippet from above post. This can  
resolve crash at movdqa.

Takashi Mochzuki

//

--- xvid_20081206.orig/src/nasm.inc	2008-12-05 19:15:02.000000000 +0900
+++ xvid_20081206/src/nasm.inc	2008-12-06 12:19:56.000000000 +0900
@@ -170,7 +170,12 @@
        %ifdef FORMAT_COFF
              SECTION .rodata
        %else
-            SECTION .rodata align=SECTION_ALIGN
+        %ifidn __OUTPUT_FORMAT__,macho
+          SECTION .text align=SECTION_ALIGN
+          fakegot:
+        %else
+          SECTION .rodata align=SECTION_ALIGN
+        %endif
        %endif
  %endmacro
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.