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