(S) RFR: 8077648: ARM: BREAKPOINT is wrong for thumb

David Holmes david.holmes at oracle.com
Tue Jan 12 03:16:52 UTC 2016


Bug is non-public:

https://bugs.openjdk.java.net/browse/JDK-8077648

In globalDefinitions_gcc.hpp we do

#ifdef ARM32
#ifdef SOLARIS
#define BREAKPOINT __asm__ volatile (".long 0xe1200070")
#else
#define BREAKPOINT __asm__ volatile (".long 0xe7f001f0")
#endif
#else

The SOLARIS part of this is puzzling to say the least and is being 
deleted. :)

Otherwise the value used in not correct if compiling for Thumb 
instruction set.

Solution is to just use:

#define BREAKPOINT __asm__ volatile ("bkpt")

webrev: http://cr.openjdk.java.net/~dholmes/8077648/webrev/

Thanks,
David


More information about the hotspot-runtime-dev mailing list