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?

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





Reply via email to