diff --git a/genfslist.sh b/genfslist.sh index b54f0ff..ec48e86 100644 --- a/genfslist.sh +++ b/genfslist.sh @@ -15,6 +15,11 @@ module=$1 +# Ignore kernel.mod. +if test $module = kernel; then + exit +fi + # For now, this emits only a module name, if the module registers a filesystem. if grep -v "^#" | grep '^ *grub_fs_register' >/dev/null 2>&1; then echo $module diff --git a/genpartmaplist.sh b/genpartmaplist.sh index ba65049..fceb0f8 100644 --- a/genpartmaplist.sh +++ b/genpartmaplist.sh @@ -15,6 +15,11 @@ module=$1 +# Ignore kernel.mod. +if test $module = kernel; then + exit +fi + # For now, this emits only a module name, if the module registers a partition map. if grep -v "^#" | grep '^ *grub_partition_map_register' >/dev/null 2>&1; then echo $module diff --git a/normal/x86_64/setjmp.S b/normal/x86_64/setjmp.S index 4c8d4b3..621b09b 100644 --- a/normal/x86_64/setjmp.S +++ b/normal/x86_64/setjmp.S @@ -50,6 +50,11 @@ FUNCTION(grub_setjmp) */ FUNCTION(grub_longjmp) movl %esi, %eax + orl %eax, %eax + jnz 1f + incl %eax +1: + movq (%rdi), %rbx movq 8(%rdi), %rsp movq 16(%rdi), %rbp