summaryrefslogtreecommitdiff
path: root/test/lib/staticlib.S
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/staticlib.S')
-rw-r--r--test/lib/staticlib.S26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/lib/staticlib.S b/test/lib/staticlib.S
new file mode 100644
index 0000000..b093e7c
--- /dev/null
+++ b/test/lib/staticlib.S
@@ -0,0 +1,26 @@
+/* Work around MacOX shared-library lossage.
+ (No static version of the C library.) */
+
+.macro GLUE
+ .text
+ .globl _$0_static
+_$0_static:
+ addis r11, 0, ha16(L$0)
+ lwz r11, lo16(L$0)(r11)
+ mtctr r11
+ bctr
+ .non_lazy_symbol_pointer
+L$0:
+ .indirect_symbol _$0
+ .long 0
+.endmacro
+
+ GLUE cos
+ GLUE sin
+ GLUE atan2
+ GLUE asin
+ GLUE sqrt
+ GLUE fmod
+ GLUE memcpy
+ GLUE memset
+ \ No newline at end of file