Wed Oct 24 15:36:47 2012 UTC ()
Fix the clang build by using the proper compiler builtins instead of
touching the stack and frame pointer directly. Especially the latter is
problematic, since the compiler is not really required to use it.


(joerg)
diff -r1.16 -r1.17 pkgsrc/lang/openjdk7/distinfo
diff -r1.1 -r1.2 pkgsrc/lang/openjdk7/patches/patch-bi

cvs diff -r1.16 -r1.17 pkgsrc/lang/openjdk7/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/openjdk7/Attic/distinfo 2012/05/22 05:57:50 1.16
+++ pkgsrc/lang/openjdk7/Attic/distinfo 2012/10/24 15:36:47 1.17
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1$NetBSD: distinfo,v 1.16 2012/05/22 05:57:50 joerg Exp $ 1$NetBSD: distinfo,v 1.17 2012/10/24 15:36:47 joerg Exp $
2 2
3SHA1 (openjdk7/61e08e67b176.tar.bz2) = 3db5488f3c0ea1b9c83a74632d300d8717c9b478 3SHA1 (openjdk7/61e08e67b176.tar.bz2) = 3db5488f3c0ea1b9c83a74632d300d8717c9b478
4RMD160 (openjdk7/61e08e67b176.tar.bz2) = c0dd67a6ae982f09b3675c164b5decab4f7e140f 4RMD160 (openjdk7/61e08e67b176.tar.bz2) = c0dd67a6ae982f09b3675c164b5decab4f7e140f
5Size (openjdk7/61e08e67b176.tar.bz2) = 609340 bytes 5Size (openjdk7/61e08e67b176.tar.bz2) = 609340 bytes
6SHA1 (openjdk7/8ac25d11a9e5.tar.bz2) = 3c31d1d850b833fcaf01ecec542257eba0de4343 6SHA1 (openjdk7/8ac25d11a9e5.tar.bz2) = 3c31d1d850b833fcaf01ecec542257eba0de4343
7RMD160 (openjdk7/8ac25d11a9e5.tar.bz2) = 8ac6d3415014192b775dadb1f8296aa04e929352 7RMD160 (openjdk7/8ac25d11a9e5.tar.bz2) = 8ac6d3415014192b775dadb1f8296aa04e929352
8Size (openjdk7/8ac25d11a9e5.tar.bz2) = 3566464 bytes 8Size (openjdk7/8ac25d11a9e5.tar.bz2) = 3566464 bytes
9SHA1 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = 7d3c9ee89536b82cd21c680088b1bced16017253 9SHA1 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = 7d3c9ee89536b82cd21c680088b1bced16017253
10RMD160 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = a4a6a284579f43d2df3532d279e143d2f03c2c3f 10RMD160 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = a4a6a284579f43d2df3532d279e143d2f03c2c3f
11Size (openjdk7/UnlimitedJCEPolicyJDK7.zip) = 7426 bytes 11Size (openjdk7/UnlimitedJCEPolicyJDK7.zip) = 7426 bytes
12SHA1 (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 0e0359f04b3d84fed75b3a1ab02cbc415c8864a1 12SHA1 (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 0e0359f04b3d84fed75b3a1ab02cbc415c8864a1
13RMD160 (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 2666bd4ca16228a09a7c696cdb7c6108404f21b5 13RMD160 (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 2666bd4ca16228a09a7c696cdb7c6108404f21b5
14Size (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 6702817 bytes 14Size (openjdk7/apache-ant-1.8.1-bin.tar.bz2) = 6702817 bytes
@@ -74,20 +74,20 @@ SHA1 (patch-aq) = b1a296ffff3006671120d9 @@ -74,20 +74,20 @@ SHA1 (patch-aq) = b1a296ffff3006671120d9
74SHA1 (patch-ar) = fe90aacc85fca6d0940d30c2457fff9787b3ecab 74SHA1 (patch-ar) = fe90aacc85fca6d0940d30c2457fff9787b3ecab
75SHA1 (patch-as) = d78c44af2e412da65239a8339e00d79eca881e2f 75SHA1 (patch-as) = d78c44af2e412da65239a8339e00d79eca881e2f
76SHA1 (patch-at) = 3b6c2268747c62f0008f67e8f3d5478e1905c551 76SHA1 (patch-at) = 3b6c2268747c62f0008f67e8f3d5478e1905c551
77SHA1 (patch-au) = ac6f8997f3411c068d58f53ad4064d3ffff1ff74 77SHA1 (patch-au) = ac6f8997f3411c068d58f53ad4064d3ffff1ff74
78SHA1 (patch-av) = f26b059432565de670bc19b3c5a7c8b10a657db3 78SHA1 (patch-av) = f26b059432565de670bc19b3c5a7c8b10a657db3
79SHA1 (patch-aw) = e99a485051ef4b749e5402364fccd8a328df7a68 79SHA1 (patch-aw) = e99a485051ef4b749e5402364fccd8a328df7a68
80SHA1 (patch-ba) = 2c56f89ea6297689fec7a7620f64ced752ed34c6 80SHA1 (patch-ba) = 2c56f89ea6297689fec7a7620f64ced752ed34c6
81SHA1 (patch-bc) = 91223f23dcc27f1c26242654458e2f27ea9ffbf9 81SHA1 (patch-bc) = 91223f23dcc27f1c26242654458e2f27ea9ffbf9
82SHA1 (patch-bd) = 991b0ad5b325f7dd8a0141d5d9089be5d85df805 82SHA1 (patch-bd) = 991b0ad5b325f7dd8a0141d5d9089be5d85df805
83SHA1 (patch-be) = e89f8420a9cf97c416ef6d1343d837c16623e02f 83SHA1 (patch-be) = e89f8420a9cf97c416ef6d1343d837c16623e02f
84SHA1 (patch-bf) = a793cacf3fd92f49f24228ea8034d13007e47e0c 84SHA1 (patch-bf) = a793cacf3fd92f49f24228ea8034d13007e47e0c
85SHA1 (patch-bg) = 393c1bac2e83078bc02810eefd79ab8f0dd25170 85SHA1 (patch-bg) = 393c1bac2e83078bc02810eefd79ab8f0dd25170
86SHA1 (patch-bh) = 52b01c8b418efff5f3cc628b305a6d25ef4d13b3 86SHA1 (patch-bh) = 52b01c8b418efff5f3cc628b305a6d25ef4d13b3
87SHA1 (patch-bi) = c733f906c23a37aeb5ca93f136205563cc5fab64 87SHA1 (patch-bi) = 5ab48c6618f562c7bb6126dbb8f072cb5719dfe1
88SHA1 (patch-bj) = 4198e1aa8e3c65434fbb947a00eed49e73106291 88SHA1 (patch-bj) = 4198e1aa8e3c65434fbb947a00eed49e73106291
89SHA1 (patch-bk) = 66bccfdf42fcc6f6995f3f18fc2515d55cab46c6 89SHA1 (patch-bk) = 66bccfdf42fcc6f6995f3f18fc2515d55cab46c6
90SHA1 (patch-bl) = a3b3bd6007c83664538baf401447fd0df9f4143b 90SHA1 (patch-bl) = a3b3bd6007c83664538baf401447fd0df9f4143b
91SHA1 (patch-bm) = 40c83ad219f529c3ca130547560681ab57b44bf8 91SHA1 (patch-bm) = 40c83ad219f529c3ca130547560681ab57b44bf8
92SHA1 (patch-bn) = 5b34da35e39e08c935c805b5ef7b2c8cc8d285da 92SHA1 (patch-bn) = 5b34da35e39e08c935c805b5ef7b2c8cc8d285da
93SHA1 (patch-hotspot_make_bsd_makefiles_defs.make) = bc339888ede68ada2682b803420a7c9515e5578f 93SHA1 (patch-hotspot_make_bsd_makefiles_defs.make) = bc339888ede68ada2682b803420a7c9515e5578f

cvs diff -r1.1 -r1.2 pkgsrc/lang/openjdk7/patches/Attic/patch-bi (expand / switch to unified diff)

--- pkgsrc/lang/openjdk7/patches/Attic/patch-bi 2009/10/18 10:21:01 1.1
+++ pkgsrc/lang/openjdk7/patches/Attic/patch-bi 2012/10/24 15:36:47 1.2
@@ -1,13 +1,44 @@ @@ -1,13 +1,44 @@
1$NetBSD: patch-bi,v 1.1 2009/10/18 10:21:01 tnn Exp $ 1$NetBSD: patch-bi,v 1.2 2012/10/24 15:36:47 joerg Exp $
2 2
3--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.orig 2009-10-17 16:49:37.000000000 +0200 3--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.orig 2009-10-17 16:49:37.000000000 +0200
4+++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 4+++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
5@@ -60,7 +60,7 @@ 5@@ -60,7 +60,7 @@
6 #define SPELL_REG_FP "ebp" 6 #define SPELL_REG_FP "ebp"
7 #endif // AMD64 7 #endif // AMD64
8  8
9-#ifdef __FreeBSD__ 9-#ifdef __FreeBSD__
10+#if defined(__FreeBSD__) || defined(__DragonFly__) 10+#if defined(__FreeBSD__) || defined(__DragonFly__)
11 # define context_trapno uc_mcontext.mc_trapno 11 # define context_trapno uc_mcontext.mc_trapno
12 # ifdef AMD64 12 # ifdef AMD64
13 # define context_pc uc_mcontext.mc_rip 13 # define context_pc uc_mcontext.mc_rip
 14@@ -275,14 +275,7 @@
 15 #endif
 16
 17 address os::current_stack_pointer() {
 18-#ifdef SPARC_WORKS
 19- register void *esp;
 20- __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
 21- return (address) ((char*)esp + sizeof(long)*2);
 22-#else
 23- register void *esp __asm__ (SPELL_REG_SP);
 24- return (address) esp;
 25-#endif
 26+ return (address)__builtin_frame_address(0);
 27 }
 28
 29 char* os::non_memory_address_word() {
 30@@ -358,13 +351,7 @@ frame os::get_sender_for_C_frame(frame*
 31 }
 32
 33 intptr_t* _get_previous_fp() {
 34-#ifdef SPARC_WORKS
 35- register intptr_t **ebp;
 36- __asm__("mov %%"SPELL_REG_FP", %0":"=r"(ebp));
 37-#else
 38- register intptr_t **ebp __asm__ (SPELL_REG_FP);
 39-#endif
 40- return (intptr_t*) *ebp; // we want what it points to.
 41+ return (intptr_t *)__builtin_frame_address(1);
 42 }
 43
 44