On Fri, 2005-12-09 at 16:49 -0600, Hollis Blanchard wrote: > On Thursday 08 December 2005 10:27, Peter Jones wrote: > > > > That being said, what's the reasoning for using this uncommon and > > lossely defined extension in the first place? The way GRUB (both 2 and > > Legacy) uses nested functions, it's no better than just having a method > > vector, and certainly not easier to read. > > I do find nested functions very easy to read... > > What do you mean by "method vector"?
Something along the lines of linux's "struct file_operations". > > Would you be amicable to patches which > > change code from using nested functions to a more C-like implementation? > > (I don't mean like the patch in my current GRUB Legacy package; > > something cleaner than that hacky approach.) > > Do you have any specific ideas? I'm very interested, but I honestly don't > know > how it could be done (other than the method you described of creating custom > structs and passing pointers to those). Why other than that? It works very cleanly in a great many programs... > > > Enable the executable stack using: > > > 1) Set some bit in the ELF file so the OS knows we want this > > > (that's what linux does). > > > 2) Enable it using some function. > > > 3) Creating our own stack. > > > > 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. > > Would be alright if we could enable execute permission only on the specific > pages needed (as known by GCC)? GCC provides an ENABLE_EXECUTE_STACK macro, > but it seems that is not currently used on Linux. It is used on the various > BSDs. It would be functional, but again we'd have security concerns. Sure, we're maybe being a little paranoid, but "they" really are out to get us, and being paranoid has worked very well for us so far. -- Peter _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel