7109092: Wrong computation results with double at armsflt
Summary: need to link to custom soft-float library with required FP accuracy
Reviewed-by: alanb, ohair
--- a/jdk/make/common/Defs-embedded.gmk Fri Nov 18 09:03:43 2011 +0000
+++ b/jdk/make/common/Defs-embedded.gmk Tue Nov 29 00:26:22 2011 -0500
@@ -65,5 +65,12 @@
NIO_PLATFORM_CLASSES_ROOT_DIR = $(CLOSED_PLATFORM_SRC)/classes/
endif
+# For ARM sflt we need to link to a library with improved FP accuracy
+# and it must be linked after fdlibm - this places it at the end after libc
+# -z muldefs avoids linker errors for duplicate symbols.
+ifeq ($(CROSS_COMPILE_ARCH), arm)
+ EXTRA_LIBS += $(EXT_LIBS_PATH)/sflt_glibc_jdk.a -Xlinker -z -Xlinker muldefs
+endif
+
endif # JAVASE_EMBEDDED