summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-04-05 17:08:25 -0400
committermidipix <writeonce@midipix.org>2015-04-05 17:08:25 -0400
commit68229946748e76251e2a0e9669124f8179eef8b3 (patch)
treed2fef570ae554277189948fca547a425eccb0a0b
parent296178913c5dfbc2b35842fc16ed680ef51fd402 (diff)
downloadmmglue-68229946748e76251e2a0e9669124f8179eef8b3.tar.bz2
mmglue-68229946748e76251e2a0e9669124f8179eef8b3.tar.xz
nt32: provide stubs of fundamental math functions to allow complication without libgcc.
signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information.
-rw-r--r--arch/nt32/src/chelper.c0
-rw-r--r--arch/nt32/src/nt32/chelper.S20
-rw-r--r--musl.lzy6
3 files changed, 24 insertions, 2 deletions
diff --git a/arch/nt32/src/chelper.c b/arch/nt32/src/chelper.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/arch/nt32/src/chelper.c
diff --git a/arch/nt32/src/nt32/chelper.S b/arch/nt32/src/nt32/chelper.S
new file mode 100644
index 0000000..6d6a52b
--- /dev/null
+++ b/arch/nt32/src/nt32/chelper.S
@@ -0,0 +1,20 @@
+#ifdef LIBC_NO_COMPLEX
+
+.globl ___udivdi3
+.globl ___umoddi3
+.globl ___divdi3
+.globl ___moddi3
+
+___udivdi3:
+ ret
+
+___umoddi3:
+ ret
+
+___divdi3:
+ ret
+
+___moddi3:
+ ret
+
+#endif
diff --git a/musl.lzy b/musl.lzy
index b3f0f4e..9152d04 100644
--- a/musl.lzy
+++ b/musl.lzy
@@ -31,7 +31,8 @@ lz_project_definitions()
pe_excluded_symbols="$pe_excluded_symbols,__vm_lock_impl"
pe_excluded_symbols="$pe_excluded_symbols,__vm_unlock_impl"
- musl_libc_so_ldflags="-shared -e __libc_entry_point -Bsymbolic-functions \
+ musl_libc_so_ldflags="-shared -e "$lz_default_underscore"__libc_entry_point \
+ -Bsymbolic-functions \
--subsystem windows \
--output-def $lz_build_dir/lib/libc.so.def \
--out-implib $lz_build_dir/lib/libc.lib.a \
@@ -175,7 +176,7 @@ musl_libc_shared()
musl_crt
# memory functions
- lz_cflags_extra="$musl_cflags_shared"
+ lz_cflags_extra="$musl_cflags_shared $musl_cflags_no_complex"
lz_cflags_special="$musl_cflags_memops"
lz_src_files="$musl_libc_mem_files"
lz_src_dirs=$lz_ignore_src_dirs
@@ -248,6 +249,7 @@ musl_libc_shared_no_complex()
{
lz_link_libgcc=
lz_exclude_src_dirs="src/complex"
+ musl_cflags_no_complex="-DLIBC_NO_COMPLEX"
musl_libc_shared
}