Path: csiph.com!3.us.feeder.erje.net!feeder.erje.net!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Newsgroups: gnu.utils.bug Subject: ld: Neither "FILL(x);" nor "{ }>Memory = x" allow symbols Date: Mon, 23 Dec 2019 23:28:49 +1100 Lines: 82 Approved: bug-gnu-utils@gnu.org Message-ID: References: <012401d5b98c$87d99000$978cb000$@BigPond.com> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1577107083 31053 209.51.188.17 (23 Dec 2019 13:18:03 GMT) X-Complaints-To: action@cs.stanford.edu To: Envelope-to: Bug-GNU-Utils@GNU.org X-RG-Spam: Unknown X-RazorGate-Vade: gggruggvucftvghtrhhoucdtuddrgedufedrvddvtddggedtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuuffpveftpgfvgffnuffvtfetpdfqfgfvnecuuegrihhlohhuthemucegtddtnecunecujfgurhephffvufffkfggtgfothesrgdtghepvddtvdenucfhrhhomhepoeflohhhnhdrtegurhhirggrnhesuehighfrohhnugdrtghomheqnecukfhppedurdduheejrdegrddvtdelnecurfgrrhgrmhephhgvlhhopefuthhuughiohdpihhnvghtpedurdduheejrdegrddvtdelpdhmrghilhhfrhhomhepoehjohhhnhdrrggurhhirggrnhessghighhpohhnugdrtghomheqpdhrtghpthhtohepoeeuuhhgqdfipfgfqdgfthhilhhssefipfgfrdhorhhgqeenucevlhhushhtvghrufhiiigvpedt X-RazorGate-Vade-Verdict: clean 0 X-RazorGate-Vade-Classification: clean X-RG-VS-CLASS: clean X-Authentication-Info: Submitted using ID john.adriaan@bigpond.com X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdW5jALcA1PMOfhNSdikBOtOY8G1qw== Content-Language: en-au X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 203.38.21.22 X-Mailman-Approved-At: Mon, 23 Dec 2019 08:17:59 -0500 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: bug-gnu-utils@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU utilities List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <012401d5b98c$87d99000$978cb000$@BigPond.com> Xref: csiph.com gnu.utils.bug:2270 REF: GNU ld (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 2.32.0.20190703 HOST: Microsoft Windows [Version 10.0.18362.535] Given the following definitions in a linker script: _Page = DEFINED(_Spansion) ? 0x200 : 0x0100; /* Spansion has larger pages */ _Type = DEFINED(_Spansion) ? 0x53 : 0x46; /* 'S'pansion or 'F'lash */ _Rsvd = DEFINED(_DEBUG) ? 0x52737664 : ~0; /* Literally "Rsvd" */ Then the following lines all work: . = ALIGN(_Page); BYTE(_Type); FILL(0x52737664); FILL(0x52<<24 | 0x73<<16 | 0x76<<8 | 0x64<<0); /* Complicated expression! */ .section : { } >rom = 0x52737664 However, either of the following lines crash the linker: FILL(_Rsvd); .section : { } >rom = _Rsvd Even if I simplify the definition to: _Rsvd = 0x52737664; /* Literally "Rsvd" */ I still get the same errors. These give (depending on which manufacturer's Eclipse IDE I use) either: collect2.exe: error: ld returned 5 exit status (regardless of whether I select "-Wl,--verbose" or not) or arm-none-eabi/bin/ld.exe: bfd_link_hash_lookup failed: no error (It's the "no error" part that I like the most!) It seems like the Fill algorithm doesn't like to use symbols. Thanks for any feedback on this, John Adriaan