JDK-2147996 : GCC 4 java_md.c compile-time error: "PIC register ���%ebx��� clobbered in ���asm���"
  • Type: Backport
  • Backport of: JDK-6463272
  • Component: tools
  • Sub-Component: launcher
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2007-03-27
  • Updated: 2010-12-03
  • Resolved: 2007-04-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u2 b02Fixed 7Fixed
Comments
SUGGESTED FIX ######### File: ./java_md.c ######### (cd . && sccs diffs -C -w -s -b java_md.c) ------- java_md.c ------- *** /tmp/sccs.ANay6U Tue Mar 27 15:49:35 2007 --- java_md.c Tue Mar 27 15:49:24 2007 *************** *** 1118,1124 **** uint32_t value_of_edx = 0; __asm__ volatile (/* Instructions */ /* ebx is callee-save, so push it */ - /* even though it's in the clobbers section */ " pushl %%ebx \n" " movl %4, %%eax \n" " cpuid \n" --- 1118,1123 ---- *************** *** 1137,1143 **** : /* Inputs */ "m" (arg) : /* Clobbers */ ! "%eax", "%ebx", "%ecx", "%edx" ); *eaxp = value_of_eax; *ebxp = value_of_ebx; --- 1136,1142 ---- : /* Inputs */ "m" (arg) : /* Clobbers */ ! "%eax", "%ecx", "%edx" ); *eaxp = value_of_eax; *ebxp = value_of_ebx;
27-03-2007

EVALUATION Remove %ebx from asm code.
27-03-2007