summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sh64/crti.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-11-05 05:57:19 +0000
committerEric Andersen <andersen@codepoet.org>2003-11-05 05:57:19 +0000
commit46c48a7091b56d6baa6f7894f03cacad42074d24 (patch)
tree1b9dd4186fd3badd5edd36bec3a45bebd48e0621 /libc/sysdeps/linux/sh64/crti.S
parent6d4e78b8aab1f4813439e77f1475dda6594d0b81 (diff)
Continue the conversion to using per-arch crti.S and crtn.S
Diffstat (limited to 'libc/sysdeps/linux/sh64/crti.S')
-rw-r--r--libc/sysdeps/linux/sh64/crti.S42
1 files changed, 42 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/sh64/crti.S b/libc/sysdeps/linux/sh64/crti.S
new file mode 100644
index 000000000..597be363d
--- /dev/null
+++ b/libc/sysdeps/linux/sh64/crti.S
@@ -0,0 +1,42 @@
+ .file "initfini.c"
+ .section .text..SHmedia32,"ax"
+ .little
+
+ .section .init
+ .hidden _init
+ .align 2
+ .global _init
+ .type _init, @function
+_init:
+ addi.l r15, -16, r15
+ st.l r15, 4, r12
+ movi (((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) >> 16) & 65535), r12
+ shori ((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) & 65535), r12
+ .LPCS0: ptrel/u r12, tr0
+ st.l r15, 8, r14
+ st.l r15, 12, r18
+ add.l r15, r63, r14
+ gettr tr0, r12
+
+ .align 2
+
+
+ .section .fini
+ .hidden _fini
+ .align 2
+ .global _fini
+ .type _fini, @function
+_fini:
+ addi.l r15, -16, r15
+ st.l r15, 4, r12
+ movi (((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) >> 16) & 65535), r12
+ shori ((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) & 65535), r12
+ .LPCS1: ptrel/u r12, tr0
+ st.l r15, 8, r14
+ st.l r15, 12, r18
+ add.l r15, r63, r14
+ gettr tr0, r12
+ .align 2
+
+
+ .ident "GCC: (GNU) 3.3.2"