From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by sourceware.org (Postfix) with ESMTPS id CC7F53858401 for ; Tue, 11 Oct 2022 17:08:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CC7F53858401 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 397C36114E; Tue, 11 Oct 2022 17:07:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79F93C433D6; Tue, 11 Oct 2022 17:07:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1665508078; bh=SJwWbesaNmV1+GxaKa8A4/lt4vttVXpCk4x2FiKoGCg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=kd/h/SmQ7U27VONXttcAnVTaHmaGSqrgR0DWAKBLMrZ4YB675F/6JrJdn2jF6Nrt3 BDdgJ7eYugg0mzsSQXTJuNY2UsTOuMdBvLf0+1MqRZt0oRCeTBfMdMMVaFjZWU4JII TY4Gu2b2sA44gQw5Y//LEq9N2Ye+g+mF/zPRsxjMa8a/cE9/VdRlRiti2F5OhEIFTy zxKzaRsZrWojpyeFs3Jo9fYA48N1Cjt+utdWhoq2B+19uPcs1VxQMg7VNIxVfTOEaJ 7KCGTHfYbS6nx0r43mHsIiLy3Vwqf1lZGhv6iCVA6XzWM+BFG9j8A34xdW17afonqi G39S/s2ngvLnQ== Received: by pali.im (Postfix) id BB6D47B3; Tue, 11 Oct 2022 19:07:55 +0200 (CEST) Date: Tue, 11 Oct 2022 19:07:55 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Nick Clifton Cc: Richard Biener , gcc@gcc.gnu.org, binutils@sourceware.org Subject: Re: Error: attempt to get value of unresolved symbol `L0' Message-ID: <20221011170755.zkugr3ag27jghpcm@pali> References: <20221010171809.oqecrrdguv5hcta2@pali> <20221011074309.ojqoxwsosm6v7ozc@pali> <20221011105714.r5x7x4x5xsi7o7pz@pali> <5d886f55-0efa-0d0c-8edc-26cfe5cd4d09@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5d886f55-0efa-0d0c-8edc-26cfe5cd4d09@redhat.com> User-Agent: NeoMutt/20180716 X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Tuesday 11 October 2022 15:33:59 Nick Clifton wrote: > Hi Pali, Hi Richard, > > > Having file name and line number would be also useful as it took me > > some time to figure out where is the issue... > > Right - I have tried a little harder and come up with a follow up patch. > This is now checked in, and given an input file that looks like this: > > % cat t.s > kernoff: > .set KERNEL_OFFSET, 0x40000 > .set CONFIG_SYS_TEXT_BASE, 0x80008000 > .word 44 > .word KERNEL_OFFSET - (. - CONFIG_SYS_TEXT_BASE) > .word - (. - 0x80008000) > .word 0x40000 - (. - 0x0) > > The assembler now produces the following output: > > t.s: Assembler messages: > t.s:5: Error: expression is too complex to be resolved or converted into relocations > t.s:6: Error: expression is too complex to be resolved or converted into relocations > > Note - some targets do support applying multiple relocations to a > single address, but even then there can be expressions that cannot > be resolved this way. That is why the error message refers to > "converted into relocations" rather than just "converted into a > relocation". > > Cheers > Nick > Nice! Anyway, what should I use in code? .word . - CONFIG_SYS_TEXT_BASE - KERNEL_OFFSET or .word CONFIG_SYS_TEXT_BASE + KERNEL_OFFSET - . And can you guarantee that one of those form would work also in future gcc/binutils versions, and it is not something version specific or undocumented?