All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yoshinori K. Okuji" <okuji@enbug.org>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: GRUB2 Build on Mac OS X
Date: Thu, 8 Dec 2005 19:25:42 +0100	[thread overview]
Message-ID: <200512081925.42374.okuji@enbug.org> (raw)
In-Reply-To: <1134059234.15370.23.camel@localhost.localdomain>

On Thursday 08 December 2005 05:27 pm, Peter Jones wrote:
> That being said, what's the reasoning for using this uncommon and
> lossely defined extension in the first place?

Because it is documented very well in the manual and it makes our development 
easier. If you don't use nested functions, you must pass many arguments 
explicitly. This just bloats the code, and makes code less readable, since 
you often have to pass arguments which are not necessary at the first glance. 
I can say that this is a deficiency in ANSI C.

As you may know, most languages support nested definitions. GCC fixes such a 
bad design. So why not using it?

> For that matter, is there a specific intent to use GNU C rather than
> ANSI/ISO C?  I haven't extensively read the list archives, so feel free
> to point me at them if this has been widely discussed.

Anyway, we need a lot of code specific to GCC besides nested functions. For 
example, how do you define that a structure must be packed? Some extensions 
are necessary for low level programming, because the C standard is too poor.

> There's a major point of contention being ignored here.  OS vendors
> don't want to ship executables which require an executable stack.  Full
> stop.

I'd like to hear your opinion as a distributor about the trend of prohibiting 
executable stacks. For me, it sounds just like a paranoid. I can understand 
it when a program takes input from a different user. However, in the context 
of GRUB, what is the benefit? I haven't heard any good reason behind it so 
far.

Okuji




  reply	other threads:[~2005-12-08 18:26 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-08  6:10 GRUB2 Build on Mac OS X Andre Smith
2005-12-08 12:26 ` Marco Gerards
2005-12-08 16:27   ` Peter Jones
2005-12-08 18:25     ` Yoshinori K. Okuji [this message]
2005-12-08 23:40       ` Peter Jones
2005-12-10  0:18         ` Yoshinori K. Okuji
2005-12-10 14:32           ` Marco Gerards
2005-12-08 18:45     ` Marco Gerards
2005-12-08 19:10     ` Andrei Warkentin
2005-12-08 20:00       ` Marco Gerards
2005-12-08 20:10         ` Andrei Warkentin
2005-12-08 20:14           ` Marco Gerards
2005-12-08 20:51             ` Andrei Warkentin
2005-12-09 22:49     ` Hollis Blanchard
2005-12-09 23:07       ` Peter Jones
2005-12-09 23:32         ` Marco Gerards
2005-12-10  0:23           ` Yoshinori K. Okuji
2005-12-10 18:52             ` Peter Jones
2005-12-09 23:26       ` Marco Gerards
2005-12-08 15:09 ` Andrei Warkentin
  -- strict thread matches above, loose matches on Subject: below --
2005-12-08 22:01 andre-smith
2005-12-08 23:06 ` Andrei Warkentin
2005-12-09 21:34   ` Marco Gerards
2005-12-08 23:18 ` Andrei Warkentin
2005-12-09 21:40 ` 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=200512081925.42374.okuji@enbug.org \
    --to=okuji@enbug.org \
    --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.