,IF_ARCH_i386(IF_OS_darwin(SLIT(".text\n\t.align 2"),
SLIT(".text\n\t.align 4,0x90"))
{-needs per-OS variation!-}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".text\n\t.align 2"),
SLIT(".text\n\t.align 4,0x90"))
{-needs per-OS variation!-}
- ,IF_ARCH_x86_64(SLIT(".text\n\t.align 8") {-needs per-OS variation!-}
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".text\n.align 3"),
+ SLIT(".text\n\t.align 8"))
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".data\n\t.align 2"),
SLIT(".data\n\t.align 4"))
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".data\n\t.align 2"),
SLIT(".data\n\t.align 4"))
- ,IF_ARCH_x86_64(SLIT(".data\n\t.align 8")
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".data\n.align 3"),
+ SLIT(".data\n\t.align 8"))
,IF_ARCH_powerpc(SLIT(".data\n.align 2")
,)))))
pprSectionHeader ReadOnlyData
,IF_ARCH_powerpc(SLIT(".data\n.align 2")
,)))))
pprSectionHeader ReadOnlyData
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const\n.align 2"),
SLIT(".section .rodata\n\t.align 4"))
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const\n.align 2"),
SLIT(".section .rodata\n\t.align 4"))
- ,IF_ARCH_x86_64(SLIT(".section .rodata\n\t.align 8")
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".const\n.align 3"),
+ SLIT(".section .rodata\n\t.align 8"))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const\n.align 2"),
SLIT(".section .rodata\n\t.align 2"))
,)))))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const\n.align 2"),
SLIT(".section .rodata\n\t.align 2"))
,)))))
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".section .rodata\n\t.align 4"))
,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".section .rodata\n\t.align 4"))
- ,IF_ARCH_x86_64(SLIT(".section .rodata\n\t.align 8")
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".const_data\n.align 3"),
+ SLIT(".section .rodata\n\t.align 8"))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".data\n\t.align 2"))
,)))))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".data\n\t.align 2"))
,)))))
= ptext
IF_ARCH_alpha(SLIT("\t.bss\n\t.align 3")
,IF_ARCH_sparc(SLIT(".bss\n\t.align 8") {-<8 will break double constants -}
= ptext
IF_ARCH_alpha(SLIT("\t.bss\n\t.align 3")
,IF_ARCH_sparc(SLIT(".bss\n\t.align 8") {-<8 will break double constants -}
- ,IF_ARCH_x86_64(SLIT(".section .bss\n\t.align 8")
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".data\n\t.align 3"),
+ SLIT(".section .bss\n\t.align 8"))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".section .bss\n\t.align 2"))
,)))))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const_data\n.align 2"),
SLIT(".section .bss\n\t.align 2"))
,)))))
,IF_ARCH_sparc(SLIT(".data\n\t.align 16")
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const\n.align 4"),
SLIT(".section .rodata\n\t.align 16"))
,IF_ARCH_sparc(SLIT(".data\n\t.align 16")
,IF_ARCH_i386(IF_OS_darwin(SLIT(".const\n.align 4"),
SLIT(".section .rodata\n\t.align 16"))
- ,IF_ARCH_x86_64(SLIT(".section .rodata.cst16\n\t.align 16")
+ ,IF_ARCH_x86_64(IF_OS_darwin(SLIT(".const\n.align 4"),
+ SLIT(".section .rodata.cst16\n\t.align 16"))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const\n.align 4"),
SLIT(".section .rodata\n\t.align 4"))
,)))))
,IF_ARCH_powerpc(IF_OS_darwin(SLIT(".const\n.align 4"),
SLIT(".section .rodata\n\t.align 4"))
,)))))
pprAlign bytes =
IF_ARCH_alpha(ptextSLIT(".align ") <> int pow2,
IF_ARCH_i386(ptext SLIT(".align ") <> int IF_OS_darwin(pow2,bytes),
pprAlign bytes =
IF_ARCH_alpha(ptextSLIT(".align ") <> int pow2,
IF_ARCH_i386(ptext SLIT(".align ") <> int IF_OS_darwin(pow2,bytes),
IF_ARCH_sparc(ptext SLIT(".align ") <> int bytes,
IF_ARCH_powerpc(ptext SLIT(".align ") <> int pow2,)))))
where
IF_ARCH_sparc(ptext SLIT(".align ") <> int bytes,
IF_ARCH_powerpc(ptext SLIT(".align ") <> int pow2,)))))
where
-- x86_64: binutils can't handle the R_X86_64_PC64 relocation
-- type, which means we can't do pc-relative 64-bit addresses.
-- Fortunately we're assuming the small memory model, in which
-- x86_64: binutils can't handle the R_X86_64_PC64 relocation
-- type, which means we can't do pc-relative 64-bit addresses.
-- Fortunately we're assuming the small memory model, in which