The patch http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00712.html
causes more than 1000 failures: http://gcc.gnu.org/ml/gcc-testresults/2005-04/msg01089.html The problem seems uniuqe to ia64. The good ones: [EMAIL PROTECTED] libjava]$ readelf --wide - sr ./java/util/logging/.libs/natLogger.o | grep ZN4java4util7logging6Logger7getNameEv 0000000000000d17 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000d1f 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 20 0000000000000231 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000000 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000008 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 2 0000000000000020 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 19: 0000000000000000 32 FUNC WEAK DEFAULT 11 _ZN4java4util7logging6Logger7getNameEv [EMAIL PROTECTED] libjava]$ readelf --wide -sr ./java/util/logging/.libs/Logger.o | grep ZN4java4util7logging6Logger7getNameEv 00000000000000e0 000000ef00000081 R_IA64_IPLTLSB 0000000000000df0 _ZN4java4util7logging6Logger7getNameEv + 0 0000000000000640 000000a000000047 R_IA64_FPTR64LSB 0000000000000df0 .L_ZN4java4util7logging6Logger7getNameEv13 + 0 160: 0000000000000df0 32 FUNC LOCAL DEFAULT 1 .L_ZN4java4util7logging6Logger7getNameEv13 239: 0000000000000df0 32 FUNC GLOBAL DEFAULT 1 _ZN4java4util7logging6Logger7getNameEv Even if ld sees natLogger.o first, the definitions in Logger.o will be used. The bad ones are [EMAIL PROTECTED] libjava]$ readelf --wide - sr ./java/util/logging/.libs/natLogger.o | grep ZN4java4util7logging6Logger7getNameEv 0000000000000d17 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000d1f 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 20 0000000000000231 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000000 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000008 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 2 0000000000000020 0000000800000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 19: 0000000000000000 32 FUNC WEAK DEFAULT 11 _ZN4java4util7logging6Logger7getNameEv [EMAIL PROTECTED] libjava]$ readelf --wide -sr ./java/util/logging/.libs/Logger.o | grep ZN4java4util7logging6Logger7getNameEv 0000000000000df6 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000dfe 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 20 00000000000005db 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 00000000000000e0 0000019500000081 R_IA64_IPLTLSB 0000000000000000 _ZN4java4util7logging6Logger7getNameEv + 0 0000000000000640 0000011c00000047 R_IA64_FPTR64LSB 0000000000000000 .L_ZN4java4util7logging6Logger7getNameEv13 + 0 000000000000033a 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 0000000000000342 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 2 00000000000000a0 0000004100000027 R_IA64_DIR64LSB 0000000000000000 .gnu.linkonce.t._ZN4java4util7logging6Logger7getNameEv + 0 284: 0000000000000000 32 FUNC LOCAL DEFAULT 134 .L_ZN4java4util7logging6Logger7getNameEv13 405: 0000000000000000 32 FUNC WEAK DEFAULT 134 _ZN4java4util7logging6Logger7getNameEv The ones in Logger.o will be discarded. The problem may be .L_ZN4java4util7logging6Logger7getNameEv13. Discarding definitions in Logger.o seems to cause problems on ia64. -- Summary: [4.1 Regression]: java compiler generates wrong code on ia64 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org GCC build triplet: ia64-unknown-linux-gnu GCC host triplet: ia64-unknown-linux-gnu GCC target triplet: ia64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21070