From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sascha Hauer Date: Mon, 2 Jul 2007 23:56:49 +0200 Subject: [U-Boot-Users] U-Boot-NG ? In-Reply-To: <1183408646.3393.23.camel@loki> References: <20070630020850.22A711B2CB9@mercury.denx.de> <20070702164755.GC3361@leda.ptxnet.pengutronix.de> <1183402971.3393.2.camel@loki> <20070702192657.GC2533@pengutronix.de> <1183408646.3393.23.camel@loki> Message-ID: <20070702215649.GD2533@pengutronix.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Jul 02, 2007 at 10:37:26PM +0200, Carsten Schlote wrote: > Hi Sascha, > > Am Montag, den 02.07.2007, 21:26 +0200 schrieb Sascha Hauer: > > > I'm too using ld-2.17: > > GNU ld (GNU Binutils for Debian) 2.17.50.20070426 > Here (debian/etch): > GNU ld version 2.17 Debian GNU/Linux > > Maybe one of your patch levels introduced CONSTANT as glue to support > different pagesizes with the same linker script? > > > gcc version is 4.1.2. > Here: > gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) > > > with 'ld --verbose'. Maybe a diff between yours and the one used in > > U-Boot can give some light? > > > ld --verbose > ... > . = ALIGN (0x1000) - ((0x1000 - .) & (0x1000 - 1)); . = > DATA_SEGMENT_ALIGN (0x1000, 0x1000); > ... > > This is the line causing the problem. As you can see, my ld uses > hardwired constants, not CONSTANT(...). > > As CONSTANT() is not documented on the sourceware.org/binutils pages I > presume it's a non-mainstream extension. > > Maybe we can distinguish between ia64 and i386 targets and set defines > appropriately in u-boot.lds.h? Or use only mainstream LD builtins for > our links scripts. I first used a linker script from um-linux, but there were some linux specific things in it, so I switched to the one from ld. On x86-64 the image size is around 2MB, so maybe the one from the kernel was the better choice Regards Sascha -- Pengutronix - Linux Solutions for Science and Industry Entwicklungszentrum Nord http://www.pengutronix.de