Re: RFR: JDK-8217634 RunTest documentation and usability update

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-23 18:33, Erik Joelsson wrote: Hello, This looks good. Just one note, the example "configure --with-jcov=.../jcov.jar" is incorrect. The configure parameter expects a jcov home dir with lib/jcov.jar in it. For a better user experience, perhaps the configure arg should be changed to

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-24 05:45, David Holmes wrote: On 24/01/2019 1:51 pm, Ao Qi wrote: Hi David, On Thu, Jan 24, 2019 at 10:47 AM David Holmes wrote: Hi Leslie, I'm not Erik :) however On 24/01/2019 12:28 pm, Leslie Zhai wrote: Hi Erik, Because the flags' macro of MIPS is different from o

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Leslie Zhai
Hi Magnus, Thanks for your kind response! 在 2019/1/24 下午8:05, Magnus Ihse Bursie 写道: On 2019-01-24 05:45, David Holmes wrote: On 24/01/2019 1:51 pm, Ao Qi wrote: Hi David, On Thu, Jan 24, 2019 at 10:47 AM David Holmes wrote: Hi Leslie, I'm not Erik :) however On 24/01/2019 12:28

RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
The default binutils linker used by gcc, the bfd linker, is slow. The new replacement, gold, has been distributed alongside gcc for several years now, and is a well mature, and much faster, replacement. This issue is about replacing ld.bfd with ld.gold for our gcc toolchain. In general, this c

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
I see now on Wikipedia that gold was added to binutils 2.19.[1] (I thought it was older still...) We currently have this check: TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18" As part of this fix, I ought to bump it to 2.19, so we know for sure that gold is included. Volker, would that be a problem

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread John Paul Adrian Glaubitz
On 1/24/19 2:11 PM, Magnus Ihse Bursie wrote: > The default binutils linker used by gcc, the bfd linker, is slow. > The new replacement, gold, has been distributed alongside gcc for > several years now, and is a well mature, and much faster, replacement. I would recommend testing this change on al

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Aleksey Shipilev
On 1/24/19 2:15 PM, Magnus Ihse Bursie wrote: > I see now on Wikipedia that gold was added to binutils 2.19.[1] (I thought it > was older still...) > We currently have this check: > TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18" > > As part of this fix, I ought to bump it to 2.19, so we know for sure th

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-24 14:20, John Paul Adrian Glaubitz wrote: On 1/24/19 2:11 PM, Magnus Ihse Bursie wrote: The default binutils linker used by gcc, the bfd linker, is slow. The new replacement, gold, has been distributed alongside gcc for several years now, and is a well mature, and much faster, replac

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-24 13:22, Leslie Zhai wrote: Hi Magnus, Thanks for your kind response! 在 2019/1/24 下午8:05, Magnus Ihse Bursie 写道: On 2019-01-24 05:45, David Holmes wrote: On 24/01/2019 1:51 pm, Ao Qi wrote: Hi David, On Thu, Jan 24, 2019 at 10:47 AM David Holmes wrote: Hi Leslie, I'm not

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Florian Weimer
* Magnus Ihse Bursie: > The default binutils linker used by gcc, the bfd linker, is slow. The > new replacement, gold, has been distributed alongside gcc for several > years now, and is a well mature, and much faster, replacement. The gold linker is an optional component of binutils, not availabl

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-24 14:45, Florian Weimer wrote: * Magnus Ihse Bursie: The default binutils linker used by gcc, the bfd linker, is slow. The new replacement, gold, has been distributed alongside gcc for several years now, and is a well mature, and much faster, replacement. The gold linker is an opti

RFR: JDK-8217730 Split up MakeBase.gmk

2019-01-24 Thread Magnus Ihse Bursie
The file MakeBase.gmk, which is included by virtually all other make files in the build system, has become gradually larger and larger. It is now one of the longest files in the build system, with little to no internal structure. I propose to split it in four parts: * Utils.gmk -- here all th

RFR: JDK-8217733 Minor RunTest fixes

2019-01-24 Thread Magnus Ihse Bursie
This patch covers some different minor cleanups that I accumulated after working on RunTest:  * Do not override JDK_IMAGE_DIR for jcov testing; instead introduce JDK_UNDER_TEST (to be really explicit about which JDK we're testing).  * Remove unconditional $(info) printout on Windows  * Group JCo

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Martin Buchholz
Getting into the business of choosing the linker is big trouble. The system default toolchain may have already chosen a linker. BFD might be configured to have either bfd ld or gold. # Handle --enable-gold, --enable-ld. # --disable-gold [--enable-ld] # Build only ld. Default option. # --enab

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
I agree that the relationship between compiler, linker and OS is problematic. In the OpenJDK build system, we have used the concept of "toolchain", by which we mean (amongst other things) a compiler and a linker working together. For some platforms it's a perfect fit (eg Visual Studio), for othe

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Erik Joelsson
Hello, I agree with the conclusion here, there is certainly a bug in the build logic. When creating the "Build JDK" during a cross compilation build, we are, as Magnus said, cutting a few corners for efficiency. One of those corners is assuming all the java classes are the same and can simply

Re: RFR: JDK-8217730 Split up MakeBase.gmk

2019-01-24 Thread Erik Joelsson
Looks good. /Erik On 2019-01-24 06:24, Magnus Ihse Bursie wrote: The file MakeBase.gmk, which is included by virtually all other make files in the build system, has become gradually larger and larger. It is now one of the longest files in the build system, with little to no internal structure

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Martin Buchholz
On Thu, Jan 24, 2019 at 7:46 AM Magnus Ihse Bursie wrote: > So, we already tacitly assume a specific linker with the gcc toolchain; we > have just not made that check explicitly. gcc runs on almost every system, but it's harder to replace the compiler than the linker, so gcc ends up being used

Re: RFR: JDK-8217733 Minor RunTest fixes

2019-01-24 Thread Erik Joelsson
Looks good. /Erik On 2019-01-24 06:46, Magnus Ihse Bursie wrote: This patch covers some different minor cleanups that I accumulated after working on RunTest:  * Do not override JDK_IMAGE_DIR for jcov testing; instead introduce JDK_UNDER_TEST (to be really explicit about which JDK we're testing

Re: RFR: JDK-8217733 Minor RunTest fixes

2019-01-24 Thread Alexandre (Shura) Iline
Looks good. Shura > On Jan 24, 2019, at 6:46 AM, Magnus Ihse Bursie > wrote: > > This patch covers some different minor cleanups that I accumulated after > working on RunTest: > * Do not override JDK_IMAGE_DIR for jcov testing; instead introduce > JDK_UNDER_TEST (to be really explicit about

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Erik Joelsson
On 2019-01-24 06:04, Magnus Ihse Bursie wrote: On 2019-01-24 14:45, Florian Weimer wrote: * Magnus Ihse Bursie: The default binutils linker used by gcc, the bfd linker, is slow. The new replacement, gold, has been distributed alongside gcc for several years now, and is a well mature, and muc

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Magnus Ihse Bursie
On 2019-01-24 18:43, Erik Joelsson wrote: On 2019-01-24 06:04, Magnus Ihse Bursie wrote: On 2019-01-24 14:45, Florian Weimer wrote: * Magnus Ihse Bursie: The default binutils linker used by gcc, the bfd linker, is slow. The new replacement, gold, has been distributed alongside gcc for severa

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Andrew Haley
On 1/24/19 1:25 PM, Aleksey Shipilev wrote: > That'd be nice. Maybe we should check for the presence of ld.gold, > though, and override LD when it is available? That would also allow > the fallback when ld.gold is misbehaving, but setting LD forcefully. Yes, we absolutely should check. I just bui

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Martin Buchholz
Here's an experiment using the 3 competing open source linkers to link hotspot. This confirms that lld is faster than gold is faster than bfd, but is the one second saving worth the engineering effort? $ (BUILDDIR=$HOME/ws/jdk/build/linux-x86_64-server-release; for linker in bfd gold lld; do ech

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Erik Joelsson
Are you actually linking libjvm.so in 1.3 seconds? A normal link time for me using bfd is about 23 seconds while gold takes it to 14.2(+-0.2). This is in line with what hotspot developers I have talked to also see (and they have similar hardware). My workstation has a few years on it, but sure

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Martin Buchholz
I just copied the command out of hotspot/variant-server/libjvm/objs/BUILD_LIBJVM_link.cmdline and lightly edited it. On my old underpowered NUC at home I see slightly worse numbers (but warmed up, files on SSD - are you I/O bound?). (BUILDDIR=$HOME/ws/jdk/build/linux-x86_64-server-release; for ld

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Florian Weimer
* Martin Buchholz: > Here's an experiment using the 3 competing open source linkers to link > hotspot. This confirms that lld is faster than gold is faster than > bfd, but is the one second saving worth the engineering effort? > > $ (BUILDDIR=$HOME/ws/jdk/build/linux-x86_64-server-release; for >

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Erik Joelsson
Hello, On 2019-01-24 13:18, Martin Buchholz wrote: I just copied the command out of hotspot/variant-server/libjvm/objs/BUILD_LIBJVM_link.cmdline and lightly edited it. I took the .cmdline verbatim and then just added -fuse-ld=gold, so should be the same. I'm running on Ubuntu 18.04 using a de

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Erik Joelsson
On 2019-01-24 14:17, Florian Weimer wrote: * Martin Buchholz: Here's an experiment using the 3 competing open source linkers to link hotspot. This confirms that lld is faster than gold is faster than bfd, but is the one second saving worth the engineering effort? $ (BUILDDIR=$HOME/ws/jdk/bu

Re: RFR(M)(round 2): 8215902: Add support for SoftFloat-3e library

2019-01-24 Thread Jakub Vaněk
Hi Magnus, thanks for the review! I haven't received a review for the hotspot source changes yet, so I will have to wait. Regards, Jakub On 2019-01-23 at 13:55 +0100, Magnus Ihse Bursie wrote: > Hi Jakub, > > On 2019-01-15 17:31, Jakub Vaněk wrote: > > Hi Magnus and Erik, > > > > I have adde

Re: RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain

2019-01-24 Thread Martin Buchholz
On Thu, Jan 24, 2019 at 2:28 PM Erik Joelsson wrote: > > Do the constituent object files have debugging information? Sub-second > > processing times for ~350 MiB of output are rather impressive. > > Ah! That must be it. I just tried with --with-native-debug-symbols=none > and then I get comparab

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Leslie Zhai
Hi Magnus, Failed to make images: $ make images CONF=mips Building target 'images' in configuration 'linux-mips64el-normal-server-fastdebug' GenerateLinkOptData.gmk:61: recipe for target '/home/loongson/zhaixiang/jdk12-mips/build/linux-mips64el-normal-server-fastdebug/support/link_opt/classlis

Re: Fail to cross compiling jdk12 for mips64el-linux-gnu target

2019-01-24 Thread Leslie Zhai
Hi Erik, Thanks for your kind response! 在 2019/1/25 上午1:19, Erik Joelsson 写道: Hello, I agree with the conclusion here, there is certainly a bug in the build logic. When creating the "Build JDK" during a cross compilation build, we are, as Magnus said, cutting a few corners for efficiency. O

Re: RFR(M)(round 2): 8215902: Add support for SoftFloat-3e library

2019-01-24 Thread David Holmes
Hi Jakub, On 25/01/2019 9:17 am, Jakub Vaněk wrote: Hi Magnus, thanks for the review! I haven't received a review for the hotspot source changes yet, so I will have to wait. Not an expert on the details of the FP code but the wrapper layer appears okay to me. One nit with the test is that