From 074512b7d2228dd45f95eed3056d241ede55fdfb Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich <slyfox@gentoo.org> Date: Sun, 4 Mar 2018 11:54:37 +0000 Subject: [PATCH] spec: add more assembly examples surrently broken for GHC These are tests to illustrate GHC cross-compilation failures: https://ghc.haskell.org/trac/ghc/ticket/14889 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> --- Spec.hs | 18 +++++++- test/asm/Makefile | 17 +++++++- test/asm/alpha-linux.s | 64 +++++++++++++++++++++++++++++ test/asm/hppa-linux.s | 67 ++++++++++++++++++++++++++++++ test/asm/ia64-linux.s | 63 ++++++++++++++++++++++++++++ test/asm/m68k-linux.s | 66 +++++++++++++++++++++++++++++ test/asm/mips-linux.s | 78 +++++++++++++++++++++++++++++++++++ test/asm/mips64-linux.s | 77 ++++++++++++++++++++++++++++++++++ test/asm/nios2-linux.s | 65 +++++++++++++++++++++++++++++ test/asm/powerpc-linux.s | 80 ++++++++++++++++++++++++++++++++++++ test/asm/powerpc64-linux.s | 73 ++++++++++++++++++++++++++++++++ test/asm/powerpc64le-linux.s | 74 +++++++++++++++++++++++++++++++++ test/asm/s390-linux.s | 68 ++++++++++++++++++++++++++++++ test/asm/s390x-linux.s | 63 ++++++++++++++++++++++++++++ test/asm/sh4-linux.s | 68 ++++++++++++++++++++++++++++++ test/asm/sparc-linux.s | 80 ++++++++++++++++++++++++++++++++++++ test/asm/sparc64-linux.s | 73 ++++++++++++++++++++++++++++++++ 17 files changed, 1092 insertions(+), 2 deletions(-) create mode 100644 test/asm/alpha-linux.s create mode 100644 test/asm/hppa-linux.s create mode 100644 test/asm/ia64-linux.s create mode 100644 test/asm/m68k-linux.s create mode 100644 test/asm/mips-linux.s create mode 100644 test/asm/mips64-linux.s create mode 100644 test/asm/nios2-linux.s create mode 100644 test/asm/powerpc-linux.s create mode 100644 test/asm/powerpc64-linux.s create mode 100644 test/asm/powerpc64le-linux.s create mode 100644 test/asm/s390-linux.s create mode 100644 test/asm/s390x-linux.s create mode 100644 test/asm/sh4-linux.s create mode 100644 test/asm/sparc-linux.s create mode 100644 test/asm/sparc64-linux.s diff --git a/Spec.hs b/Spec.hs index 973e92c..3a47d85 100644 --- a/Spec.hs +++ b/Spec.hs @@ -11,7 +11,23 @@ main = hspec $ do ,("x86_64 macos", "test/asm/x86_64-mac.s") ,("x86_64 mingw", "test/asm/x86_64-mingw32.s") ,("aarch64 ios", "test/asm/aarch64-ios.s") - ,("aarch64 linux","test/asm/aarch64.s")] + ,("aarch64 linux","test/asm/aarch64.s") + ,("sparc linux", "test/asm/sparc-linux.s") + ,("sparc64 linux","test/asm/sparc64-linux.s") + ,("mips linux", "test/asm/mips-linux.s") + ,("mips64 linux", "test/asm/mips64-linux.s") + ,("powerpc linux","test/asm/powerpc-linux.s") + ,("powerpc64 linux","test/asm/powerpc64-linux.s") + ,("powerpc64le linux","test/asm/powerpc64le-linux.s") + ,("hppa linux", "test/asm/hppa-linux.s") + ,("m68k linux", "test/asm/m68k-linux.s") + ,("alpha linux", "test/asm/alpha-linux.s") + ,("ia64 linux", "test/asm/ia64-linux.s") + ,("nios2 linux", "test/asm/nios2-linux.s") + ,("s390 linux", "test/asm/s390-linux.s") + ,("s390x linux", "test/asm/s390x-linux.s") + ,("sh4 linux", "test/asm/sh4-linux.s") + ] $ \(d, f) ->do context d $ do x <- runIO $ parse f diff --git a/test/asm/Makefile b/test/asm/Makefile index 91d2fcf..6f6a02c 100644 --- a/test/asm/Makefile +++ b/test/asm/Makefile @@ -2,9 +2,24 @@ all: clang -target arm-linux-gnueabihf -S -c tmp.c -o arm.s clang -target aarch64-linux-gnueabihf -S -c tmp.c -o aarch64.s clang -target arm64-apple-ios -S -c tmp.c -o aarch64-ios.s - clang -target armv7-apple-ios -S -c tmp.c -o arm-ios.s + clang -target armv7-apple-ios -S -c tmp.c -o arm-ios.s x86_64-w64-mingw32-gcc -S -c tmp.c -o x86_64-mingw32.s clang -target i386-unknown-linux -S -c tmp.c -o x86-linux.s clang -target x86_64-apple-macos -S -c tmp.c -o x86_64-mac.s clang -target i386-unknown-linux -S -c tmp.c -o x86-linux.s clang -target x86_64-unknown-linux -S -c tmp.c -o x86_64-linux.s + clang -target sparc-unknown-linux -S -c tmp.c -o sparc-linux.s + clang -target sparc64-unknown-linux -S -c tmp.c -o sparc64-linux.s + clang -target mips-unknown-linux -S -c tmp.c -o mips-linux.s + clang -target mips64-unknown-linux -S -c tmp.c -o mips64-linux.s + clang -target powerpc-unknown-linux -S -c tmp.c -o powerpc-linux.s + clang -target powerpc64-unknown-linux -S -c tmp.c -o powerpc64-linux.s + clang -target powerpc64le-unknown-linux -S -c tmp.c -o powerpc64le-linux.s + hppa-unknown-linux-gnu-gcc -S -c tmp.c -o hppa-linux.s + m68k-unknown-linux-gnu-gcc -S -c tmp.c -o m68k-linux.s + alpha-unknown-linux-gnu-gcc -S -c tmp.c -o alpha-linux.s + ia64-unknown-linux-gnu-gcc -S -c tmp.c -o ia64-linux.s + nios2-unknown-linux-gnu-gcc -S -c tmp.c -o nios2-linux.s + s390-unknown-linux-gnu-gcc -S -c tmp.c -o s390-linux.s + s390x-unknown-linux-gnu-gcc -S -c tmp.c -o s390x-linux.s + sh4-unknown-linux-gnu-gcc -S -c tmp.c -o sh4-linux.s diff --git a/test/asm/alpha-linux.s b/test/asm/alpha-linux.s new file mode 100644 index 0000000..75cc42c --- /dev/null +++ b/test/asm/alpha-linux.s @@ -0,0 +1,64 @@ + .set noreorder + .set volatile + .set noat + .set nomacro + .arch ev4 + .globl ___hsc2hs_BOM___ + .section .sdata,"aws",@progbits + .align 3 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .quad 4294967296 + .globl x___hsc2hs_sign___ + .section .sbss,"aw" + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 + .align 3 +x___hsc2hs_sign___: + .zero 8 + .globl x + .section .sdata + .align 3 + .type x, @object + .size x, 8 +x: + .quad 1 + .globl y___hsc2hs_sign___ + .section .sbss,"aw" + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 + .align 3 +y___hsc2hs_sign___: + .zero 8 + .globl y + .section .sdata + .align 3 + .type y, @object + .size y, 8 +y: + .quad -1 + .globl z___hsc2hs_sign___ + .align 3 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .quad 1 + .globl z + .align 3 + .type z, @object + .size z, 8 +z: + .quad -1 + .globl t + .section .rodata +$LC0: + .string "Hello World\" 12345" + .section .sdata + .align 3 + .type t, @object + .size t, 8 +t: + .quad $LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/hppa-linux.s b/test/asm/hppa-linux.s new file mode 100644 index 0000000..1beef34 --- /dev/null +++ b/test/asm/hppa-linux.s @@ -0,0 +1,67 @@ + .LEVEL 1.1 +.globl ___hsc2hs_BOM___ + .data + .align 8 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .word 1 + .word 0 +.globl x___hsc2hs_sign___ + .section .bss + .align 8 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 + .align 8 +x___hsc2hs_sign___: + .block 8 +.globl x + .data + .align 8 + .type x, @object + .size x, 8 +x: + .word 0 + .word 1 +.globl y___hsc2hs_sign___ + .section .bss + .align 8 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 + .align 8 +y___hsc2hs_sign___: + .block 8 +.globl y + .data + .align 8 + .type y, @object + .size y, 8 +y: + .word -1 + .word -1 +.globl z___hsc2hs_sign___ + .align 8 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .word 0 + .word 1 +.globl z + .align 8 + .type z, @object + .size z, 8 +z: + .word -1 + .word -1 +.globl t + .section .rodata + .align 4 +.LC0: + .stringz "Hello World\" 12345" + .section .data.rel.local,"aw",@progbits + .align 4 + .type t, @object + .size t, 4 +t: + .word .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" diff --git a/test/asm/ia64-linux.s b/test/asm/ia64-linux.s new file mode 100644 index 0000000..136894d --- /dev/null +++ b/test/asm/ia64-linux.s @@ -0,0 +1,63 @@ + .file "tmp.c" + .pred.safe_across_calls p1-p5,p16-p63 + .text + .global ___hsc2hs_BOM___# + .section .sdata,"aws",@progbits + .align 8 + .type ___hsc2hs_BOM___#, @object + .size ___hsc2hs_BOM___#, 8 +___hsc2hs_BOM___: + data8 4294967296 + .global x___hsc2hs_sign___# + .section .sbss,"aws",@nobits + .align 8 + .type x___hsc2hs_sign___#, @object + .size x___hsc2hs_sign___#, 8 +x___hsc2hs_sign___: + .skip 8 + .global x# + .section .sdata + .align 8 + .type x#, @object + .size x#, 8 +x: + data8 1 + .global y___hsc2hs_sign___# + .section .sbss + .align 8 + .type y___hsc2hs_sign___#, @object + .size y___hsc2hs_sign___#, 8 +y___hsc2hs_sign___: + .skip 8 + .global y# + .section .sdata + .align 8 + .type y#, @object + .size y#, 8 +y: + data8 -1 + .global z___hsc2hs_sign___# + .align 8 + .type z___hsc2hs_sign___#, @object + .size z___hsc2hs_sign___#, 8 +z___hsc2hs_sign___: + data8 1 + .global z# + .align 8 + .type z#, @object + .size z#, 8 +z: + data8 -1 + .global t# + .section .rodata + .align 8 +.LC0: + stringz "Hello World\" 12345" + .section .sdata + .align 8 + .type t#, @object + .size t#, 8 +t: + data8 .LC0 + .ident "GCC: (Gentoo 7.3.0 p1.0) 7.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/m68k-linux.s b/test/asm/m68k-linux.s new file mode 100644 index 0000000..0d0e63f --- /dev/null +++ b/test/asm/m68k-linux.s @@ -0,0 +1,66 @@ +#NO_APP + .file "tmp.c" + .globl ___hsc2hs_BOM___ + .data + .align 2 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .long 1 + .long 0 + .globl x___hsc2hs_sign___ + .section .bss + .align 2 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 +x___hsc2hs_sign___: + .zero 8 + .globl x + .data + .align 2 + .type x, @object + .size x, 8 +x: + .long 0 + .long 1 + .globl y___hsc2hs_sign___ + .section .bss + .align 2 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 +y___hsc2hs_sign___: + .zero 8 + .globl y + .data + .align 2 + .type y, @object + .size y, 8 +y: + .long -1 + .long -1 + .globl z___hsc2hs_sign___ + .align 2 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .long 0 + .long 1 + .globl z + .align 2 + .type z, @object + .size z, 8 +z: + .long -1 + .long -1 + .globl t + .section .rodata +.LC0: + .string "Hello World\" 12345" + .section .data.rel.local,"aw",@progbits + .align 2 + .type t, @object + .size t, 4 +t: + .long .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/mips-linux.s b/test/asm/mips-linux.s new file mode 100644 index 0000000..3f4c004 --- /dev/null +++ b/test/asm/mips-linux.s @@ -0,0 +1,78 @@ + .text + .abicalls + .option pic0 + .section .mdebug.abi32,"",@progbits + .nan legacy + .file "tmp.c" + .type ___hsc2hs_BOM___,@object # @___hsc2hs_BOM___ + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .8byte 4294967296 # 0x100000000 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object # @x___hsc2hs_sign___ + .bss + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .8byte 0 # 0x0 + .size x___hsc2hs_sign___, 8 + + .type x,@object # @x + .data + .globl x + .p2align 3 +x: + .8byte 1 # 0x1 + .size x, 8 + + .type y___hsc2hs_sign___,@object # @y___hsc2hs_sign___ + .bss + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .8byte 0 # 0x0 + .size y___hsc2hs_sign___, 8 + + .type y,@object # @y + .data + .globl y + .p2align 3 +y: + .8byte 4294967295 # 0xffffffff + .size y, 8 + + .type z___hsc2hs_sign___,@object # @z___hsc2hs_sign___ + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .8byte 1 # 0x1 + .size z___hsc2hs_sign___, 8 + + .type z,@object # @z + .globl z + .p2align 3 +z: + .8byte -1 # 0xffffffffffffffff + .size z, 8 + + .type $.str,@object # @.str + .section .rodata.str1.1,"aMS",@progbits,1 +$.str: + .asciz "Hello World\" 12345" + .size $.str, 19 + + .type t,@object # @t + .data + .globl t + .p2align 2 +t: + .4byte ($.str) + .size t, 4 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack","",@progbits + .text diff --git a/test/asm/mips64-linux.s b/test/asm/mips64-linux.s new file mode 100644 index 0000000..2cb83fd --- /dev/null +++ b/test/asm/mips64-linux.s @@ -0,0 +1,77 @@ + .text + .abicalls + .section .mdebug.abi64,"",@progbits + .nan legacy + .file "tmp.c" + .type ___hsc2hs_BOM___,@object + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .8byte 4294967296 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object + .bss + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .8byte 0 + .size x___hsc2hs_sign___, 8 + + .type x,@object + .data + .globl x + .p2align 3 +x: + .8byte 1 + .size x, 8 + + .type y___hsc2hs_sign___,@object + .bss + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .8byte 0 + .size y___hsc2hs_sign___, 8 + + .type y,@object + .data + .globl y + .p2align 3 +y: + .8byte -1 + .size y, 8 + + .type z___hsc2hs_sign___,@object + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .8byte 1 + .size z___hsc2hs_sign___, 8 + + .type z,@object + .globl z + .p2align 3 +z: + .8byte -1 + .size z, 8 + + .type .L.str,@object + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object + .data + .globl t + .p2align 3 +t: + .8byte .L.str + .size t, 8 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack","",@progbits + .text diff --git a/test/asm/nios2-linux.s b/test/asm/nios2-linux.s new file mode 100644 index 0000000..ead684f --- /dev/null +++ b/test/asm/nios2-linux.s @@ -0,0 +1,65 @@ + .file "tmp.c" + .global ___hsc2hs_BOM___ + .section .sdata,"aws",@progbits + .align 2 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .long 0 + .long 1 + .global x___hsc2hs_sign___ + .section .sbss,"aws",@nobits + .align 2 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 +x___hsc2hs_sign___: + .zero 8 + .global x + .section .sdata + .align 2 + .type x, @object + .size x, 8 +x: + .long 1 + .long 0 + .global y___hsc2hs_sign___ + .section .sbss + .align 2 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 +y___hsc2hs_sign___: + .zero 8 + .global y + .section .sdata + .align 2 + .type y, @object + .size y, 8 +y: + .long -1 + .long -1 + .global z___hsc2hs_sign___ + .align 2 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .long 1 + .long 0 + .global z + .align 2 + .type z, @object + .size z, 8 +z: + .long -1 + .long -1 + .global t + .section .rodata + .align 2 +.LC0: + .string "Hello World\" 12345" + .section .sdata + .align 2 + .type t, @object + .size t, 4 +t: + .long .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" diff --git a/test/asm/powerpc-linux.s b/test/asm/powerpc-linux.s new file mode 100644 index 0000000..2b62f9b --- /dev/null +++ b/test/asm/powerpc-linux.s @@ -0,0 +1,80 @@ + .text + .file "tmp.c" + .type ___hsc2hs_BOM___,@object # @___hsc2hs_BOM___ + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .long 1 # 0x100000000 + .long 0 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object # @x___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .long 0 # 0x0 + .long 0 + .size x___hsc2hs_sign___, 8 + + .type x,@object # @x + .data + .globl x + .p2align 3 +x: + .long 0 # 0x1 + .long 1 + .size x, 8 + + .type y___hsc2hs_sign___,@object # @y___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .long 0 # 0x0 + .long 0 + .size y___hsc2hs_sign___, 8 + + .type y,@object # @y + .data + .globl y + .p2align 3 +y: + .long 0 # 0xffffffff + .long 4294967295 + .size y, 8 + + .type z___hsc2hs_sign___,@object # @z___hsc2hs_sign___ + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .long 0 # 0x1 + .long 1 + .size z___hsc2hs_sign___, 8 + + .type z,@object # @z + .globl z + .p2align 3 +z: + .long 4294967295 # 0xffffffffffffffff + .long 4294967295 + .size z, 8 + + .type .L.str,@object # @.str + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object # @t + .data + .globl t + .p2align 2 +t: + .long .L.str + .size t, 4 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack","",@progbits diff --git a/test/asm/powerpc64-linux.s b/test/asm/powerpc64-linux.s new file mode 100644 index 0000000..4fc9e32 --- /dev/null +++ b/test/asm/powerpc64-linux.s @@ -0,0 +1,73 @@ + .text + .file "tmp.c" + .type ___hsc2hs_BOM___,@object # @___hsc2hs_BOM___ + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .quad 4294967296 # 0x100000000 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object # @x___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .quad 0 # 0x0 + .size x___hsc2hs_sign___, 8 + + .type x,@object # @x + .data + .globl x + .p2align 3 +x: + .quad 1 # 0x1 + .size x, 8 + + .type y___hsc2hs_sign___,@object # @y___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .quad 0 # 0x0 + .size y___hsc2hs_sign___, 8 + + .type y,@object # @y + .data + .globl y + .p2align 3 +y: + .quad -1 # 0xffffffffffffffff + .size y, 8 + + .type z___hsc2hs_sign___,@object # @z___hsc2hs_sign___ + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .quad 1 # 0x1 + .size z___hsc2hs_sign___, 8 + + .type z,@object # @z + .globl z + .p2align 3 +z: + .quad -1 # 0xffffffffffffffff + .size z, 8 + + .type .L.str,@object # @.str + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object # @t + .data + .globl t + .p2align 3 +t: + .quad .L.str + .size t, 8 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack","",@progbits diff --git a/test/asm/powerpc64le-linux.s b/test/asm/powerpc64le-linux.s new file mode 100644 index 0000000..1584514 --- /dev/null +++ b/test/asm/powerpc64le-linux.s @@ -0,0 +1,74 @@ + .text + .abiversion 2 + .file "tmp.c" + .type ___hsc2hs_BOM___,@object # @___hsc2hs_BOM___ + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .quad 4294967296 # 0x100000000 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object # @x___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .quad 0 # 0x0 + .size x___hsc2hs_sign___, 8 + + .type x,@object # @x + .data + .globl x + .p2align 3 +x: + .quad 1 # 0x1 + .size x, 8 + + .type y___hsc2hs_sign___,@object # @y___hsc2hs_sign___ + .section .bss,"aw",@nobits + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .quad 0 # 0x0 + .size y___hsc2hs_sign___, 8 + + .type y,@object # @y + .data + .globl y + .p2align 3 +y: + .quad -1 # 0xffffffffffffffff + .size y, 8 + + .type z___hsc2hs_sign___,@object # @z___hsc2hs_sign___ + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .quad 1 # 0x1 + .size z___hsc2hs_sign___, 8 + + .type z,@object # @z + .globl z + .p2align 3 +z: + .quad -1 # 0xffffffffffffffff + .size z, 8 + + .type .L.str,@object # @.str + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object # @t + .data + .globl t + .p2align 3 +t: + .quad .L.str + .size t, 8 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack","",@progbits diff --git a/test/asm/s390-linux.s b/test/asm/s390-linux.s new file mode 100644 index 0000000..b227a63 --- /dev/null +++ b/test/asm/s390-linux.s @@ -0,0 +1,68 @@ + .file "tmp.c" + .machinemode esa + .machine "z900" +.globl ___hsc2hs_BOM___ +.data + .align 8 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .long 1 + .long 0 +.globl x___hsc2hs_sign___ +.bss + .align 8 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 +x___hsc2hs_sign___: + .zero 8 +.globl x +.data + .align 8 + .type x, @object + .size x, 8 +x: + .long 0 + .long 1 +.globl y___hsc2hs_sign___ +.bss + .align 8 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 +y___hsc2hs_sign___: + .zero 8 +.globl y +.data + .align 8 + .type y, @object + .size y, 8 +y: + .long -1 + .long -1 +.globl z___hsc2hs_sign___ + .align 8 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .long 0 + .long 1 +.globl z + .align 8 + .type z, @object + .size z, 8 +z: + .long -1 + .long -1 +.globl t + .section .rodata + .align 2 +.LC0: + .string "Hello World\" 12345" + .section .data.rel.local,"aw",@progbits + .align 4 + .type t, @object + .size t, 4 +t: + .long .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/s390x-linux.s b/test/asm/s390x-linux.s new file mode 100644 index 0000000..76525f8 --- /dev/null +++ b/test/asm/s390x-linux.s @@ -0,0 +1,63 @@ + .file "tmp.c" + .machinemode zarch + .machine "z900" +.globl ___hsc2hs_BOM___ +.data + .align 8 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .quad 4294967296 +.globl x___hsc2hs_sign___ +.bss + .align 8 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 +x___hsc2hs_sign___: + .zero 8 +.globl x +.data + .align 8 + .type x, @object + .size x, 8 +x: + .quad 1 +.globl y___hsc2hs_sign___ +.bss + .align 8 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 +y___hsc2hs_sign___: + .zero 8 +.globl y +.data + .align 8 + .type y, @object + .size y, 8 +y: + .quad -1 +.globl z___hsc2hs_sign___ + .align 8 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .quad 1 +.globl z + .align 8 + .type z, @object + .size z, 8 +z: + .quad -1 +.globl t + .section .rodata + .align 2 +.LC0: + .string "Hello World\" 12345" + .section .data.rel.local,"aw",@progbits + .align 8 + .type t, @object + .size t, 8 +t: + .quad .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/sh4-linux.s b/test/asm/sh4-linux.s new file mode 100644 index 0000000..c3b11d7 --- /dev/null +++ b/test/asm/sh4-linux.s @@ -0,0 +1,68 @@ + .file "tmp.c" + .text + .little + .global ___hsc2hs_BOM___ + .data + .align 2 + .type ___hsc2hs_BOM___, @object + .size ___hsc2hs_BOM___, 8 +___hsc2hs_BOM___: + .long 0 + .long 1 + .global x___hsc2hs_sign___ + .section .bss + .align 2 + .type x___hsc2hs_sign___, @object + .size x___hsc2hs_sign___, 8 +x___hsc2hs_sign___: + .zero 8 + .global x + .data + .align 2 + .type x, @object + .size x, 8 +x: + .long 1 + .long 0 + .global y___hsc2hs_sign___ + .section .bss + .align 2 + .type y___hsc2hs_sign___, @object + .size y___hsc2hs_sign___, 8 +y___hsc2hs_sign___: + .zero 8 + .global y + .data + .align 2 + .type y, @object + .size y, 8 +y: + .long -1 + .long -1 + .global z___hsc2hs_sign___ + .align 2 + .type z___hsc2hs_sign___, @object + .size z___hsc2hs_sign___, 8 +z___hsc2hs_sign___: + .long 1 + .long 0 + .global z + .align 2 + .type z, @object + .size z, 8 +z: + .long -1 + .long -1 + .global t + .section .rodata + .align 2 +.LC0: + .string "Hello World\" 12345" + .section .data.rel.local,"aw",@progbits + .align 2 + .type t, @object + .size t, 4 +t: + .long .LC0 + .ident "GCC: (Gentoo 7.2.0-r1 p1.1) 7.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/test/asm/sparc-linux.s b/test/asm/sparc-linux.s new file mode 100644 index 0000000..13e6205 --- /dev/null +++ b/test/asm/sparc-linux.s @@ -0,0 +1,80 @@ + .text + .file "tmp.c" + .type ___hsc2hs_BOM___,@object + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .word 1 + .word 0 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object + .section .bss,#alloc,#write + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .word 0 + .word 0 + .size x___hsc2hs_sign___, 8 + + .type x,@object + .data + .globl x + .p2align 3 +x: + .word 0 + .word 1 + .size x, 8 + + .type y___hsc2hs_sign___,@object + .section .bss,#alloc,#write + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .word 0 + .word 0 + .size y___hsc2hs_sign___, 8 + + .type y,@object + .data + .globl y + .p2align 3 +y: + .word 0 + .word 4294967295 + .size y, 8 + + .type z___hsc2hs_sign___,@object + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .word 0 + .word 1 + .size z___hsc2hs_sign___, 8 + + .type z,@object + .globl z + .p2align 3 +z: + .word 4294967295 + .word 4294967295 + .size z, 8 + + .type .L.str,@object + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object + .data + .globl t + .p2align 2 +t: + .word .L.str + .size t, 4 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack" diff --git a/test/asm/sparc64-linux.s b/test/asm/sparc64-linux.s new file mode 100644 index 0000000..5f1a2f7 --- /dev/null +++ b/test/asm/sparc64-linux.s @@ -0,0 +1,73 @@ + .text + .file "tmp.c" + .type ___hsc2hs_BOM___,@object + .data + .globl ___hsc2hs_BOM___ + .p2align 3 +___hsc2hs_BOM___: + .xword 4294967296 + .size ___hsc2hs_BOM___, 8 + + .type x___hsc2hs_sign___,@object + .section .bss,#alloc,#write + .globl x___hsc2hs_sign___ + .p2align 3 +x___hsc2hs_sign___: + .xword 0 + .size x___hsc2hs_sign___, 8 + + .type x,@object + .data + .globl x + .p2align 3 +x: + .xword 1 + .size x, 8 + + .type y___hsc2hs_sign___,@object + .section .bss,#alloc,#write + .globl y___hsc2hs_sign___ + .p2align 3 +y___hsc2hs_sign___: + .xword 0 + .size y___hsc2hs_sign___, 8 + + .type y,@object + .data + .globl y + .p2align 3 +y: + .xword -1 + .size y, 8 + + .type z___hsc2hs_sign___,@object + .globl z___hsc2hs_sign___ + .p2align 3 +z___hsc2hs_sign___: + .xword 1 + .size z___hsc2hs_sign___, 8 + + .type z,@object + .globl z + .p2align 3 +z: + .xword -1 + .size z, 8 + + .type .L.str,@object + .section .rodata.str1.1,"aMS",@progbits,1 +.L.str: + .asciz "Hello World\" 12345" + .size .L.str, 19 + + .type t,@object + .data + .globl t + .p2align 3 +t: + .xword .L.str + .size t, 8 + + + .ident "clang version 5.0.1 (tags/RELEASE_501/final)" + .section ".note.GNU-stack" -- GitLab