With recent version of GRUB, I have some problem when doing some ls or
tab-completion commands.It says unaligned pointer or out of range pointer.
I spent some time on it and I think I found the problem.
In the file config.h, the NESTED_FUNC_ATTR has no value but it should be
set to :
#define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (2)))
By comparing a version that work on my pc and the one that doesn't work,
I found that that in aclocal.m4, the line return nestedfunc(0,0,0) was
now ! nestedfunc(0,0,0).
As a result, the macro NESTED_FUNC_ATTR is not defined anymore and a
pointer that was pasted as a third argument of a nested function was
corrupted. This appends in grub_ext2_dir() in the nested iterate()
function which does a grub_free(node). The pointer node is the one that
was corrupted.
Maybe this is also the same problem that the one that has been reported
recently for the 1.90 release although the description is quite different.
--
Vincent Guffens
PhD Student UCL/CESAME
tel: +32 10 47 80 30
Value your freedom, or you will lose it, teaches history.
"Don't bother us with politics," respond those who don't want to learn.
-- Richard M. Stallman
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel