All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Millan <rmh@aybabtu.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: Compiling grub2 on *BSD?
Date: Sat, 26 Jan 2008 18:21:20 +0100	[thread overview]
Message-ID: <20080126172120.GA4119@thorin> (raw)
In-Reply-To: <fnfpeb$pdh$1@ger.gmane.org>

On Sat, Jan 26, 2008 at 09:08:59AM -0800, walt wrote:
> 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.

What is the problem initially?

> 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

You don't want -lc, adding that is wrong.

> 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)));

What's the error?

> 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

I recall having seen this before.  Please, can you check the list archives?
I think we solved it for other files, but it might have been respawned in
lnxboot.S.

> 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.

I'm surprised -lc works.  Maybe gcc/ld skips it.  Anyway, you should tell
us the initial error.

Thanks!

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)



  reply	other threads:[~2008-01-26 17:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-26 17:08 Compiling grub2 on *BSD? walt
2008-01-26 17:21 ` Robert Millan [this message]
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=20080126172120.GA4119@thorin \
    --to=rmh@aybabtu.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.