From owner-freebsd-embedded@FreeBSD.ORG Wed Oct 8 18:16:24 2008 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FF7B1065686 for ; Wed, 8 Oct 2008 18:16:24 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out3.smtp.messagingengine.com (out3.smtp.messagingengine.com [66.111.4.27]) by mx1.freebsd.org (Postfix) with ESMTP id EA1D48FC17 for ; Wed, 8 Oct 2008 18:16:23 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 6DDAC1780E6 for ; Wed, 8 Oct 2008 14:16:23 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute2.internal (MEProxy); Wed, 08 Oct 2008 14:16:23 -0400 X-Sasl-enc: KkMP8/1HfYLf1IQv94tIJHw+7F9V5O8NsMQN3aAE96Mo 1223489783 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 014DDB114 for ; Wed, 8 Oct 2008 14:16:22 -0400 (EDT) Message-ID: <48ECF8F5.8090805@incunabulum.net> Date: Wed, 08 Oct 2008 19:16:21 +0100 From: Bruce M Simpson User-Agent: Thunderbird 2.0.0.14 (X11/20080514) MIME-Version: 1.0 To: freebsd-embedded@freebsd.org X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Broadcom MIPS kernel bit-rot X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Oct 2008 18:16:24 -0000 It appears that the build for Broadcom MIPS kernels has bit-rotted. I am able to build a kernel with SENTRY5 config, however it will no longer boot on the WGT634U. The root cause appears to be a change in the ld behaviour. For whatever reason, the linker will now produce an ELF kernel which has offsets pointing backwards in the file, even though it didn't before, and "makeoptions LDSCRIPT_NAME" is being used to coax it to use the config which used to work for CFE. CFE, of course, is unable to load ELF kernels via TFTP, unless their program headers appear in the order in which they are actually accessed. This is purely a limitation of how CFE implements TFTP ELF load. Looking in the Perforce history I can't see anything which could obviously have broken this, it is clear however that ld is now behaving very differently. Questions: Has the version of ld/binutils in FreeBSD changed in -CURRENT since the MIPS code was imported to the main tree? That's all I can really think of at the moment, not much I can try here. U-Boot isn't on the Sentry5. cheers BMS