gcc-4.1.0-20051126 (rev 107546) bootstraped with `-march=i486 -O2` causes runtime error. i686 library binaries works fine.
$ LD_PRELOAD=./libgcj.so.7.0.0_i686 gij Test $ LD_PRELOAD=/usr/lib/libgcj.so.7.0.0 gij Test Aborted public class Test { public static void main (String args[]) {} } i486 backtrace: Program received signal SIGABRT, Aborted. 0x41526a80 in raise () from /lib/libc.so.6 (gdb) bt #0 0x41526a80 in raise () from /lib/libc.so.6 #1 0x4152804b in abort () from /lib/libc.so.6 #2 0x408385b0 in _Jv_Throw () from /usr/lib/libgcj.so.7 #3 0x4082bf8f in _Jv_ThrowNullPointerException () from /usr/lib/libgcj.so.7 #4 0x00000000 in ?? () #5 0x40b246ca in java::util::logging::Level::parse () from /usr/lib/libgcj.so.7 #6 0x40b2476f in java::util::logging::LogManager::getLevelProperty () from /usr/lib/libgcj.so.7 #7 0x40b24823 in java::util::logging::StreamHandler::StreamHandler () from /usr/lib/libgcj.so.7 #8 0x40b24c87 in java::util::logging::ConsoleHandler::ConsoleHandler () from /usr/lib/libgcj.so.7 #9 0x40861d01 in java::lang::Class::newInstance () from /usr/lib/libgcj.so.7 #10 0x40b25068 in java::util::logging::LogManager::readConfiguration () from /usr/lib/libgcj.so.7 #11 0x40b23e44 in java::util::logging::LogManager::readConfiguration () from /usr/lib/libgcj.so.7 #12 0x40b2453f in java::util::logging::LogManager::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #13 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #14 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #15 0x40b1f7ee in java::util::logging::LogManager::getLogManager () from /usr/lib/libgcj.so.7 #16 0x40b231ca in java::util::logging::Logger::getLogger () from /usr/lib/libgcj.so.7 #17 0x40b23352 in java::util::logging::Logger::getLogger () from /usr/lib/libgcj.so.7 #18 0x40b2337e in java::util::logging::Logger::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #19 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #20 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #21 0x40b2333e in java::util::logging::Logger::getLogger () from /usr/lib/libgcj.so.7 #22 0x40875a21 in gnu::classpath::debug::SystemLogger::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #23 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #24 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #25 0x409463ae in gnu::javax::crypto::RSACipherImpl::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #26 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #27 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #28 0x4092dd5d in gnu::java::security::provider::Gnu$1::run () from /usr/lib/libgcj.so.7 #29 0x40abbf66 in java::security::AccessController::doPrivileged () from /usr/lib/libgcj.so.7 #30 0x4092d336 in gnu::java::security::provider::Gnu::Gnu () from /usr/lib/libgcj.so.7 #31 0x40861d01 in java::lang::Class::newInstance () from /usr/lib/libgcj.so.7 #32 0x40abd846 in java::security::Security::loadProviders () from /usr/lib/libgcj.so.7 #33 0x40abda31 in java::security::Security::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #34 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #35 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #36 0x40abc800 in java::security::Security::getProviders () from /usr/lib/libgcj.so.7 #37 0x40ac07ba in java::security::MessageDigest::getInstance () from /usr/lib/libgcj.so.7 #38 0x40a7a54a in java::lang::VMCompiler::__U3c_clinit__U3e_ () from /usr/lib/libgcj.so.7 #39 0x40861abf in java::lang::Class::initializeClass () from /usr/lib/libgcj.so.7 #40 0x40862137 in _Jv_InitClass () from /usr/lib/libgcj.so.7 #41 0x40a7a981 in java::lang::VMCompiler::compileClass () from /usr/lib/libgcj.so.7 #42 0x40869417 in java::lang::VMClassLoader::defineClass () from /usr/lib/libgcj.so.7 #43 0x40a7930c in java::lang::ClassLoader::defineClass () from /usr/lib/libgcj.so.7 #44 0x40abe0ff in java::security::SecureClassLoader::defineClass () from /usr/lib/libgcj.so.7 #45 0x40a96626 in java::net::URLClassLoader::findClass () from /usr/lib/libgcj.so.7 #46 0x40a76fba in java::lang::ClassLoader::loadClass () from /usr/lib/libgcj.so.7 #47 0x40a6207f in java::lang::ClassLoader::loadClass () from /usr/lib/libgcj.so.7 #48 0x408626e1 in _Jv_FindClass () from /usr/lib/libgcj.so.7 #49 0x40861e7e in java::lang::Class::forName () from /usr/lib/libgcj.so.7 #50 0x4089b0d0 in gnu::java::lang::MainThread::run () from /usr/lib/libgcj.so.7 #51 0x40869166 in _Jv_ThreadRun () from /usr/lib/libgcj.so.7 #52 0x4082d2b0 in _Jv_RunMain () from /usr/lib/libgcj.so.7 #53 0x4001ac21 in main () from /usr/lib/libgij.so.7 #54 0x4151403a in __libc_start_main () from /lib/libc.so.6 #55 0x08048461 in ?? () -- Summary: libgcj misscompilation? Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: i486-pld-linux GCC host triplet: i486-pld-linux GCC target triplet: i486-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25121