assembler warning when compiling obfuscated bytecode

Godmar Back gback@cs.utah.edu
Sun Nov 28 11:26:00 GMT 1999


When compiling the mpegaudio benchmark that is part of JVM Spec 98,
I'm seeing this warning:

zb.s: Assembler messages:
zb.s:28: Warning: Unterminated string: Newline inserted.

It's caused by this .stabs directive:

.stabs "^G^MWARNING: Decompiling this code may violate your licensing agreement
^Z^L",130,0,0,0

The ^G etc. are actually <Ctrl>G, and there's a newline after "agreement"
which presumably has to be masked somehow, though it's not immediately
clear to me where and how.  I believe some obfuscators replace the
SourceFile attribute with this warning. 


Btw, has anybody tried compiling/running the Spec98 benchmarks yet?
I remember seeing mail about it, but nobody ever reported success
to my knowledge.  It would be nice if we had a recipe somewhere of
how to compile them.

Here's another problem I'm seeing:
spec/benchmarks/_200_check/PepTest.java: In class `spec.benchmarks._200_check.PepTest':
spec/benchmarks/_200_check/PepTest.java: In method `testDiv()':
spec/benchmarks/_200_check/PepTest.java:109: Cannot find file for class spec.harness.Context.
spec/benchmarks/_200_check/PepTest.java:157: Internal compiler error in `convert_regs_1', at reg-stack.c:2556

This seems to have to do with exception handling.  If Cygnus is an
JVMSpec licensee, maybe they can take a look at that.

	- Godmar



More information about the Java mailing list