From: walt <wa1ter@myrealbox.com>
To: grub-devel@gnu.org
Subject: Compiling grub2 on *BSD?
Date: Sat, 26 Jan 2008 09:08:59 -0800 [thread overview]
Message-ID: <fnfpeb$pdh$1@ger.gmane.org> (raw)
As a test of my tolerance for frustration I'm building grub2 on FreeBSD,
DragonFlyBSD, NetBSD, and OpenBSD, and (naturally) each build fails in a
different way, but all the problems seem related to mutations of gcc.
NetBSD:
The problem is the -nostdlib flag when linking kernel.exec. Adding -lc
and -lgcc solves part of the problem, but then libc wants crt0.o:
# nm --defined-only /usr/lib/crt0.o
00000018 T ___start
00000000 D __progname <---- Needed by libc
00000000 B __ps_strings
00000000 T __start
000000f0 T _rtld_setup
00000000 T _start <----- Conflicts with i386/pc/startup.S
00000004 C environ <----- Needed by libc
OpenBSD:
OBSD is off on another planet, as usual. They use a non-standard
definition of memcpy in <string.h>:
void *memcpy(void *, const void *, size_t)
__attribute__ ((__bounded__(__buffer__,1,3)))
__attribute__ ((__bounded__(__buffer__,2,3)));
FreeBSD:
lnxboot.S: Assembler messages:
lnxboot.S:49: Error: `0x200+data_start - data_next(%ebx,%eax)' is not a valid 16 bit base/index expression
lnxboot.S:264: Error: `(%esi,%eax)' is not a valid 16 bit base/index expression
lnxboot.S:265: Error: `(%edi,%eax)' is not a valid 16 bit base/index expression
DragonFlyBSD:
This was easy. All I did was add -lc and -lgcc to kernel_img_LDFLAGS in
i386-pc.mk. I have no idea why the same trick doesn't work for NetBSD.
Anyone have any ideas for elegant ways to fix these four problems?
Thanks!
next reply other threads:[~2008-01-26 17:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-26 17:08 walt [this message]
2008-01-26 17:21 ` Compiling grub2 on *BSD? Robert Millan
2008-01-26 18:15 ` Bean
2008-01-28 10:14 ` Bean
2008-01-28 10:47 ` Robert Millan
2008-01-28 11:15 ` Bean
2008-01-28 12:56 ` Marco Gerards
2008-01-29 11:00 ` Bean
2008-01-26 20:11 ` walt
2008-01-27 8:56 ` Robert Millan
2008-01-29 5:30 ` jakllsch
2008-01-29 13:47 ` Robert Millan
2008-01-30 0:37 ` jakllsch
2008-01-30 8:56 ` Marco Gerards
2008-01-30 13:23 ` Robert Millan
2008-01-30 13:51 ` walt
2008-01-30 14:00 ` Robert Millan
2008-01-30 16:38 ` walt
2008-01-30 18:40 ` Robert Millan
2008-01-30 19:06 ` walt
2008-01-30 19:14 ` Robert Millan
2008-01-30 21:55 ` jakllsch
2008-01-31 11:03 ` Robert Millan
2008-02-01 21:11 ` walt
2008-02-01 21:38 ` Robert Millan
2008-02-04 15:32 ` Marco Gerards
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='fnfpeb$pdh$1@ger.gmane.org' \
--to=wa1ter@myrealbox.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.