RFR (M): Enable HotSpot build with Clang
Volker Simonis
volker.simonis at gmail.com
Tue Jun 4 14:02:19 PDT 2013
On Tuesday, June 4, 2013, Christian Thalinger wrote:
>
> On Jun 3, 2013, at 2:51 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com<javascript:;>>
> wrote:
>
> > > I have no idea where this stuff is supposed to be. Maybe we should
> move
> > > the mulnode one to {i486,amd64}.make as well. Vladimir pushed this
> > > change in 2009.
> >
> > gcc.make is place when you want lower optimization for all builds
> (product, fastdebug, debug) on all platforms. I played safe back then to
> avoid problems in all cases which may be overkill. And compiler code is not
> critical part of VM (not GC code) when we should worry about its
> performance.
>
> Alright. I've added the same code to Linux as for BSD:
>
> http://cr.openjdk.java.net/~twisti/8015252/webrev/
>
> Please review and then let's push this.
>
>
I'm fine with the current changes as well.
Thanks for you support,
Volker
> -- Chris
>
> >
> > Vladimir
> >
> > On 6/3/13 2:21 PM, Christian Thalinger wrote:
> >>
> >> On Jun 3, 2013, at 6:31 AM, Volker Simonis <volker.simonis at gmail.com
> >> <mailto:volker.simonis at gmail.com>> wrote:
> >>
> >>> On Fri, May 31, 2013 at 7:47 PM, Christian Thalinger
> >>> <christian.thalinger at oracle.com
> >>> <mailto:christian.thalinger at oracle.com>> wrote:
> >>>
> >>>
> >>> On May 31, 2013, at 12:41 AM, David Holmes
> >>> <david.holmes at oracle.com <mailto:david.holmes at oracle.com>> wrote:
> >>>
> >>> > I think this is mainly targetted at Volker but ...
> >>> >
> >>> > On 31/05/2013 4:32 AM, Christian Thalinger wrote:
> >>> >>> Here is what I have after merging in your new changes:
> >>> >>>
> >>> >>> http://cr.openjdk.java.net/~twisti/8015252/webrev/
> >>> >>>
> >>> >>> I see two problems:
> >>> >>>
> >>> >>> 1) It's not possible to turn off precompiled headers because
> >>> of this:
> >>> >>>
> >>> >>> + ifeq ($(USE_CLANG), true)
> >>> >>> + # clang has precompiled headers support by default, but
> >>> the user can switch
> >>> >>> + # it off by using 'USE_PRECOMPILED_HEADER=0' on the
> >>> compile command line.
> >>> >>> + ifdef LP64
> >>> >>> + USE_PRECOMPILED_HEADER=1
> >>> >>> + else
> >>> >>
> >>> >> Let me rephrase that: at least not with an environment variable.
> >>> >
> >>> > In this block:
> >>> >
> >>> > ! ifeq ($(USE_CLANG), true)
> >>> > ! # clang has precompiled headers support by default, but the
> >>> user can switch
> >>> > ! # it off by using 'USE_PRECOMPILED_HEADER=0' on the compile
> >>> command line.
> >>> > ! ifdef LP64
> >>> > ! USE_PRECOMPILED_HEADER=1
> >>> > ! else
> >>> > ! # We don't support precompiled headers on 32-bit builds
> >>> because there some files are
> >>> > ! # compiled with -fPIC while others are compiled without
> >>> (see 'NONPIC_OBJ_FILES' rules.make)
> >>> > ! # Clang produces an error if the PCH file was comiled with
> >>> other options than the actual compilation unit.
> >>> > ! USE_PRECOMPILED_HEADER=0
> >>> > ! endif
> >>> >
> >>> > I think the LP64 case should be guarded by "ifeq
> >>> ($(USE_PRECOMPILED_HEADERS),)".
> >>>
> >>> Yes, will change that.
> >>>
> >>> >
> >>> > The comment "on the compile command line" should be "on the make
> >>> command line" I think.
> >>>
> >>> I removed the comment since with the above guard it works with
> either.
> >>>
> >>> >
> >>> > Typo: comiled
> >>>
> >>> Fixed.
> >>>
> >>> >
> >>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130604/c4e25241/attachment.html
More information about the hotspot-runtime-dev
mailing list