From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7607 invoked by alias); 21 May 2013 07:23:10 -0000 Mailing-List: contact java-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-patches-owner@gcc.gnu.org Received: (qmail 7595 invoked by uid 89); 21 May 2013 07:23:09 -0000 X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,TW_GC,TW_IB,TW_LR autolearn=ham version=3.3.1 Received: from youngberry.canonical.com (HELO youngberry.canonical.com) (91.189.89.112) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 21 May 2013 07:23:08 +0000 Received: from dslb-088-073-115-182.pools.arcor-ip.net ([88.73.115.182] helo=[192.168.42.222]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1UeguY-0007yO-IT for java-patches@gcc.gnu.org; Tue, 21 May 2013 07:23:06 +0000 Message-ID: <519B20D6.5070806@ubuntu.com> Date: Tue, 21 May 2013 07:23:00 -0000 From: Matthias Klose User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130404 Thunderbird/17.0.5 MIME-Version: 1.0 To: GCJ-patches Subject: [patch] include the %I spec when building the object file for the main function Content-Type: multipart/mixed; boundary="------------090905060609070604060707" X-Virus-Found: No X-SW-Source: 2013-q2/txt/msg00046.txt.bz2 This is a multi-part message in MIME format. --------------090905060609070604060707 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Content-length: 1816 I recently did see a libjava build failure with glibc-2.17, of the form: libtool: link: /build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/./gcc/gcj -B/build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libjava/ -B/build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/./gcc/ -B/usr/arm-linux-gnueabi/bin/ -B/usr/arm-linux-gnueabi/lib/ -isystem /usr/arm-linux-gnueabi/include -isystem /usr/arm-linux-gnueabi/sys-include -g -O2 -o .libs/jv-convert --main=gnu.gcj.convert.Convert -shared-libgcc -Wl,--no-merge-exidx-entries -L/build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libjava/.libs -L/build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libjava -L/build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libjava/../libstdc++-v3/src/.libs /build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libjava/../libstdc++-v3/src/.libs/libstdc++.so ./.libs/libgcj.so /build/buildd-gcj-4.8_4.8.0-2-armel-YVuMIc/gcj-4.8-4.8.0/build/arm-linux-gnueabi/libstdc++-v3/src/.libs/libstdc++.so -lm -lpthread -lrt -ldl -lz -Wl,-rpath -Wl,/usr/lib/arm-linux-gnueabi In file included from :0:0: /usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory #include ^ compilation terminated. make[5]: *** [jv-convert] Error 1 The inclusion of stdc-predef.h is new in 4.8, the bits/predefs.h is not found in my case, because this header is on an include path, which is only added when cc1 is passed the -imultiarch option. The solution for me is to add the %I spec, when calling cc1 to build the main function. Ok for the trunk, and for 4.8 after the 4.8.1 release? Matthias --------------090905060609070604060707 Content-Type: text/plain; charset=UTF-8; name="jvspec.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="jvspec.diff" Content-length: 416 * jvspec.c (jvgenmain_spec): Add %I to cc1 call. --- a/src/gcc/java/jvspec.c +++ b/src/gcc/java/jvspec.c @@ -59,7 +59,7 @@ "jvgenmain %{findirect-dispatch} %{D*} %b %m.i |\n\ cc1 %m.i %1 \ %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*}\ - %{g*} %{O*} \ + %{g*} %{O*} %I \ %{v:-version} %{pg:-p} %{p}\ %