Skip to main content

JNI intBitsToFloat return error

29 replies [Last post]
webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, guys,

I tried CDC in my ARM 9 CPU.
Now almost everything works fine. Tomcat + Mysql + JAVA.

But i am suffering one thing that one of JNI doesnot work.
JIT=false no hardware float point.

JNIEXPORT jfloat JNICALL
Java_java_lang_Float_intBitsToFloat(JNIEnv *env, jclass unused, jint v)
{
union {
int i;
float f;
} u;
u.i = (long)v;

return (jfloat)u.f;
}

It always return 0.0000 whatever v is. But when i call this function in c files,
it works fine.

Any idea is welcome.

Kind Regards,

Bob Sang

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Cris and Mark,

It works now.

When I realized that my CPU is hard float point (actually Kernel did it), just add to GNUmakefile.

CVM_FORCE_HARD_FLOAT = true

It works fine.
I am very appriciated your nice help.
Thanks a lot.

Bob Sang

cjplummer
Offline
Joined: 2006-10-16
Points: 0

Hi Bob,

I debated whether I should mention CVM_FORCE_HARD_FLOAT = true. For one, it is not officially supported. We've never tested or released a product with it. We did some experimenting with it on the netwinders a few years back, and after some effort still had 20 or so TCK failures. Perhaps these are resolved by newer versions of the kernel softfloat library and gcc, but I'm not sure. The other reason I didn't mention it is because of the performance issues I brought up.

You might want to still consider the -msoft-float option. I've been told newer toolchains do not require -lfloat, so removing this should resolve the problem you ran into.

Chris

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Chris,

My toolchain gcc 3.4.4 does not have soft-float by default, I need to rebuild it later.

I think the CVM_FORCE_HARD_FLOAT need more comments, otherwise it maybe
mislead somebody like me. CVM_FORCE_HARD_FLOAT not mean CPU has really
hardware floating point.

In Kernel 2.6 ( i am not familiars with Kernel 2.4), there is NWFPE or FastFPE math
emulation. So .. I have CVM_FORCE_HARD_FLOAT.

FORCE HARD FLOAT is easy confused.

Thanks your help.

Best Regards,

Bob Sang

mlam
Offline
Joined: 2006-10-13
Points: 0

Bob,

> I have already finished 99% of my project, i must
> resolve this problem.
> Our project is Web Application of door access
> control. It works fine in PC.
> Now we need to port to ARM 9 CPU board. And I cross
> compiled and installed Tomcat
> 5.0 and MySQL.
> Tomcat + MySQL + Java (servlet )

May I ask what the nature of your project is? Is this a personal project, a school project, or for a commercial deployment?

How are you using phoneME Advanced in this project?

Thanks.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Mark,

Now is personal project for testing. Up to now, it does not completely run well.

I downloaded Phoneme Advanced mr1 source code and Java SE 1.4.2 source code.
And bind them together. Removing Awt, adding beans, Apache and many other things.

But today, when start tomcat, and run my JSP file, i got java.lang.OutOfMemoryError.
DRAM only 64MB. If my hardware can not support JavaME, i will drop this project.

Thanks.

Bob Sang

mlam
Offline
Joined: 2006-10-13
Points: 0

Bob,
I'm glad to hear that someone is experimenting with this code. As for the OutOfMemoryError issues, that could simply be because you aren't giving it enough memory. Please download the mr2 bundle which contains a runtime resizable heap. It should for the most part just build. You may have to reapply the patches you've done if it does not build successfully.

When you run, try specifying -Xmx20M or whatever Java heap size is needed by Tomcat and your apps. In JavaSE, I think (but am not sure) the default max heap is 64M for the client VM. That means when you run your app on a PC, it will grow up to 64M as needed. It may not actually need that much in practice. For your ARM device, with phoneME Advanced MR2, you'll get the same growable heap feature. Since your device is limited to 64M, I don't think a max heap of 64M is reasonable. Hence, I suggest trying -Xmx20M. You can try something smaller or larger as well. The max size specified does not mean that that amount of memory will actually be used. In practice, it may use less. By default, the heap size is only 5M which is probably too small to run Tomcat and your app. That's why you are seeing the OutOfMemoryError.

Let me know if you are still seeing problems. Alternatively, try running with -Xmx50M or some very large value. Then while your app is running, run top in a separate linux terminal to check the memory usage of CVM. Note that top reports both the reserved memory as well as the actual memory usage. You only need to be concerned about the actual memory usage. Use that as a guide as to how much to set your max heap size to.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi,

Now everything works fine in my ARM 9 CPU (S3C2410) Board.
Tomcat 5.0 + Struts 1.3 + MySQL 5.0 + JavaME + My Web Application.
set -Xmx32M.

The only thing is Tomcat start too slow ( about 2 minutes). After starting ,
JSP works fine.

Thanks your excellent works and your help.

Best Regards,

Bob Sang
web.webjb@gmail.com

jiangli_zhou
Offline
Joined: 2006-10-16
Points: 0

Hi Bob,

If you are using a debug build, make sure you switch to a optimized build that's built with CVM_OPTIMIZED=true CVM_DEBUG=false. Make sure you turn off the debug assert and tracing by setting CVM_DEBUG_ASSERTS=false and CVM_TRACE=false.

Also you can try a ROMized build with CVM_PRELOAD_LIB=true. That should help the startup time.

Jiangli Zhou

cjplummer
Offline
Joined: 2006-10-16
Points: 0

Looks liike your toolchain is defaulting to hard float. This would be ok if your platform supported VFP floating point, which still returns results in GPRs, but in your case it is using the FPA floating point, which returns float results in a float register, and is not supported by CDC.

You can try adding the following to your GNUmakefile:

CC_ARCH_FLAGS += -msoft-float
ASM_ARCH_FLAGS += -msoft-float
LINK_ARCH_FLAGS += -msoft-float
LINK_ARCH_LIBS += -lfloat

However, I wouldn't be surprised if you run into other linker related float problems as a result, especially if you toolchain or device does not support a softfloat library. Your best be is really to have a toolchain that is configured properly for your target device.

Chris

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi,

I am confusing now.

When I read ARM 9 CPU manual, there is not hard float point.
I can compile and run float point using my toolchain with C(C++). See the
thread i posted this morning.

I have already finished 99% of my project, i must resolve this problem.
Our project is Web Application of door access control. It works fine in PC.
Now we need to port to ARM 9 CPU board. And I cross compiled and installed Tomcat
5.0 and MySQL.
Tomcat + MySQL + Java (servlet )

Thanks in advance.

Kind regards,

cjplummer
Offline
Joined: 2006-10-16
Points: 0

The hard float instructions are being emulated by software in the kernel. Usually generating hard float instructions in this way is a bad idea, because every float instruction results in a trap to the kernel. This makes floating point very slow. Usually platforms that lack an FPU provide an OS and toolchain that support soft float, and this is what CDC supports on ARM platforms that lack an FPU.

Chris

webjb
Offline
Joined: 2007-03-26
Points: 0

Yes. You are right.

I just reviewed Linux Kernel Configure. It did use NWFPE math emulation.
My toolchain does not work with -lfloat. I need to rebuld this toolchain. Toolchain is 3.4.4

