The Mac OS X GCC compiler will not build GRUB2, due static linking at address 0x2000; this error can be confirmed during the configure process. If I could build GRUB2 using the Mac OS X GCC, I would be able to build GRUB2 images from Mac OS X.
The binary I attempted the build using the cross compiler tool chain powerpc-elf, would have executed on PowerPC Linux, but I would not build due to the nested function support being disabled in the Apple GCC. Since the GRUB2 tools built using a Linux GCC compiler will suffice at the moment, I can see why the team is not overly concerned with this issue. If GRUB2 is going to be portable(Mac OS X), then some changes will be needed to accomplish this goal. If stack execution support is disabled in future releases of other operating systems, it will become an issue of nested functions implemented with stack execution, and less of an Apple GCC compiler issue. I do agree that more arguments will be needed on function calls if nested functions are not going to be used, if the list is willing to accept patches to address this issue. As far as the GRUB2 tools, binaries executed on the PowerPC platform only need to be pure ELF. I am not sure if creating Mach-O boot binaries will yield any benefits for bringing up a kernel. If GRUB2 is to be used on the Mac OS X operating system, the tools need to be Mach-O based. Andre > -----Original Message----- > From: Andrei Warkentin [mailto:[EMAIL PROTECTED] > Sent: Thursday, December 8, 2005 08:10 PM > To: 'The development of GRUB 2' > Subject: Re: GRUB2 Build on Mac OS X > > I understand (still had my mind on GRUB 1 :)) - then looks like two > GCC installations will be > required to construct GRUB2 on OS X - one to generate OS X-hosted > GRUB utilities (which will > be Mach-O files), and one to generate ELF files that will be used in > the booting process. > > On Dec 8, 2005, at 2:00 PM, Marco Gerards wrote: > > > Andrei Warkentin <[EMAIL PROTECTED]> writes: > > > > Hi Andrei, > > > >> There is another issue with GRUB2 on OS X which I am not sure has > >> been brought up yet. > >> Right now, AFAIK (but I haven't tested it), GRUB2 (the part that runs > >> from OpenFrimware) can be built > >> with a bootstrap powerpc-elf-targetted GCC hosted on OS X. However, > >> the local GRUB2 binary (one that can run > >> from OS X and perform installation and some such) needs to be > >> compiled with the OS X compiler. Why? OS X doesn't use ELF - > >> it uses Mach-O. If you want to be able to build GRUB2 in OS X with > >> purely the OS X GCC, then the build procedure must take into account > >> the Mach-O > >> output format. AFAIK, new OpenFirmware versions (3.x) can boot Mach-O > >> binaries but I haven't had a chance to experiment with this yet. > > > > You mean the utilities like grub-setup, grub-mkimage, grub-emu, etc? > > They should be able to run on macos, right? Of perhaps I am missing > > your point. > > > > If those utilities can be build in a better way so nothing breaks and > > it will work on macos, I am quite interested in hearing how to solve > > that. > > > > Mach-O binaries for booting is a different subject. We rely on ELF > > files, grub-mkimage even creates ELF files and uses ELF load > > segments. Without it GRUB just won't work, unless grub-mkimage is > > changed intensively. So it seems easier just to use ELFs in any case. > > > > -- > > Marco > > > > > > > > _______________________________________________ > > Grub-devel mailing list > > Grub-devel@gnu.org > > http://lists.gnu.org/mailman/listinfo/grub-devel > > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel