Hi,

I was trying a DL_NOMMU_SUPPORT build so I could load binaries from the sdcard on an android device. I managed to succeed but only after making a mod which I later realised might apply beyond my application.

The mmap_fixed() function would return as if successful even when mmap() call had failed

Hopefully the link and the patch below help.

Regards
Andrew

https://git.musl-libc.org/cgit/musl/tree/ldso/dynlink.c?id=85e0e3519655220688e757b9d5bfd314923548bd#n584

diff -Naur musl-1.2.2-orig/ldso/dynlink.c musl-1.2.2-new/ldso/dynlink.c
--- musl-1.2.2-orig/ldso/dynlink.c 2021-01-15 02:26:00.000000000 +0000
+++ musl-1.2.2-new/ldso/dynlink.c 2021-01-23 06:26:26.861158169 +0000
@@ -581,7 +581,7 @@
  char *q;
  if (!no_map_fixed) {
  q = mmap(p, n, prot, flags|MAP_FIXED, fd, off);
- if (!DL_NOMMU_SUPPORT || q != MAP_FAILED || errno != EINVAL)
+ if (!DL_NOMMU_SUPPORT && q != MAP_FAILED && errno != EINVAL)
  return q;
  no_map_fixed = 1;
  }