Re: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Added back build-dev. On 6/19/2013 3:58 PM, Coleen Phillimore wrote: Dan, This looks good! Coleen On 6/18/2013 4:50 PM, Daniel D. Daugherty wrote: Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 227-229 are functions not compiled into BSD/MacOS X. Line 232 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. mapfile-vers-product: updated BSD versus current Linux $ diff {bsd,linux}-funcs-product 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 221a222,224 fork1 numa_warn numa_error 222a226,228 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 222-224 are functions not compiled into BSD/MacOS X. Line 227 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. Lastly,
RE: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Dan These changes look good. Ron -Original Message- From: Daniel D. Daugherty Sent: Tuesday, June 18, 2013 2:50 PM To: hotspot-runtime-...@openjdk.java.net; build-dev Subject: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326) Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 227-229 are functions not compiled into BSD/MacOS X. Line 232 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. mapfile-vers-product: updated BSD versus current Linux $ diff {bsd,linux}-funcs-product 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 221a222,224 fork1 numa_warn numa_error 222a226,228 # Needed because there is no JVM
Re: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Ron, Thanks for the review. Dan On 6/19/13 7:39 AM, Ron Durbin wrote: Dan These changes look good. Ron -Original Message- From: Daniel D. Daugherty Sent: Tuesday, June 18, 2013 2:50 PM To: hotspot-runtime-...@openjdk.java.net; build-dev Subject: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326) Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 227-229 are functions not compiled into BSD/MacOS X. Line 232 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. mapfile-vers-product: updated BSD versus current Linux $ diff {bsd,linux}-funcs-product 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 221a222,224 fork1 numa_warn numa_error 222a226,228 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious
Re: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Thanks for the reviews! Dan On 6/19/13 1:58 PM, Coleen Phillimore wrote: Dan, This looks good! Coleen On 6/18/2013 4:50 PM, Daniel D. Daugherty wrote: Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 227-229 are functions not compiled into BSD/MacOS X. Line 232 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. mapfile-vers-product: updated BSD versus current Linux $ diff {bsd,linux}-funcs-product 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 221a222,224 fork1 numa_warn numa_error 222a226,228 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 222-224 are functions not compiled into BSD/MacOS X. Line 227 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25.
Re: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Thanks for picking this up Dan (and hs25) Given this was my suggested fix I guess you are actually the one that needs to review it :) For completeness I'll add that the linker complains about non-existent symbols on OSX hence the deletion of a number of entries. The linux and solaris mapfiles could probably be cleaned up too but as you note that is beyond the scope of this fix (and the linker doesn't care about non-existent symbols on those platforms). Once we have mapfiles working on all platforms we can look into the explicit visibility declarations + compiler-flags that have previously been suggested - at least for 8 (hs25). Thanks again, David On 19/06/2013 6:50 AM, Daniel D. Daugherty wrote: Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 214 is an obvious rename. Lines 227-229 are functions not compiled into BSD/MacOS X. Line 232 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix that with this bug since we want the MacOS X fix in HSX24 and in HSX25. mapfile-vers-product: updated BSD versus
Re: HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
On 6/18/13 8:11 PM, David Holmes wrote: Thanks for picking this up Dan (and hs25) You're welcome! Given this was my suggested fix I guess you are actually the one that needs to review it :) You are quite correct that I should have made this point clear. I'm planning to list you as author since I only made cosmetic changes to your fix. I'm planning to list myself as a reviewer and I'll handle the JPRT juggling act. For completeness I'll add that the linker complains about non-existent symbols on OSX hence the deletion of a number of entries. The linux and solaris mapfiles could probably be cleaned up too but as you note that is beyond the scope of this fix (and the linker doesn't care about non-existent symbols on those platforms). Thanks for the info about the OSX linker. Once we have mapfiles working on all platforms we can look into the explicit visibility declarations + compiler-flags that have previously been suggested - at least for 8 (hs25). I'll file an RFE for that since I don't think one already exists. Dan Thanks again, David On 19/06/2013 6:50 AM, Daniel D. Daugherty wrote: Greetings, I have picked up David Holmes' work on the following bug: 8014326 [OSX] All libjvm symbols are exported http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326 https://jbs.oracle.com/bugs/browse/JDK-8014326 Here are the HSX-24 backport webrev URLs: OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/ Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/ Testing: - JPRT test job on MacOS X - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following configs: {Server VM} x {fastdebug} x {-Xmixed} Gory details are below. As always, comments, questions and suggestions are welome. Dan Gory Details: The script and Makefile changes are easy to review via the webrev. However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol export syntax. I created normalized copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes). These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can be slow to update so I've included the diffs here. mapfile-vers-debug: current BSD versus updated BSD $ diff bsd-funcs-debug{.orig,} 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. mapfile-vers-product: current BSD versus updated BSD $ diff bsd-funcs-product.orig bsd-funcs-product 191a192 JVM_SetNativeThreadName 215,232d215 # Old reflection routines # These do not need to be present in the product build in JDK 1.4 # but their code has not been removed yet because there will not # be a substantial code savings until JVM_InvokeMethod and # JVM_NewInstanceFromConstructor can also be removed; see # reflectionCompat.hpp. JVM_GetClassConstructor JVM_GetClassConstructors JVM_GetClassField JVM_GetClassFields JVM_GetClassMethod JVM_GetClassMethods JVM_GetField JVM_GetPrimitiveField JVM_NewInstance JVM_SetField JVM_SetPrimitiveField 239,241d221 fork1 numa_warn numa_error 243,245d222 # Needed because there is no JVM interface for this. sysThreadAvailableStackWithSlack Line 192: add missing JVM_SetNativeThreadName entry Delete the old reflection routines! Delete other functions not compiled into BSD/MacOS X. Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the updated BSD files versus the current Linux files. This is a useful sanity check. mapfile-vers-debug: updated BSD versus current Linux $ diff {bsd,linux}-funcs-debug 214c214 JVM_handle_bsd_signal --- JVM_handle_linux_signal 226a227,229 fork1 numa_warn numa_error 227a231,233 # Needed because there is no JVM interface for this.