From owner-freebsd-arm@freebsd.org Mon Jan 18 19:37:22 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9417A876B8 for ; Mon, 18 Jan 2016 19:37:22 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-211-156.reflexion.net [208.70.211.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D3DA1D50 for ; Mon, 18 Jan 2016 19:37:21 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 16804 invoked from network); 18 Jan 2016 19:30:40 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 18 Jan 2016 19:30:40 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v7.80.0) with SMTP; Mon, 18 Jan 2016 14:30:38 -0500 (EST) Received: (qmail 10500 invoked from network); 18 Jan 2016 19:30:37 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with SMTP; 18 Jan 2016 19:30:37 -0000 X-No-Relay: not in my network X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 4F0331C43C6; Mon, 18 Jan 2016 11:30:37 -0800 (PST) Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: make buildworld failed with error "relocation truncated to fit: R_ARM_JUMP24 against symbol `_fini'" From: Mark Millard In-Reply-To: <569D2D63.8030301@codeghar.com> Date: Mon, 18 Jan 2016 11:30:40 -0800 Cc: Toby , freebsd-arm Content-Transfer-Encoding: quoted-printable Message-Id: References: <3E1CC674-D534-4C33-8C96-CA9E584931C0@dsl-only.net> <569D2557.3060802@codeghar.com> <374A0F64-E3FC-42F1-AC03-DF8F88269AEB@dsl-only.net> <569D2D63.8030301@codeghar.com> To: fehrist@codeghar.com X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2016 19:37:23 -0000 On 2016-Jan-18, at 10:22 AM, Hamza Sheikh wrote: >=20 >> Hmm. Clearly I can not count: I listed 6 files for arm and one for = mips use. Please check all 6 that are for arm. >=20 >> I listed 5 files and their -mlong-calls related content for arm (plus = one file that has -mlong-calls for mips use). Please check all 5 files = for arm for as they were when you built/build and report on what you = find. The files are: >>=20 >>> STATIC_CXXFLAGS+=3D -mlong-calls >>> /usr/src/lib/libc++/Makefile >>=20 >>> STATIC_CFLAGS+=3D -mlong-calls >>> /usr/src/lib/csu/arm/Makefile >>=20 >>> CFLAGS+=3D -mlong-calls >>> /usr/src/usr.bin/clang/lldb/Makefile >>=20 >>> CFLAGS+=3D -mlong-calls >>> /usr/src/usr.bin/clang/clang/Makefile >>=20 >>=20 >>> STATIC_CXXFLAGS+=3D -mlong-calls >>> /usr/src/lib/clang/clang.lib.mk >>=20 >>> ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} >>> ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} = -o ${.TARGET} >>> ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o = ${.TARGET} >>> ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c = ${.IMPSRC} -o ${.TARGET} >>> /usr/src/share/mk/bsd.lib.mk >>=20 >=20 > $ find /usr/src/ -name .svn -prune -o -name 'Makefile*' -exec grep = mlong-calls {} \; -print > STATIC_CFLAGS+=3D -mlong-calls > /usr/src/lib/csu/arm/Makefile > STATIC_CXXFLAGS+=3D -mlong-calls > /usr/src/lib/libc++/Makefile > CFLAGS+=3D -mlong-calls > /usr/src/usr.bin/clang/clang/Makefile > CFLAGS+=3D -mlong-calls > /usr/src/usr.bin/clang/lldb/Makefile >=20 > $ find /usr/src/ -name .svn -prune -o -name '*.mk' -exec grep = mlong-calls {} \; -print > STATIC_CXXFLAGS+=3D -mlong-calls > /usr/src/lib/clang/clang.lib.mk > CFLAGS+=3D -G0 -fno-pic -mno-abicalls -mlong-calls > /usr/src/sys/conf/kmod.mk >=20 > $ find /usr/src/ -name .svn -prune -o -name '*.mk' -exec grep -E = 'STATIC_C[XL]|mlong-calls' {} \; -print > STATIC_CXXFLAGS+=3D -mlong-calls > /usr/src/lib/clang/clang.lib.mk > ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o = ${.TARGET} > ${CXX} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -c = ${.IMPSRC} -o ${.TARGET} > /usr/src/share/mk/bsd.lib.mk > CFLAGS+=3D -G0 -fno-pic -mno-abicalls -mlong-calls > /usr/src/sys/conf/kmod.mk There is a difference between your list and mine, mine has: >> ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} >> ${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -c ${.IMPSRC} = -o ${.TARGET} in: >> /usr/src/share/mk/bsd.lib.mk but yours does not. Those CC lines with the STATIC_C prefixed symbols go = back years: -r227797 from 2011-Nov-21 so my guess is a copy/paste error = for your note above. I do not know why clang would separate crt1 code from crti code by a = larger distance but not use a code sequence for a long call/jump when = -mlong-calls is present. If it really did that then it sounds like a = defect in clang/llvm 3.7.1 . If you can tolerate tracking the 3.8.0 project ( = base/projects/clang380-import ) until 3.8.0 is moved into 11.0-CURRENT = you could find out that way if clang 3.8.0 behaves the same in your = context. So far I've not come up with anything else to try. --=20 Hamza Sheikh Twitter: @aikchar