* include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
((unused))' to `__attribute__ ((used))'.
(GRUB_MOD_FINI): Likewise.
* kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
* genmk.rb (PModule): Assign space to common symbols when linking
modules.
+2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
+ ((unused))' to `__attribute__ ((used))'.
+ (GRUB_MOD_FINI): Likewise.
+ * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
+ * genmk.rb (PModule): Assign space to common symbols when linking
+ modules.
+
2005-01-20 Marco Gerards <metgerards@student.han.nl>
* include/grub/mm.h (grub_mm_init_region): Change the type of the
#{@name}: #{pre_obj} #{mod_obj}
-rm -f $@
- $(LD) -r -o $@ $^
+ $(LD) -r -d -o $@ $^
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@
#{pre_obj}: #{objs_str}
-rm -f $@
- $(LD) -r -o $@ $^
+ $(LD) -r -d -o $@ $^
#{mod_obj}: #{mod_src}
$(CC) $(CPPFLAGS) $(CFLAGS) $(#{prefix}_CFLAGS) -c -o $@ $<
#include <grub/types.h>
#define GRUB_MOD_INIT \
-static void grub_mod_init (grub_dl_t mod) __attribute__ ((unused)); \
+static void grub_mod_init (grub_dl_t mod) __attribute__ ((used)); \
static void \
grub_mod_init (grub_dl_t mod)
#define GRUB_MOD_FINI \
-static void grub_mod_fini (void) __attribute__ ((unused)); \
+static void grub_mod_fini (void) __attribute__ ((used)); \
static void \
grub_mod_fini (void)
goto failed;
mod = grub_dl_load_core (core, size);
+ if (! mod)
+ goto failed;
+
mod->ref_count = 0;
failed: