From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1J7SSU-00019P-9d for mharc-grub-devel@gnu.org; Wed, 26 Dec 2007 04:21:50 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J7SSR-00017r-Lt for grub-devel@gnu.org; Wed, 26 Dec 2007 04:21:47 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J7SSP-00014R-6B for grub-devel@gnu.org; Wed, 26 Dec 2007 04:21:46 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J7SSO-00014C-ED for grub-devel@gnu.org; Wed, 26 Dec 2007 04:21:44 -0500 Received: from aybabtu.com ([69.60.117.155]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1J7SSN-0004M6-QA for grub-devel@gnu.org; Wed, 26 Dec 2007 04:21:43 -0500 Received: from [192.168.10.6] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1J7SSL-0000Ky-3p; Wed, 26 Dec 2007 10:21:42 +0100 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1J7SRw-0006s8-G1; Wed, 26 Dec 2007 10:21:16 +0100 Date: Wed, 26 Dec 2007 10:21:16 +0100 From: Robert Millan To: Philipp Kern Message-ID: <20071226092116.GA26341@thorin> References: <20071222194111.GA8254@durotan.0x539.de> <20071225093241.GA12060@thorin> <200712251129.58555.okuji@enbug.org> <20071225105247.GB21880@thorin> <20071225120612.GA16779@durotan.0x539.de> <20071225192150.GA6546@thorin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071225192150.GA6546@thorin> Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Cc: grub-devel@gnu.org, "Yoshinori K. Okuji" , 457491@bugs.debian.org Subject: Re: Fwd: grub2: FTBFS on powerpc (__floatundisf in ls is not defined) X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Dec 2007 09:21:47 -0000 On Tue, Dec 25, 2007 at 08:21:50PM +0100, Robert Millan wrote: > On Tue, Dec 25, 2007 at 01:06:12PM +0100, Philipp Kern wrote: > > On Tue, Dec 25, 2007 at 11:52:47AM +0100, Robert Millan wrote: > > > Philipp, I'm attaching a patch for the __floatundisf. There might be others, > > > though. Please, could you check and report ? > > > > With the patch applied, on Debian Lenny: > > > > cc -o kernel.elf kernel_elf-kern_powerpc_ieee1275_crt0.o kernel_elf-kern_powerpc_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o kernel_elf-kern_fs.o kernel_elf-kern_misc.o kernel_elf-kern_mm.o kernel_elf-kern_loader.o kernel_elf-kern_rescue.o kernel_elf-kern_term.o kernel_elf-kern_powerpc_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o kernel_elf-kern_powerpc_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o kernel_elf-kern_powerpc_dl.o kernel_elf-kernel_elf_symlist.o kernel_elf-kern_powerpc_cache.o -nostdlib -static-libgcc -lgcc -Wl,-N,-S,-Ttext,0x10000,-Bstatic > > kernel_elf-kernel_elf_symlist.o:(.data+0x584): undefined reference to `__make_dp' > > kernel_elf-kernel_elf_symlist.o:(.data+0x58c): undefined reference to `__make_fp' > > kernel_elf-kernel_elf_symlist.o:(.data+0x5bc): undefined reference to `__pack_d' > > kernel_elf-kernel_elf_symlist.o:(.data+0x5c4): undefined reference to `__pack_f' > > kernel_elf-kernel_elf_symlist.o:(.data+0x5dc): undefined reference to `__thenan_df' > > kernel_elf-kernel_elf_symlist.o:(.data+0x5e4): undefined reference to `__thenan_sf' > > kernel_elf-kernel_elf_symlist.o:(.data+0x5fc): undefined reference to `__unpack_d' > > kernel_elf-kernel_elf_symlist.o:(.data+0x604): undefined reference to `__unpack_f' Those were present in older versions of gcc, but not anymore. The following patch fixes the problem (while also breaking backwards compatibility): diff -ur grub2-1.95+20071101/include/grub/powerpc/libgcc.h grub2-1.95+20071101.new/include/grub/powerpc/libgcc.h --- grub2-1.95+20071101/include/grub/powerpc/libgcc.h 2007-07-21 23:32:24.000000000 +0000 +++ grub2-1.95+20071101.new/include/grub/powerpc/libgcc.h 2007-12-26 08:42:49.000000000 +0000 @@ -26,19 +26,12 @@ void EXPORT_FUNC (__floatsidf) (void); void EXPORT_FUNC (__floatsisf) (void); void EXPORT_FUNC (__lshrdi3) (void); -void EXPORT_FUNC (__make_dp) (void); -void EXPORT_FUNC (__make_fp) (void); void EXPORT_FUNC (__muldf3) (void); void EXPORT_FUNC (__mulsf3) (void); -void EXPORT_FUNC (__pack_d) (void); -void EXPORT_FUNC (__pack_f) (void); void EXPORT_FUNC (__subdf3) (void); void EXPORT_FUNC (__subsf3) (void); -void EXPORT_FUNC (__thenan_df) (void); -void EXPORT_FUNC (__thenan_sf) (void); void EXPORT_FUNC (__trampoline_setup) (void); void EXPORT_FUNC (__truncdfsf2) (void); -void EXPORT_FUNC (__unpack_d) (void); -void EXPORT_FUNC (__unpack_f) (void); void EXPORT_FUNC (__floatdisf) (void); +void EXPORT_FUNC (__floatundisf) (void); void EXPORT_FUNC (__cmpdi2) (void); Is there any way we can preserve compatibility with gcc 3.x ? Perhaps obtain a list of symbols dynamicaly, but maybe this would bloat the kernel too much. -- Robert Millan I know my rights; I want my phone call! What use is a phone call, if you are unable to speak? (as seen on /.)