summaryrefslogtreecommitdiff
path: root/toolkit/library/libxul.mk
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/library/libxul.mk')
-rw-r--r--toolkit/library/libxul.mk9
1 files changed, 8 insertions, 1 deletions
diff --git a/toolkit/library/libxul.mk b/toolkit/library/libxul.mk
index 7b18c1f7e5..0636fcd400 100644
--- a/toolkit/library/libxul.mk
+++ b/toolkit/library/libxul.mk
@@ -37,6 +37,13 @@ endif
LOCAL_CHECKS = test "$$($(get_first_and_last) | xargs echo)" != "start_kPStaticModules_NSModule end_kPStaticModules_NSModule" && echo "NSModules are not ordered appropriately" && exit 1 || exit 0
-ifeq (,$(filter-out SunOS Linux,$(OS_ARCH)))
+ifeq (Linux,$(OS_ARCH))
LOCAL_CHECKS += ; test "$$($(TOOLCHAIN_PREFIX)readelf -l $1 | awk '$1 == "LOAD" { t += 1 } END { print t }')" -le 1 && echo "Only one PT_LOAD segment" && exit 1 || exit 0
endif
+
+# It's safer to use elfdump on SunOS, because that's available on all
+# supported versions of Solaris and illumos.
+
+ifeq (SunOS,$(OS_ARCH))
+LOCAL_CHECKS += ; test "elfdump -p $1 | awk '$5 == "PT_LOAD" { t += 1 } END { print t }')" -le 1 && echo "Only one PT_LOAD segment" && exit 1 || exit 0
+endif