From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42003) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WKXqs-0002ML-RR for qemu-devel@nongnu.org; Mon, 03 Mar 2014 13:44:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WKXqm-0000cg-MM for qemu-devel@nongnu.org; Mon, 03 Mar 2014 13:44:34 -0500 Message-ID: <5314CD15.5030404@ilande.co.uk> Date: Mon, 03 Mar 2014 18:42:29 +0000 From: Mark Cave-Ayland MIME-Version: 1.0 References: <53139760.3040106@web.de> <5314C532.90304@ilande.co.uk> <5314CA7F.5040303@web.de> In-Reply-To: <5314CA7F.5040303@web.de> Content-Type: multipart/mixed; boundary="------------090207060001070104050200" Subject: Re: [Qemu-devel] Request for openhackware.git mirror List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-15?Q?Andreas_F=E4rber?= Cc: Peter Maydell , Stefan Hajnoczi , Alexander Graf , qemu-devel , qemu-ppc , Anthony Liguori , =?ISO-8859-15?Q?Herv=E9_Pouss?= =?ISO-8859-15?Q?ineau?= This is a multi-part message in MIME format. --------------090207060001070104050200 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit On 03/03/14 18:31, Andreas Färber wrote: >> Am I missing something from the build in order for the final link to >> complete correctly? > > Hm, repository looks okay, and I didn't run into this yet. Possibly you > are using different binutils? > > Presumably you did try make clean CROSS_COMPILE=... :) > > I chose not to apply one hunk from Rene Rebe since not needed here. > Maybe the above .rodata.str1.4 would end up in .rodata this way? > > Make it link at al. > > - Rene Rebe > > --- OpenHackWare-release-0.4/src/main.ld 2005-03-31 > 09:23:33.000000000 +0200 > +++ OpenHackWare-release-0.4-hacked/src/main.ld 2008-05-06 > 11:23:29.000000000 +0200 > @@ -49,7 +49,7 @@ > _sdata_end = . ; > . = ALIGN(4) ; > _ro_start = . ; > - .rodata : { *(.rodata) }> bios > + .rodata : { *(.rodata*) }> bios > _ro_end = . ; > . = ALIGN(4) ; > _RTAS_start = .; > > Cheers, > Andreas Hi Andreas, That patch definitely helps as it reduces the error to just: powerpc-elf-ld: .objs/main.out section .text.startup will not fit in region start powerpc-elf-ld: section .text [0000000005800400 -> 0000000005812e23] overlaps section .text.startup [0000000005800054 -> 00000000058006d7] powerpc-elf-ld: region start overflowed by 728 bytes So if I then apply the same trick to the .text section (patch attached) then I get a successful link and an output image. The output image does execute under QEMU, although for all of the CD images I have it reports "ERROR: Found no boot partition!". Do you have pointers to any ISOs that can boot from the resulting image? FWIW my cross-compile setup is based upon binutils 2.19. ATB, Mark. --------------090207060001070104050200 Content-Type: text/x-diff; name="ohw-fix-ld.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ohw-fix-ld.patch" diff --git a/Makefile b/Makefile index c0213b2..c4bf5ea 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ #DEBUG=1 -CROSS_COMPILE?=powerpc-linux- +CROSS_COMPILE?=powerpc-elf- CC:= $(CROSS_COMPILE)gcc -m32 LD:= $(CROSS_COMPILE)ld -m elf32ppc OBJCOPY:= $(CROSS_COMPILE)objcopy diff --git a/src/main.ld b/src/main.ld index f689f72..7a4f9aa 100644 --- a/src/main.ld +++ b/src/main.ld @@ -30,7 +30,7 @@ SECTIONS { .start : { *(.start) } > start . = ALIGN(4) ; - .text : { *(.text) } > bios + .text : { *(.text*) } > bios . = ALIGN(4) ; .OpenFirmware : { *(.OpenFirmware) } > bios . = ALIGN(4) ; @@ -49,7 +49,7 @@ SECTIONS _sdata_end = . ; . = ALIGN(4) ; _ro_start = . ; - .rodata : { *(.rodata) } > bios + .rodata : { *(.rodata*) } > bios _ro_end = . ; . = ALIGN(4) ; _RTAS_start = .; --------------090207060001070104050200--