Index: genmk.rb =================================================================== RCS file: /sources/grub/grub2/genmk.rb,v retrieving revision 1.20 diff -u -r1.20 genmk.rb --- genmk.rb 21 Apr 2006 00:47:10 -0000 1.20 +++ genmk.rb 14 May 2006 14:07:59 -0000 @@ -108,10 +108,11 @@ mod_obj = mod_src.suffix('o') defsym = 'def-' + @name.suffix('lst') undsym = 'und-' + @name.suffix('lst') + exec = @name.suffix('elf') mod_name = File.basename(@name, '.mod') symbolic_name = mod_name.sub(/\.[^\.]*$/, '') - "CLEANFILES += #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym} + "CLEANFILES += #{@name} #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym} #{exec} ifneq ($(#{prefix}_EXPORTS),no) CLEANFILES += #{defsym} DEFSYMFILES += #{defsym} @@ -119,10 +120,13 @@ MOSTLYCLEANFILES += #{deps_str} UNDSYMFILES += #{undsym} -#{@name}: #{pre_obj} #{mod_obj} +#{@name}: #{exec} + -rm -f $@ + $(OBJCOPY) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $^ $@ + +#{exec}: #{pre_obj} #{mod_obj} -rm -f $@ $(CC) $(#{prefix}_LDFLAGS) $(LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ #{pre_obj}: #{objs_str} -rm -f $@ Index: kern/main.c =================================================================== RCS file: /sources/grub/grub2/kern/main.c,v retrieving revision 1.12 diff -u -r1.12 main.c --- kern/main.c 25 Apr 2006 20:08:31 -0000 1.12 +++ kern/main.c 14 May 2006 14:07:59 -0000 @@ -106,6 +106,9 @@ grub_errno = GRUB_ERR_NONE; } +void +main (void) __attribute__ ((alias("grub_main"))); + /* The main routine. */ void grub_main (void)