Hi, Martin,

I have just filed a new bug

6744609: Disable MMX support when building libpng library

which will be visible via bugs.sun.com in a few hours/days. Next, a couple of words about the proposed fix:

1. It seems that on windows platform __MMX__ symbol is never defined, so libpng is compiled without MMX support there. That's why defining PNG_NO_MMX_CODE unconditionally on all the platforms looks reasonable.

2. A question is about adding pnggccrd.c to the list of files in make/sun/splashscreen/FILES_c.gmk - I see some code unrelated to MMX there.

As for pushing the fix to the workspace, I don't know if you have access there. BTW, I don't see you in the list of people signed SCA, which is required when contributing any code to OpenJDK.

Thanks,

Artem

Martin Buchholz wrote:
Hi Anthony and Artem,

My current patch looks like below.
Except for one remaining minor technical disagreement,I
the only thing "wrong" is the need for a new bug id
(I am reusing the old one, already in Fix Delivered state)

Again, I am proposing to push this to jdk7/awt-gate/jdk

Thanks,

Martin

# HG changeset patch
# User martin
# Date 1220032048 25200
# Node ID abbc627dfd7e7d1e2c613287d5dddb83df3aee93
# Parent  1267605489211c6c162bb246f653759e933bd06e
6613927: Compilation of splashscreen png library failed on Ubuntu 7.04 (64bit)
Summary: Define -DPNG_NO_MMX_CODE unconditionally, not just on 64-bit Linux
Reviewed-by: anthony, art

diff --git a/make/sun/splashscreen/Makefile b/make/sun/splashscreen/Makefile
--- a/make/sun/splashscreen/Makefile
+++ b/make/sun/splashscreen/Makefile
@@ -85,13 +85,6 @@
 CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
-I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
 CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
-I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3

-ifeq ($(PLATFORM), linux)
-  ifeq ($(ARCH_DATA_MODEL), 64)
-    # 64-bit gcc has problems compiling MMX instructions.
-    # Google it for more details. Possibly the newer versions of
-    # the PNG-library and/or the new compiler will not need this
-    # option in the future.
-    CPPFLAGS += -DPNG_NO_MMX_CODE
-  endif
-endif
-
+# Shun the less than portable MMX assembly code in pnggccrd.c,
+# and use alternative implementations in C.
+CPPFLAGS += -DPNG_NO_MMX_CODE

Reply via email to