Thanks a lot.

Bob Sang

xyzzy
Offline
Joined: 2006-08-30
Points: 0

gcc 3.4.4 should work without -lfloat. Using -msoft-float should give you better floating point performance than CVM_FORCE_HARD_FLOAT = true if you don't really have hardware floating point.

Dean

mlam
Offline
Joined: 2006-10-13
Points: 0

Hi Bob,

> Java_java_lang_Float_floatToIntBits(JNIEnv *env,
> jclass unused, jfloat v)
> this function works fine.

I presume that your results are gotten by calling Float.floatToIntBits() from Java code. Based on the results, you don't have any trouble passing the arguments in and computing the results. The only issue remaining is returning the result.

Have you tried the CVM_DEFINES += -DAAPCS that Chris suggested yet? If not, please try that and follow his instructions. That will give us some needed additional information.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Mark,

I tried
CVM_DEFINES += -DAPCS
and AAPCS.
Nothing changed.

And CVM_DEBUG=true It did not say anything can help me.

Now I found just before return (float)u.f. It called other functions.

CVMdouble2LongBits and CVMlongBits2Double

I am tracing it now.

Bob Sang

webjb
Offline
Joined: 2007-03-26
Points: 0

Sorry, I was wrong.
Not before return (float)u.f

java ....
float fd=200.3f;
int ii1=Float.floatToIntBits(fd);
System.out.println("fd="+ii1);

float ff1=Float.intBitsToFloat(ii1);
System.out.println("ff1="+ff1);
...
ff1=4.0E-44

Because Java use out.println("")
It calls CVMdouble2LongBits....

When I changed to

Sorry, I was wrong.
Not before return (float)u.f

java ....
float fd=200.3f;
int ii1=Float.floatToIntBits(fd);
System.out.println("fd="+ii1);

float ff1=Float.intBitsToFloat(ii1);
int i2=(int)(ff1*1000);

System.out.println("i2="+i2);
...
Console Display: i2=0
It does not call these functions.

Bob Sang

mlam
Offline
Joined: 2006-10-13
Points: 0

Bob,

It looks like a calling convention mismatch problem. Can you set a breakpoint in Float_intBitsToFloat() and disassemble the asm instructions for the part where it returns a float. In gdb, you can do this using "x /10i $pc" once you break at a breakpoint where the return statement is. Make sure to do this on a CVM_DEBUG=true build.

Please post the disassemble instruction. Thanks.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Mark

The program is running at ARM 9 CPU.

How can I set breakpoint of gdb?

bob sang

mlam
Offline
Joined: 2006-10-13
Points: 0

Bob,

I'm aware that you're using an ARM 9 CPU. There should be no problem with that. The calling convention is dictated by the OS and toolchain as well, not just the CPU. I reiterate that the evidence so far indicates that you are seeing a calling convention mismatch here.

gdb is a debugger that runs on linux. If you're not running linux, what OS are you running? Are you asking for instructions on how to use gdb? I'm not sure I understand your question.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi,

The OS in Arm 9 is Linux Kernel 2.6.
You mean run gdb in ARM 9 ?
Oh,, I must cross compile gdb. I donot know if it is a big job.

can you talk more about "calling convention mismatch"?

Any way, i will try gdb.

Thanks.

Bob Sang

mlam
Offline
Joined: 2006-10-13
Points: 0

Bob,

The linux distribution you are using may already come with a gdb installed. Please look to see if one is available before you attempt a cross compile. Alternatively, you can build CVM with USE_VERBOSE_MAKE=true (if you are using the latest development tip) or CVM_TERSEOUTPUT=false (if you're using older source). Look at the gcc invocation line for building Float.c. Change the -c to -S and Float.o to Float.S, and recompile Float.c. This will give you the assembly output for that file. Look in the generated assembly file for the code generated for the return statement of Float_intBitsToFloat().

Regarding the calling convention mismatch, I meant that the gcc you are using may be expecting to return the float result in a floating point register (a simulated one since you don't have actual floating point hardware), but the VM is expecting it in a general purpose register. There could be other things like this that could have been mismatched as well. Basically, the VM is expecting you to return the value using one convention, and gcc may be generating code using a different convention. This is why I want to find out what asm code is being generated for the return statement.

Also, when you do a CVM build, the build will output a lot of build information. Please capture this output as the build log. At the top of the build log is a list of the build options that you used. Please post that.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi,

I cross compiled Linux Kernel 2.6.12 and busybox. So it does not have gdb.

==================================================

.file "Float.c"
.section .rodata.str1.4,"aMS",%progbits,1
.align 2
.LC0:
.ascii "arg v = %d (0x%x)\n\000"
.align 2
.LC1:
.ascii "address=%x\n\000"
.align 2
.LC2:
.ascii "u.i = %d (0x%x)\n\000"
.align 2
.LC3:
.ascii "u.f = %d (0x%x) %f\n\000"
.align 2
.LC4:
.ascii "(jfloat)u.f = %f\n\000"
.align 2
.LC5:
.ascii "*(jfloat *)&u.i = %f\n\000"
.text
.align 2
.global Java_java_lang_Float_intBitsToFloat
.type Java_java_lang_Float_intBitsToFloat, %function
Java_java_lang_Float_intBitsToFloat:
@ args = 0, pretend = 0, frame = 4
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, lr}
mov r1, r2
ldr r0, .L2
mov r4, r2
sub sp, sp, #16
bl printf
add r1, sp, #16
str r4, [r1, #-4]!
ldr r0, .L2+4
bl printf
ldr r1, [sp, #12]
ldr r0, .L2+8
mov r2, r1
bl printf
ldfs f0, [sp, #12]
mvfd f0, f0
stfd f0, [sp, #-8]!
ldmfd sp!, {r4, r5}
stfd f0, [sp, #-8]!
ldmfd sp!, {r1, r2}
mov r3, r4
ldr r0, .L2+12
stfd f0, [sp, #4]
str r5, [sp, #0]
bl printf
ldfs f0, [sp, #12]
mvfd f0, f0
stfd f0, [sp, #-8]!
ldmfd sp!, {r1, r2}
ldr r0, .L2+16
bl printf
ldfs f0, [sp, #12]
mvfd f0, f0
stfd f0, [sp, #-8]!
ldmfd sp!, {r1, r2}
ldr r0, .L2+20
bl printf
ldfs f0, [sp, #12]
add sp, sp, #16
ldmfd sp!, {r4, r5, pc}
.L3:
.align 2
.L2:
.word .LC0
.word .LC1
.word .LC2
.word .LC3
.word .LC4
.word .LC5
.size Java_java_lang_Float_intBitsToFloat, .-Java_java_lang_Float_intBitsToFloat
.align 2
.global Java_java_lang_Float_floatToIntBits
.type Java_java_lang_Float_floatToIntBits, %function
Java_java_lang_Float_floatToIntBits:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r0, r2
@ lr needed for prologue
mov pc, lr
.size Java_java_lang_Float_floatToIntBits, .-Java_java_lang_Float_floatToIntBits
.align 2
.global Java_java_lang_Float_floatToRawIntBits
.type Java_java_lang_Float_floatToRawIntBits, %function
Java_java_lang_Float_floatToRawIntBits:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r0, r2
@ lr needed for prologue
mov pc, lr
.size Java_java_lang_Float_floatToRawIntBits, .-Java_java_lang_Float_floatToRawIntBits
.ident "GCC: (GNU) 3.4.5"

=============================================================

... mkdir ../../build/linux-arm-s3c2410/./generated/javavm/runtime
... mkdir ../../build/linux-arm-s3c2410/./generated/classes
touch ../../build/linux-arm-s3c2410/./generated/empty.mk
CVM_HOST = i686-redhat-linux
CVM_TARGET = linux-arm-s3c2410
SHELL = sh -e
HOST_CC = /usr/bin/cc
HOST_CCC = /usr/local/bin/g++
ZIP = /usr/bin/zip
CVM_JAVA = /sang/javame/jdk1.5.0_11/bin/java
CVM_JAVAC = /sang/javame/jdk1.5.0_11/bin/javac
CVM_JAVAH = /sang/javame/jdk1.5.0_11/bin/javah
CVM_JAR = /sang/javame/jdk1.5.0_11/bin/jar
TARGET_CC = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc
TARGET_CCC = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-g++
TARGET_AS = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc
TARGET_LD = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc
TARGET_AR = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-ar
TARGET_RANLIB = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-ranlib
LINKFLAGS = -g -Wl,-export-dynamic
LINKLIBS = -lpthread -ldl -s -static -lm -ldl -lc -lgcc -lstdc++
ASM_FLAGS = -c -fno-common -traditional
CCCFLAGS = -fno-rtti
CCFLAGS_SPEED = -c -fno-common -Wall -fno-strict-aliasing -O4
CCFLAGS_SPACE = -c -fno-common -Wall -fno-strict-aliasing -O2
CCFLAGS_LOOP = -c -fno-common -Wall -fno-strict-aliasing -O4
CCFLAGS_FDLIB = -c -fno-common -Wall -fno-strict-aliasing -O4
JAVAC_OPTIONS = -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4
CVM_DEFINES = -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL
CC_CMD_FDLIB = /arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o printconfig
CVM_MTASK=false
CVM_BUILDTIME_CLASSESDIR=../../build/linux-arm-s3c2410/./btclasses
PS=:
... mkdir ../../build/linux-arm-s3c2410/./generated/flags
Flag CVM_CCM_COLLECT_STATS changed. Cleaning up.
Flag CVM_CLASSLIB_JCOV changed. Cleaning up.
Flag CVM_CLASSLOADING changed. Cleaning up.
Flag CVM_CSTACKANALYSIS changed. Cleaning up.
Flag CVM_DEBUG changed. Cleaning up.
Flag CVM_DEBUG_ASSERTS changed. Cleaning up.
Flag CVM_DEBUG_CLASSINFO changed. Cleaning up.
Flag CVM_DEBUG_DUMPSTACK changed. Cleaning up.
Flag CVM_DEBUG_STACKTRACES changed. Cleaning up.
Flag CVM_DUAL_STACK changed. Cleaning up.
Flag CVM_DYNAMIC_LINKING changed. Cleaning up.
Flag CVM_FORCE_HARD_FLOAT changed. Cleaning up.
Flag CVM_GCCHOICE changed. Cleaning up.
Flag CVM_GCOV changed. Cleaning up.
Flag CVM_GPROF changed. Cleaning up.
Flag CVM_HOST changed. Cleaning up.
Flag CVM_IAI_OPT_ALL changed. Cleaning up.
Flag CVM_INCLUDE_COMMCONNECTION changed. Cleaning up.
Flag CVM_INSPECTOR changed. Cleaning up.
Flag CVM_INSTRUCTION_COUNTING changed. Cleaning up.
Flag CVM_INTERPRETER_LOOP changed. Cleaning up.
Flag CVM_JAVAC_DEBUG changed. Cleaning up.
Flag CVM_JIT changed. Cleaning up.
Flag CVM_JIT_CODE_SCHED changed. Cleaning up.
Flag CVM_JIT_COLLECT_STATS changed. Cleaning up.
Flag CVM_JIT_DEBUG changed. Cleaning up.
Flag CVM_JIT_ESTIMATE_COMPILATION_SPEED changed. Cleaning up.
Flag CVM_JIT_PROFILE changed. Cleaning up.
Flag CVM_JIT_REGISTER_LOCALS changed. Cleaning up.
Flag CVM_JIT_USE_FP_HARDWARE changed. Cleaning up.
Flag CVM_JVMDI changed. Cleaning up.
Flag CVM_JVMPI changed. Cleaning up.
Flag CVM_JVMPI_TRACE_INSTRUCTION changed. Cleaning up.
Flag CVM_KNI changed. Cleaning up.
Flag CVM_LVM changed. Cleaning up.
Flag CVM_MP_SAFE changed. Cleaning up.
Flag CVM_MTASK changed. Cleaning up.
Flag CVM_NO_CODE_COMPACTION changed. Cleaning up.
Flag CVM_NO_LOSSY_OPCODES changed. Cleaning up.
Flag CVM_OPTIMIZED changed. Cleaning up.
Flag CVM_PRELOAD_LIB changed. Cleaning up.
Flag CVM_PRELOAD_TEST changed. Cleaning up.
Flag CVM_PRODUCT changed. Cleaning up.
Flag CVM_REFLECT changed. Cleaning up.
Flag CVM_SERIALIZATION changed. Cleaning up.
Flag CVM_STATICLINK_LIBS changed. Cleaning up.
Flag CVM_SYMBOLS changed. Cleaning up.
Flag CVM_TEST_GC changed. Cleaning up.
Flag CVM_TEST_GENERATION_GC changed. Cleaning up.
Flag CVM_THREAD_SUSPENSION changed. Cleaning up.
Flag CVM_TIMESTAMPING changed. Cleaning up.
Flag CVM_TRACE changed. Cleaning up.
Flag CVM_TRACE_JIT changed. Cleaning up.
Flag CVM_USE_CVM_MEMALIGN changed. Cleaning up.
Flag CVM_USE_MEM_MGR changed. Cleaning up.
Flag CVM_USE_NATIVE_TOOLS changed. Cleaning up.
Flag CVM_VERIFY_HEAP changed. Cleaning up.
Flag CVM_XRUN changed. Cleaning up.
Flag J2ME_CLASSLIB changed. Cleaning up.
Flag OPT_PKGS changed. Cleaning up.
... generating ../../build/linux-arm-s3c2410/./generated/javavm/include/build_defs.h

/*** Definitions generated at build time ***/
#ifndef _BUILD_DEFS_H
#define _BUILD_DEFS_H

#define CVM_BUILD_OPTIONS \
"CVM_CCM_COLLECT_STATS=false\n" \
"CVM_CLASSLIB_JCOV=false\n" \
"CVM_CLASSLOADING=true\n" \
"CVM_CSTACKANALYSIS=false\n" \
"CVM_DEBUG=false\n" \
"CVM_DEBUG_ASSERTS=false\n" \
"CVM_DEBUG_CLASSINFO=false\n" \
"CVM_DEBUG_DUMPSTACK=false\n" \
"CVM_DEBUG_STACKTRACES=true\n" \
"CVM_DUAL_STACK=false\n" \
"CVM_DYNAMIC_LINKING=true\n" \
"CVM_FORCE_HARD_FLOAT=false\n" \
"CVM_GCCHOICE=generational\n" \
"CVM_GCOV=false\n" \
"CVM_GPROF=false\n" \
"CVM_HOST=i686-redhat-linux\n" \
"CVM_IAI_OPT_ALL=true\n" \
"CVM_INCLUDE_COMMCONNECTION=false\n" \
"CVM_INSPECTOR=false\n" \
"CVM_INSTRUCTION_COUNTING=false\n" \
"CVM_INTERPRETER_LOOP=Standard\n" \
"CVM_JAVAC_DEBUG=false\n" \
"CVM_JIT=false\n" \
"CVM_JIT_CODE_SCHED=false\n" \
"CVM_JIT_COLLECT_STATS=false\n" \
"CVM_JIT_DEBUG=false\n" \
"CVM_JIT_ESTIMATE_COMPILATION_SPEED=false\n" \
"CVM_JIT_PROFILE=false\n" \
"CVM_JIT_REGISTER_LOCALS=true\n" \
"CVM_JIT_USE_FP_HARDWARE=false\n" \
"CVM_JVMDI=false\n" \
"CVM_JVMPI=false\n" \
"CVM_JVMPI_TRACE_INSTRUCTION=false\n" \
"CVM_KNI=\n" \
"CVM_LVM=false\n" \
"CVM_MP_SAFE=false\n" \
"CVM_MTASK=false\n" \
"CVM_NO_CODE_COMPACTION=false\n" \
"CVM_NO_LOSSY_OPCODES=false\n" \
"CVM_OPTIMIZED=true\n" \
"CVM_PRELOAD_LIB=false\n" \
"CVM_PRELOAD_TEST=false\n" \
"CVM_PRODUCT=premium\n" \
"CVM_REFLECT=true\n" \
"CVM_SERIALIZATION=true\n" \
"CVM_STATICLINK_LIBS=false\n" \
"CVM_SYMBOLS=false\n" \
"CVM_TEST_GC=false\n" \
"CVM_TEST_GENERATION_GC=false\n" \
"CVM_THREAD_SUSPENSION=false\n" \
"CVM_TIMESTAMPING=true\n" \
"CVM_TRACE=false\n" \
"CVM_TRACE_JIT=false\n" \
"CVM_USE_CVM_MEMALIGN=false\n" \
"CVM_USE_MEM_MGR=false\n" \
"CVM_USE_NATIVE_TOOLS=false\n" \
"CVM_VERIFY_HEAP=false\n" \
"CVM_XRUN=false\n" \
"J2ME_CLASSLIB=foundation\n" \
"OPT_PKGS=\n" \

#define CVM_PROP_JAVA_VERSION "1.1.1_01-b31"
#define CVM_PROP_JAVA_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_VENDOR_URL "http://java.sun.com/"
#define CVM_PROP_JAVA_VENDOR_URL_BUG "http://java.sun.com/cgi-bin/bugreport.cgi"
#define CVM_PROP_JAVA_SPEC_NAME "Foundation Profile Specification"
#define CVM_PROP_JAVA_SPEC_VERSION "1.1"
#define CVM_PROP_JAVA_SPEC_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_CLASS_VERSION "47.0"
#define CVM_PROP_JAVA_VM_NAME "CDC"
#define CVM_PROP_JAVA_VM_VERSION "1.1.1_01-b31"
#define CVM_PROP_SUN_MISC_PRODUCT "CDC/FP"
#define CVM_PROP_JAVA_VM_INFO "interpreter loop"
#define CVM_PROP_JAVA_VM_VENDOR "Sun Microsystems Inc."
#define CVM_PROP_JAVA_VM_SPEC_NAME "Java Virtual Machine Specification"
#define CVM_PROP_JAVA_VM_SPEC_VERSION "1.0"
#define CVM_PROP_JAVA_VM_SPEC_VENDOR "Sun Microsystems Inc."
#define CVM_CLASSLIB_JAR_NAME "foundation.jar"
#define CVM_JARFILES CVM_CLASSLIB_JAR_NAME

#endif /* _BUILD_DEFS_H */

... mkdir ../../build/linux-arm-s3c2410/./obj
... mkdir ../../build/linux-arm-s3c2410/./bin
... mkdir ../../build/linux-arm-s3c2410/./generated/javavm/runtime/opcodeconsts
... mkdir ../../build/linux-arm-s3c2410/./generated/classes/sun/misc
... mkdir ../../build/linux-arm-s3c2410/./generated/jni
... mkdir ../../build/linux-arm-s3c2410/./generated/cni
... mkdir ../../build/linux-arm-s3c2410/./generated/offsets
... mkdir ../../build/linux-arm-s3c2410/./btclasses
... mkdir ../../build/linux-arm-s3c2410/./testclasses
... mkdir ../../build/linux-arm-s3c2410/./democlasses
... mkdir ../../build/linux-arm-s3c2410/./lib
... mkdir ../../build/linux-arm-s3c2410/./lib/security
... mkdir ../../build/linux-arm-s3c2410/./classes.tools
... mkdir ../../build/linux-arm-s3c2410/./foundation_classes
... mkdir ../../build/linux-arm-s3c2410/./generated/classes/java/util
... mkdir ../../build/linux-arm-s3c2410/./classes.jcc
Checking for build-time classes to compile ...
... generating BuildFlags.java
echo "/* This file contains information determined at a build time*/" > .BuildFlags.java
echo "/* AUTO-GENERATED - DO NOT EDIT */" >> .BuildFlags.java
echo "" >> .BuildFlags.java
echo "package sun.misc; " >> .BuildFlags.java
echo "" >> .BuildFlags.java
echo "public class BuildFlags { " >> .BuildFlags.java
echo " public final static boolean qAssertsEnabled = false; " >> .BuildFlags.java
echo "}" >> .BuildFlags.java
echo "" >> .BuildFlags.java
if ! cmp -s .BuildFlags.java ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/BuildFlags.java; then \
echo ... ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/BuildFlags.java; \
cp -f .BuildFlags.java ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/BuildFlags.java; \
fi
... ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/BuildFlags.java
rm .BuildFlags.java
... generating sun.misc.DefaultLocaleList.java
echo "/* This file is used by LocaleData.java */" > .DefaultLocaleList.java
echo "/* AUTO-GENERATED - DO NOT EDIT */" >> .DefaultLocaleList.java
echo "" >> .DefaultLocaleList.java
echo "package sun.misc; " >> .DefaultLocaleList.java
echo "" >> .DefaultLocaleList.java
echo "public class DefaultLocaleList { " >> .DefaultLocaleList.java
echo " public final static String list[] = { " >> .DefaultLocaleList.java
if [ "en en_US" != "" ] ; then \
for s in "en en_US" ; do \
printf "\t\"%s\", " $s; \
done ; \
fi >> .DefaultLocaleList.java
printf "\t};" >> .DefaultLocaleList.java
echo "}" >> .DefaultLocaleList.java
echo "" >> .DefaultLocaleList.java
if ! cmp -s .DefaultLocaleList.java ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/DefaultLocaleList.java; then \
echo ... ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/DefaultLocaleList.java; \
cp -f .DefaultLocaleList.java ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/DefaultLocaleList.java; \
fi
... ../../build/linux-arm-s3c2410/./generated/classes/sun/misc/DefaultLocaleList.java
rm .DefaultLocaleList.java
... generating CurrencyData.java
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 -d ../../build/linux-arm-s3c2410/./classes.tools \
../../src/share/tools/GenerateCurrencyData/GenerateCurrencyData.java
/sang/javame/jdk1.5.0_11/bin/java \
-classpath ../../build/linux-arm-s3c2410/./classes.tools \
GenerateCurrencyData \
< ../../src/share/classes/java/util/CurrencyData.properties > ../../build/linux-arm-s3c2410/./generated/classes/java/util/CurrencyData.java
if [ -s ../../build/linux-arm-s3c2410/./.btclasses.list ] ; then \
echo "Compiling build-time classes..."; \
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 \
-d ../../build/linux-arm-s3c2410/./btclasses \
-bootclasspath ../../build/linux-arm-s3c2410/./btclasses \
-classpath ../../build/linux-arm-s3c2410/./btclasses":" \
-sourcepath ../../src/share/foundation/classes":"../../src/share/classes":"../../src/linux/classes":"../../src/share/classes/cldc":"../../build/linux-arm-s3c2410/./generated/classes \
@../../build/linux-arm-s3c2410/./.btclasses.list ; \
fi
Compiling build-time classes...
... ../../build/linux-arm-s3c2410/./btclasses.zip
(cd ../../build/linux-arm-s3c2410/./btclasses; zip -r -0 -q - * ) \
> ./.classes.tmp
mv -f ./.classes.tmp ../../build/linux-arm-s3c2410/./btclasses.zip
Checking for CDC/FP classes to compile ...
if [ -s ../../build/linux-arm-s3c2410/./.libclasses.list ] ; then \
echo "Compiling CDC/FP classes..."; \
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 \
-d ../../build/linux-arm-s3c2410/./foundation_classes \
-bootclasspath ../../build/linux-arm-s3c2410/./btclasses \
-classpath ../../build/linux-arm-s3c2410/./foundation_classes \
-sourcepath ../../src/share/foundation/classes":"../../src/share/classes":"../../src/linux/classes":"../../src/share/classes/cldc":"../../build/linux-arm-s3c2410/./generated/classes \
@../../build/linux-arm-s3c2410/./.libclasses.list ; \
fi
Compiling CDC/FP classes...
... ../../build/linux-arm-s3c2410/./lib/foundation.jar
(cd ../../build/linux-arm-s3c2410/./foundation_classes; \
/sang/javame/jdk1.5.0_11/bin/jar cf ../../../build/linux-arm-s3c2410/./lib/foundation.jar *)
Checking for test classes to compile ...
if [ -s ../../build/linux-arm-s3c2410/./.testclasses.list ] ; then \
echo "Compiling test classes..."; \
cp -f ../../src/share/javavm/test/TestSyncLocker.class \
../../build/linux-arm-s3c2410/./testclasses; \
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 \
-d ../../build/linux-arm-s3c2410/./testclasses \
-bootclasspath \
../../build/linux-arm-s3c2410/./btclasses":"../../build/linux-arm-s3c2410/./foundation_classes\
-classpath ../../build/linux-arm-s3c2410/./testclasses":" \
-sourcepath ../../test/share/foundation/java/net/URI":"../../test/share/foundation/java/net/Inet6Address":"../../test/share/cdc/java/util/Currency":"../../test/share/cdc/java/lang/ClassLoader":"../../src/share/javavm/test \
@../../build/linux-arm-s3c2410/./.testclasses.list ; \
fi
Compiling test classes...
... ../../build/linux-arm-s3c2410/./testclasses.zip
(cd ../../build/linux-arm-s3c2410/./testclasses; zip -r -0 -q - * ) \
> ./.classes.tmp
mv -f ./.classes.tmp ../../build/linux-arm-s3c2410/./testclasses.zip
Checking for demo classes to compile ...
if [ -s ../../build/linux-arm-s3c2410/./.democlasses.list ] ; then \
echo "Compiling demo classes..."; \
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 \
-d ../../build/linux-arm-s3c2410/./democlasses \
-bootclasspath \
../../build/linux-arm-s3c2410/./btclasses":"../../build/linux-arm-s3c2410/./foundation_classes\
-classpath ../../build/linux-arm-s3c2410/./democlasses \
-sourcepath ../../src/share/cdc/demo \
@../../build/linux-arm-s3c2410/./.democlasses.list ; \
fi
Compiling demo classes...
... ../../build/linux-arm-s3c2410/./democlasses.jar
for dir in ../../src/share/cdc/demo; do files=`(cd $dir; find . -name .svn -prune -o -type f -print)`; (cd $dir; tar -cf - $files) | (cd ../../build/linux-arm-s3c2410/./democlasses; tar -xf - ); done
(cd ../../build/linux-arm-s3c2410/./democlasses; zip -r -q - *) > ./.classes.tmp
mv -f ./.classes.tmp ../../build/linux-arm-s3c2410/./democlasses.jar
if [ -s ../../build/linux-arm-s3c2410/./.javahclasses.list ] ; then \
echo ... generating jni class headers ; \
/sang/javame/jdk1.5.0_11/bin/javah -jni \
-d ../../build/linux-arm-s3c2410/./generated/jni \
-classpath ../../build/linux-arm-s3c2410/./lib/foundation.jar \
-bootclasspath ../../build/linux-arm-s3c2410/./btclasses.zip \
@../../build/linux-arm-s3c2410/./.javahclasses.list ; \
fi
... generating jni class headers
... ../../build/linux-arm-s3c2410/./classes.jcc/GenOpcodes.class
CLASSPATH=../../src/share/javavm/jcc; export CLASSPATH; \
/sang/javame/jdk1.5.0_11/bin/javac -g:none -J-Xms32m -J-Xmx128m -encoding iso8859-1 -source 1.4 -target 1.4 -d ../../build/linux-arm-s3c2410/./classes.jcc \
../../src/share/javavm/jcc/GenOpcodes.java
rm -f ../../build/linux-arm-s3c2410/./classes.jcc/JCCMessage.properties; \
cp ../../src/share/javavm/jcc/JCCMessage.properties ../../build/linux-arm-s3c2410/./classes.jcc/JCCMessage.properties
... ../../src/share/javavm/include/opcodes.list
export CLASSPATH; \
CLASSPATH=../../build/linux-arm-s3c2410/./classes.jcc; \
/sang/javame/jdk1.5.0_11/bin/java GenOpcodes ../../src/share/javavm/include/opcodes.list \
-h ../../build/linux-arm-s3c2410/./generated/javavm/include/opcodes.h \
-c ../../build/linux-arm-s3c2410/./generated/javavm/runtime/opcodes.c \
-bcAttr ../../build/linux-arm-s3c2410/./generated/javavm/runtime/bcattr.c \
-opcodeLengths ../../build/linux-arm-s3c2410/./generated/javavm/runtime/opcodelen.c \
\
-label ../../build/linux-arm-s3c2410/./generated/javavm/include/opcodeLabels.h \
-javaConst ../../build/linux-arm-s3c2410/./generated/javavm/runtime/opcodeconsts/OpcodeConst.java \
-simplification ../../build/linux-arm-s3c2410/./generated/javavm/include/opcodeSimplification.h
... ../../build/linux-arm-s3c2410/./classes.jcc/JavaCodeCompact.class
jcc romjava.c files
export CLASSPATH; \
CLASSPATH=../../build/linux-arm-s3c2410/./classes.jcc; \
/sang/javame/jdk1.5.0_11/bin/java -Xmx128m JavaCodeCompact -nativesType CNI sun.io.ByteToCharISO8859_1 -nativesType CNI sun.io.CharToByteISO8859_1 -nativesType CNI sun.misc.CVM -nativesType CNI java.security.AccessController -nativesType CNI java.lang.reflect.Constructor -nativesType CNI java.lang.reflect.Field -nativesType CNI java.lang.reflect.Method -nativesType CNI java.lang.String -nativesType CNI java.util.Vector -nativesType CNI java.lang.StringBuffer -nativesType JNI "-*" -headersDir CNI ../../build/linux-arm-s3c2410/./generated/cni -headersDir JNI ../../build/linux-arm-s3c2410/./generated/jni -headersDir CVMOffsets ../../build/linux-arm-s3c2410/./generated/offsets -extraHeaders CVMOffsets java.lang.String -extraHeaders CVMOffsets java.lang.Throwable -extraHeaders CVMOffsets java.lang.StackTraceElement -extraHeaders CVMOffsets java.lang.Class -extraHeaders CVMOffsets java.lang.Thread -extraHeaders CVMOffsets java.lang.Boolean -extraHeaders CVMOffsets java.lang.Byte -extraHeaders CVMOffsets java.lang.Character -extraHeaders CVMOffsets java.lang.Short -extraHeaders CVMOffsets java.lang.Integer -extraHeaders CVMOffsets java.lang.Long -extraHeaders CVMOffsets java.lang.Float -extraHeaders CVMOffsets java.lang.Double -extraHeaders CVMOffsets java.lang.ref.Reference -extraHeaders CVMOffsets java.util.AbstractList -extraHeaders CVMOffsets java.util.Vector -extraHeaders CVMOffsets sun.io.ByteToCharConverter -extraHeaders CVMOffsets sun.io.CharToByteConverter -extraHeaders CVMOffsets sun.io.CharToByteISO8859_1 -extraHeaders CVMOffsets java.lang.StringBuffer -extraHeaders CVMOffsets java.lang.AssertionStatusDirectives -extraHeaders CVMOffsets java.lang.ClassLoader -extraHeaders CVMOffsets java.lang.reflect.AccessibleObject -extraHeaders CVMOffsets java.lang.reflect.Constructor -extraHeaders CVMOffsets java.lang.reflect.Field -extraHeaders CVMOffsets java.lang.reflect.InvocationTargetException -extraHeaders CVMOffsets java.lang.reflect.Method -sharedCP \
-maxSegmentSize 400 \
-o ../../build/linux-arm-s3c2410/./generated/javavm/runtime/romjava ../../build/linux-arm-s3c2410/./btclasses.zip
Java First ... list size=129 clist[0]=-nativesType
sang processOptions list=129
sang name=CNI patterns=sun.io.ByteToCharISO8859_1
sang name=CNI patterns=sun.io.CharToByteISO8859_1
sang name=CNI patterns=sun.misc.CVM
sang name=CNI patterns=java.security.AccessController
sang name=CNI patterns=java.lang.reflect.Constructor
sang name=CNI patterns=java.lang.reflect.Field
sang name=CNI patterns=java.lang.reflect.Method
sang name=CNI patterns=java.lang.String
sang name=CNI patterns=java.util.Vector
sang name=CNI patterns=java.lang.StringBuffer
sang name=JNI patterns=-*
sang JavaCodeCompact 2222222222222222 file name=../../build/linux-arm-s3c2410/./btclasses.zip
sang ClassTable.size=2261
sang JavaCodeCompact 33333333333333
sang 170 arraypfClss=sun_io_CharacterEncoding
nClasses=2261
i=179 name=java_net_NetworkInterface_1
sang nClasses=0 nMax=2261 CVMTypeCode.CVMtypeBigArray=49152
sang nClasses=0 nMax=2261 CVMTypeCode.CVMtypeBigArray=49152
sang firstVector=2217
sdddddddddddddddddddddddddddddddddddd firstROMVectorClass=2217
sang 1111 firstVector=0
sdddddddddddddddddddddddddddddddddddd firstROMVectorClass=0
2261 Total Classes
... of which 443 classes have static initializers
(16097/24980 quickening sites)
21168 method blocks
... of which 21168 blocks are writable
... for 2163 classes
... of which 5213 have checkinit opcodes in the code
1048670 bytes of Java code
3413 catch frames
9345 field blocks
1516 inner class attribute entries
24518 constant pool entries
13520 Java strings
echo "/* This file is included by System.c to setup system properties. */" > ../../build/linux-arm-s3c2410/./.system_properties.c
echo "/* AUTO-GENERATED - DO NOT EDIT */" >> ../../build/linux-arm-s3c2410/./.system_properties.c
echo "" >> ../../build/linux-arm-s3c2410/./.system_properties.c
if [ "" != "" ] ; then \
for s in "" ; do \
printf "%s\n" $s | sed -e 's/\(.*\)=\(.*\)/PUTPROP (props, "\1", "\2");/' ; \
done ; \
fi >> ../../build/linux-arm-s3c2410/./.system_properties.c
echo "" >> ../../build/linux-arm-s3c2410/./.system_properties.c
if [ "" != "" ] ; then \
echo "/* Defined properties for builtin libraries. */" ; \
for s in "" ; do \
printf "PUTPROP(props, \"java.library.builtin.%s\", \"true\");\n" $s; \
done ; \
fi >> ../../build/linux-arm-s3c2410/./.system_properties.c
if ! cmp -s ../../build/linux-arm-s3c2410/./.system_properties.c ../../build/linux-arm-s3c2410/./generated/javavm/runtime/system_properties.c; then \
echo ... ../../build/linux-arm-s3c2410/./generated/javavm/runtime/system_properties.c; \
cp -f ../../build/linux-arm-s3c2410/./.system_properties.c ../../build/linux-arm-s3c2410/./generated/javavm/runtime/system_properties.c; \
fi
... ../../build/linux-arm-s3c2410/./generated/javavm/runtime/system_properties.c
cc ../../build/linux-arm-s3c2410/./obj/gen_semispace.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/gen_semispace.o ../../src/share/javavm/runtime/gc/generational/gen_semispace.c
cc ../../build/linux-arm-s3c2410/./obj/gen_markcompact.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/gen_markcompact.o ../../src/share/javavm/runtime/gc/generational/gen_markcompact.c
cc ../../build/linux-arm-s3c2410/./obj/gc_common.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/gc_common.o ../../src/share/javavm/runtime/gc_common.c
cc ../../build/linux-arm-s3c2410/./obj/gc_impl.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/gc_impl.o ../../src/share/javavm/runtime/gc/generational/gc_impl.c
cc ../../build/linux-arm-s3c2410/./obj/gc_stat.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/gc_stat.o ../../src/share/javavm/runtime/gc_stat.c
cc ../../build/linux-arm-s3c2410/./obj/indirectmem.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/indirectmem.o ../../src/share/javavm/runtime/indirectmem.c
cc ../../build/linux-arm-s3c2410/./obj/interpreter.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/interpreter.o ../../src/share/javavm/runtime/interpreter.c
cc ../../build/linux-arm-s3c2410/./obj/named_sys_monitor.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/named_sys_monitor.o ../../src/share/javavm/runtime/named_sys_monitor.c
cc ../../build/linux-arm-s3c2410/./obj/objsync.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/objsync.o ../../src/share/javavm/runtime/objsync.c
cc ../../build/linux-arm-s3c2410/./obj/stackmaps.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/stackmaps.o ../../src/share/javavm/runtime/stackmaps.c
cc ../../build/linux-arm-s3c2410/./obj/sync.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/sync.o ../../src/share/javavm/runtime/sync.c
cc ../../build/linux-arm-s3c2410/./obj/sync_arch.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/sync_arch.o ../../src/linux-arm/javavm/runtime/sync_arch.c
cc ../../build/linux-arm-s3c2410/./obj/arm_float_cpu.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O4 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/arm_float_cpu.o ../../src/arm/javavm/runtime/arm_float_cpu.c
cc ../../build/linux-arm-s3c2410/./obj/TimeStamps.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/TimeStamps.o ../../src/share/native/sun/misc/TimeStamps.c
cc ../../build/linux-arm-s3c2410/./obj/timestamp.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/timestamp.o ../../src/share/javavm/runtime/timestamp.c
cc ../../build/linux-arm-s3c2410/./obj/JIT.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/JIT.o ../../src/share/native/sun/misc/JIT.c
cc ../../build/linux-arm-s3c2410/./obj/classlink.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classlink.o ../../src/share/javavm/runtime/classlink.c
cc ../../build/linux-arm-s3c2410/./obj/classverify.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classverify.o ../../src/share/javavm/runtime/classverify.c
cc ../../build/linux-arm-s3c2410/./obj/constantpool.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/constantpool.o ../../src/share/javavm/runtime/constantpool.c
cc ../../build/linux-arm-s3c2410/./obj/mangle.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/mangle.o ../../src/share/javavm/runtime/mangle.c
cc ../../build/linux-arm-s3c2410/./obj/quicken.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/quicken.o ../../src/share/javavm/runtime/quicken.c
cc ../../build/linux-arm-s3c2410/./obj/verifycode.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/verifycode.o ../../src/share/javavm/runtime/verifycode.c
cc ../../build/linux-arm-s3c2410/./obj/basictypes.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/basictypes.o ../../src/share/javavm/runtime/basictypes.c
cc ../../build/linux-arm-s3c2410/./obj/bcattr.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/bcattr.o ../../build/linux-arm-s3c2410/./generated/javavm/runtime/bcattr.c
cc ../../build/linux-arm-s3c2410/./obj/bcutils.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/bcutils.o ../../src/share/javavm/runtime/bcutils.c
cc ../../build/linux-arm-s3c2410/./obj/classinitialize.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classinitialize.o ../../src/share/javavm/runtime/classinitialize.c
cc ../../build/linux-arm-s3c2410/./obj/classcreate.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classcreate.o ../../src/share/javavm/runtime/classcreate.c
cc ../../build/linux-arm-s3c2410/./obj/classload.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classload.o ../../src/share/javavm/runtime/classload.c
cc ../../build/linux-arm-s3c2410/./obj/classlookup.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classlookup.o ../../src/share/javavm/runtime/classlookup.c
cc ../../build/linux-arm-s3c2410/./obj/classtable.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classtable.o ../../src/share/javavm/runtime/classtable.c
cc ../../build/linux-arm-s3c2410/./obj/classes.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/classes.o ../../src/share/javavm/runtime/classes.c
cc ../../build/linux-arm-s3c2410/./obj/common_exceptions.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/common_exceptions.o ../../src/share/javavm/runtime/common_exceptions.c
cc ../../build/linux-arm-s3c2410/./obj/cstates.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/cstates.o ../../src/share/javavm/runtime/cstates.c
cc ../../build/linux-arm-s3c2410/./obj/float_fdlibm.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/float_fdlibm.o ../../src/share/javavm/runtime/float_fdlibm.c
cc ../../build/linux-arm-s3c2410/./obj/globals.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/globals.o ../../src/share/javavm/runtime/globals.c
cc ../../build/linux-arm-s3c2410/./obj/globalroots.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../src/arm -I../../src -I../../src/linux -I../../src/linux/native/java/net -I../../src/linux/native/common -I../../src/linux-arm -o ../../build/linux-arm-s3c2410/./obj/globalroots.o ../../src/share/javavm/runtime/globalroots.c
cc ../../build/linux-arm-s3c2410/./obj/jni_impl.o
/arm9-n/buildroot/build_arm/staging_dir/bin/arm-linux-gcc -c -fno-common -Wall -fno-strict-aliasing -O2 -DLINUX_DLSYM_BUG -DAPCS -DCVM_OPTIMIZED -DCVM_DEBUG_STACKTRACES -DNDEBUG -DCVM_CLASSLOADING -DCVM_SERIALIZATION -DCVM_REFLECT -DCVM_DYNAMIC_LINKING -DCVM_JIT_REGISTER_LOCALS -DCVM_TIMESTAMPING -DJ2ME_CLASSLIB=foundation -DTARGET_CPU_FAMILY=arm -D_GNU_SOURCE -DCVM_IAI_OPT_ALL -I../../src/share -I../../build/linux-arm-s3c2410/. -I../../src/share/javavm/export -I../../src/share/native/common -I../../src/share/native/java/lang -I../../src/share/native/java/lang/fdlibm/include -I../../src/share/native/java/net -I../../src/share/native/java/io -I../../src/share/native/java/util/zip -I../../src/share/native/java/util/zip/zlib-1.1.3 -I../../build/linux-arm-s3c2410/./generated/jni -I../../s

webjb
Offline
Joined: 2007-03-26
Points: 0

this time, i remove printf function. It looks like more clear.

Thanks very much.

Bob Sang

========================================

#include "jni.h"
#include "jvm.h"

#include "java_lang_Float.h"

/*
* Find the float corresponding to a given bit pattern
*/
JNIEXPORT jfloat JNICALL
Java_java_lang_Float_intBitsToFloat(JNIEnv *env, jclass unused, jint v)
{

union {
int i;
float f;
} u;
u.i = (long)v;

return (jfloat)u.f;

}

/*
* Find the bit pattern corresponding to a given float, collapsing NaNs
*/
JNIEXPORT jint JNICALL
Java_java_lang_Float_floatToIntBits(JNIEnv *env, jclass unused, jfloat v)
{
union {
int i;
float f;
} u;
/*
if (JVM_IsNaN((float)v)) {
return 0x7fc00000;
}
*/ u.f = (float)v;
return (jint)u.i;
}

/*
* Find the bit pattern corresponding to a given float, NOT collapsing NaNs
*/
JNIEXPORT jint JNICALL
Java_java_lang_Float_floatToRawIntBits(JNIEnv *env, jclass unused, jfloat v)
{
union {
int i;
float f;
} u;
u.f = (float)v;
return (jint)u.i;
}

==============================================
.file "Float.c"
.text
.align 2
.global Java_java_lang_Float_intBitsToFloat
.type Java_java_lang_Float_intBitsToFloat, %function
Java_java_lang_Float_intBitsToFloat:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
str r2, [sp, #-4]!
ldfs f0, [sp], #4
@ lr needed for prologue
mov pc, lr
.size Java_java_lang_Float_intBitsToFloat, .-Java_java_lang_Float_intBitsToFloat
.align 2
.global Java_java_lang_Float_floatToIntBits
.type Java_java_lang_Float_floatToIntBits, %function
Java_java_lang_Float_floatToIntBits:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r0, r2
@ lr needed for prologue
mov pc, lr
.size Java_java_lang_Float_floatToIntBits, .-Java_java_lang_Float_floatToIntBits
.align 2
.global Java_java_lang_Float_floatToRawIntBits
.type Java_java_lang_Float_floatToRawIntBits, %function
Java_java_lang_Float_floatToRawIntBits:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r0, r2
@ lr needed for prologue
mov pc, lr
.size Java_java_lang_Float_floatToRawIntBits, .-Java_java_lang_Float_floatToRawIntBits
.ident "GCC: (GNU) 3.4.5"

mlam
Offline
Joined: 2006-10-13
Points: 0

Hi Bob,
I've modified your code as follows:

JNIEXPORT jfloat JNICALL
Java_java_lang_Float_intBitsToFloat(JNIEnv *env, jclass unused, jint v)
{
union {
i;
float f;
} u;
printf("arg v = %d (0x%x)\n", v, v);
u.i = (long)v;
printf("u.i = %d (0x%x)\n", u.i, u.i);
printf("u.f = %d (0x%x) %f\n", u.f, u.f, u.f);
printf("(jfloat)u.f = %f\n", (jfloat)u.f);
printf("*(jfloat *)&u.i = %f\n", *(jfloat *)&u.i);
return (jfloat)u.f;
}

Can you please run this code and post the results? Thanks.

Mark

webjb
Offline
Joined: 2007-03-26
Points: 0

Hi, Mark,
results:
-----------------------------------------------------------------------
arg v = 1120442778 (0x42c8999a)
u.i = 1120442778 (0x42c8999a)
u.f = 1079579443 (0x40000000) 100.300003
(jfloat)u.f = 100.300003
*(jfloat *)&u.i = 100.30003
----------------------------------------------------------------------

1120442778 is got from same Float.c
floatToIntBits(100.3);

Java_java_lang_Float_floatToIntBits(JNIEnv *env, jclass unused, jfloat v)
this function works fine.

CPU is Sumsang ARM9 S3C2410. No hard float point.
DRAM 64M
FLASH 64M

Best Regards,

Bob Sang

cjplummer
Offline
Joined: 2006-10-16
Points: 0

I get pretty much the same thing on x86:

arg v = 1120442778 (0x42c8999a)
u.i = 1120442778 (0x42c8999a)
u.f = 1073741824 (0x40591333) 100.300003
(jfloat)u.f = 100.300003
*(jfloat *)&u.i = 100.300003

The difference is in the first two values in the 3rd line. However, I think this may be the result of a bug in the printf call. You are passing in a float type, but using %d and %x to display the value. Due to calling convention differences between floats and ints, I don't think this is supported.

Chris

Tom May

phonemeadvanced@mobileandembedded.org wrote:
> I get pretty much the same thing on x86:
>
> arg v = 1120442778 (0x42c8999a)
> u.i = 1120442778 (0x42c8999a)
> u.f = 1073741824 (0x40591333) 100.300003
> (jfloat)u.f = 100.300003
> *(jfloat *)&u.i = 100.300003
>
> The difference is in the first two values in the 3rd line. However,
> I think this may be the result of a bug in the printf call.
> You are passing in a float type, but using %d and %x to display
> the value. Due to calling convention differences between
> floats and ints, I don't think this is supported.

printf is what the Procedure Call Standard for the ARM Architecture
calls a "variadic function", meaning it takes a variable number of
arguments. Section 5.5 of the Standard says:

A variadic function is always marshaled as for the base standard.

Then in Section 7.2 we've got:

For variadic functions, float arguments that match the ellipsis (…)
are converted to type double.

The upshot of all this is that if you pass a float to printf, you should
be able to print it using a long long format type like "%llx".

Tom.

> Chris
> [Message sent by forum member 'cjplummer' (cjplummer)]
>
> http://forums.java.net/jive/thread.jspa?messageID=210064
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

Tom May

Tom May wrote:
> phonemeadvanced@mobileandembedded.org wrote:
>> I get pretty much the same thing on x86:
>>
>> arg v = 1120442778 (0x42c8999a)
>> u.i = 1120442778 (0x42c8999a)
>> u.f = 1073741824 (0x40591333) 100.300003
>> (jfloat)u.f = 100.300003
>> *(jfloat *)&u.i = 100.300003
>>
>> The difference is in the first two values in the 3rd line. However,
>> I think this may be the result of a bug in the printf call.
>> You are passing in a float type, but using %d and %x to display
>> the value. Due to calling convention differences between
>> floats and ints, I don't think this is supported.
>
> printf is what the Procedure Call Standard for the ARM Architecture
> calls a "variadic function", meaning it takes a variable number of
> arguments. Section 5.5 of the Standard says:
>
> A variadic function is always marshaled as for the base standard.
>
> Then in Section 7.2 we've got:
>
> For variadic functions, float arguments that match the ellipsis (…)
> are converted to type double.
>
> The upshot of all this is that if you pass a float to printf, you should
> be able to print it using a long long format type like "%llx".

Which, I might add, doesn't really help anything if you want to see what
the bits are in a float.

Tom.

> Tom.
>
>> Chris
>> [Message sent by forum member 'cjplummer' (cjplummer)]
>>
>> http://forums.java.net/jive/thread.jspa?messageID=210064
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
>> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
> For additional commands, e-mail: advanced-help@phoneme.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net
For additional commands, e-mail: advanced-help@phoneme.dev.java.net

cjplummer
Offline
Joined: 2006-10-16
Points: 0

You may have an AAPCS vs. APCS calling convention problem. Add the following to your GNUmakefile if not already there (or remove if it is there):

CVM_DEFINES += -DAAPCS

If you still have problems, try a CVM_DEBUG=true build. Also, please send a build log that includes all the config stuff that is dumped out at the start of the build.

thanks,

Chris