RFR: 8002034 and 8001756 - FDS changes mainly re cross-compiling

Gary Collins gary.collins at oracle.com
Mon Nov 5 07:31:22 PST 2012


Ship it.

Gary
On Nov 5, 2012, at 6:58 AM, BILL PITTORE wrote:

> OBJCOPY changes look good.
> 
> bill
> 
> 
> 
> On 11/4/2012 5:32 PM, David Holmes wrote:
>> Okay here's the final update :)
>> 
>> http://cr.openjdk.java.net/~dholmes/8002034/webrev.03/
>> 
>> We now have a default objcopy when cross-compiling and I augmented the error message if no objcopy is found. These changes only affect the linux defs.make.
>> 
>> Thanks,
>> David
>> 
>> On 2/11/2012 12:39 PM, David Holmes wrote:
>>> On 2/11/2012 12:03 PM, BILL PITTORE wrote:
>>>> On 11/1/2012 7:47 PM, David Holmes wrote:
>>>>> On 2/11/2012 8:49 AM, Dmitry Samersoff wrote:
>>>>>> David,
>>>>>> 
>>>>>> Sorry, (my eyes) I misread if
>>>>>> 
>>>>>> As far as I understand, cross compilation require explicit ALT_OBJCOPY.
>>>>> 
>>>>> Yes.
>>>>> 
>>>>>> Is there any defaults?
>>>>> 
>>>>> No. The makefiles know nothing about the toolsets for cross-compiling.
>>>> We set CC, CPP, CXX using COMPILER_PATH which gets us to the cross
>>>> tools, why not go for OBJCOPY as well? It may or may not exist. Is that
>>>> worse than the current situation?
>>> 
>>> Fair point, we could just assume that when cross-compiling we find
>>> objcopy in the same place as gcc etc.
>>> 
>>> Thanks,
>>> David
>>> 
>>> 
>>>> bill
>>>> 
>>>>> 
>>>>>> Does it make sense to warn if ALT_OBJCOPY isn't set?
>>>>> 
>>>>> The build already reports:
>>>>> 
>>>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
>>>>> INFO: no objcopy cmd found so cannot create .debuginfo files.
>>>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=0
>>>>> 
>>>>> I could extend that to say:
>>>>> 
>>>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1
>>>>> INFO: no objcopy cmd found so cannot create .debuginfo files. You may
>>>>> need to set ALT_OBJCOPY.
>>>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=0
>>>>> 
>>>>> Thanks,
>>>>> David
>>>>>> 
>>>>>> -Dmitry
>>>>>> 
>>>>>> On 2012-11-02 02:15, David Holmes wrote:
>>>>>>> Thanks for the review Dmitry.
>>>>>>> 
>>>>>>> On 1/11/2012 10:02 PM, Dmitry Samersoff wrote:
>>>>>>>> David,s
>>>>>>>> 
>>>>>>>> if we use host /usr/bin/objcopy for cross compiling,
>>>>>>>> changes looks good for me.
>>>>>>> 
>>>>>>> ??? We don't use host /usr/bin/objcopy for cross-compiling that is why
>>>>>>> DEF_OBJCOPY is only set when not cross-compiling.
>>>>>>> 
>>>>>>> Of course you can set ALT_OBJCOPY=/usr/bin/objcopy when
>>>>>>> cross-compiling.
>>>>>>> It probably won't work but you can do it.
>>>>>>> 
>>>>>>> David
>>>>>>> 
>>>>>>>> -Dmitry
>>>>>>>> 
>>>>>>>> On 2012-11-01 07:41, David Holmes wrote:
>>>>>>>>> No takers so far - don't be shy, it's not a difficult one I
>>>>>>>>> promise :)
>>>>>>>>> 
>>>>>>>>> Updated webrev:
>>>>>>>>> http://cr.openjdk.java.net/~dholmes/8002034/webrev.01/
>>>>>>>>> 
>>>>>>>>> Because of the multiple sub-make invocations that occur during a
>>>>>>>>> build
>>>>>>>>> the FDS logic gets processed numerous times, many of which are not
>>>>>>>>> needed and which might show confusing output (eg that FDS is enabled
>>>>>>>>> when you have disabled it). So I added another conditional to at
>>>>>>>>> least
>>>>>>>>> check that BUILD_FLAVOR has been set - that excludes a couple of the
>>>>>>>>> unnecessary executions.
>>>>>>>>> 
>>>>>>>>> Thanks,
>>>>>>>>> David
>>>>>>>>> 
>>>>>>>>> On 31/10/2012 5:29 PM, David Holmes wrote:
>>>>>>>>>> http://cr.openjdk.java.net/~dholmes/8002034/webrev/
>>>>>>>>>> 
>>>>>>>>>> This mainly addresses
>>>>>>>>>> 
>>>>>>>>>> JDK-8002034 Allow Full Debug Symbols when cross-compiling
>>>>>>>>>> 
>>>>>>>>>> The initial FDS work simply disables FDS when cross-compilation is
>>>>>>>>>> involved. But we're now ready to deal with the cross-compilation
>>>>>>>>>> case
>>>>>>>>>> (and even if we weren't these changes would be fine anyway). So
>>>>>>>>>> if FDS
>>>>>>>>>> is initially enabled we will rely on ALT_OBJCOPY being set to the
>>>>>>>>>> correct value for cross-compilation; and we don't set the default
>>>>>>>>>> OBJCOPY in that case. So if you do nothing when cross-compiling
>>>>>>>>>> OBJCOPY
>>>>>>>>>> will be empty and that will cause the build to disable FDS, just
>>>>>>>>>> as if
>>>>>>>>>> the OBJCOPY command was not found.
>>>>>>>>>> 
>>>>>>>>>> As this is the same code that causes:
>>>>>>>>>> 
>>>>>>>>>> JDK-8001756 Hotspot makefiles report missing OBJCOPY command in the
>>>>>>>>>> wrong circumstances
>>>>>>>>>> 
>>>>>>>>>> I also fixed this by moving the OBJCOPY checks inside the
>>>>>>>>>> ENABLE_FULL_DEBUG_SYMBOLS=1 conditional. Basically unless we are
>>>>>>>>>> asking
>>>>>>>>>> for FDS we shouldn't complain if the OBJCOPY command is not found.
>>>>>>>>>> 
>>>>>>>>>> This will be pushed to the hotspot-emb repo as it is needed there
>>>>>>>>>> ASAP.
>>>>>>>>>> 
>>>>>>>>>> I'll be doing a similar change, under 8002040, for the JDK side of
>>>>>>>>>> things.
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> David
>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
> 
> 



More information about the hotspot-runtime-dev mailing list