>> Little changes in source code, though I had to adapt asm files to >> passing parameters in stack (I compile without -mregparm=3 -mrtd options >> as I didn't want to recompile the whole C library with those passing >> parameters conventions). > > It would be nice to get this to work for the regular modules too. In > that case we do not need two set of modules. Besides that, it should > also work on the PPC, for example. Which is a lot harder.
I tried that a year ago and I failed: There are lots of hooks, and you don't know if passed pointer is pointer to function from module (with -mregparm) or from main binary (w/o -mregparm). The only solution that comes to my mind now is to have all function declaration with -mregparm gcc directives. Then all grub functions will be with -mregparm and all standard library functions without. Other option will be recompiling standard libraries or creating some wrappers for them. But again, we must be careful when manipulating pointers to functions... I was also thinking about throwing the -mregparm stuff away, but other developers here want it. -- Tomas 'Ebi' Ebenlendr http://get.to/ebik _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel