1*4882a593SmuzhiyunFrom 917133acc701dbc4636165d3b08d15dc5829a06f Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Hongxu Jia <hongxu.jia@windriver.com> 3*4882a593SmuzhiyunDate: Wed, 17 Aug 2016 04:06:34 -0400 4*4882a593SmuzhiyunSubject: [PATCH] grub module explicitly keeps symbole .module_license 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunWhile using oe-core toolchain to strip grub module 'all_video.mod', 7*4882a593Smuzhiyunit stripped symbol table: 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun--------------- 10*4882a593Smuzhiyunroot@localhost:~# objdump -t all_video.mod 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunall_video.mod: file format elf64-x86-64 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunSYMBOL TABLE: 15*4882a593Smuzhiyunno symbols 16*4882a593Smuzhiyun-------------- 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunIt caused grub to load module all_video failed. 19*4882a593Smuzhiyun-------------- 20*4882a593Smuzhiyungrub> insmod all_video 21*4882a593Smuzhiyunerror: no symbol table. 22*4882a593Smuzhiyun-------------- 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunTweak strip option to keep symbol .module_license could workaround 25*4882a593Smuzhiyunthe issue. 26*4882a593Smuzhiyun-------------- 27*4882a593Smuzhiyunroot@localhost:~# objdump -t all_video.mod 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunall_video.mod: file format elf64-x86-64 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunSYMBOL TABLE: 32*4882a593Smuzhiyun0000000000000000 l d .text 0000000000000000 .text 33*4882a593Smuzhiyun0000000000000000 l d .data 0000000000000000 .data 34*4882a593Smuzhiyun0000000000000000 l d .module_license 0000000000000000 .module_license 35*4882a593Smuzhiyun0000000000000000 l d .bss 0000000000000000 .bss 36*4882a593Smuzhiyun0000000000000000 l d .moddeps 0000000000000000 .moddeps 37*4882a593Smuzhiyun0000000000000000 l d .modname 0000000000000000 .modname 38*4882a593Smuzhiyun-------------- 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunUpstream-Status: Pending 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunSigned-off-by: Hongxu Jia <hongxu.jia@windriver.com> 43*4882a593Smuzhiyun--- 44*4882a593Smuzhiyun grub-core/genmod.sh.in | 2 +- 45*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-) 46*4882a593Smuzhiyun 47*4882a593Smuzhiyundiff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in 48*4882a593Smuzhiyunindex 1250589..dd14308 100644 49*4882a593Smuzhiyun--- a/grub-core/genmod.sh.in 50*4882a593Smuzhiyun+++ b/grub-core/genmod.sh.in 51*4882a593Smuzhiyun@@ -56,7 +56,7 @@ if test x@TARGET_APPLE_LINKER@ != x1; then 52*4882a593Smuzhiyun if test x@platform@ != xemu; then 53*4882a593Smuzhiyun @TARGET_STRIP@ --strip-unneeded \ 54*4882a593Smuzhiyun -K grub_mod_init -K grub_mod_fini \ 55*4882a593Smuzhiyun- -K _grub_mod_init -K _grub_mod_fini \ 56*4882a593Smuzhiyun+ -K _grub_mod_init -K _grub_mod_fini -K .module_license \ 57*4882a593Smuzhiyun -R .note.gnu.gold-version -R .note.GNU-stack \ 58*4882a593Smuzhiyun -R .gnu.build.attributes \ 59*4882a593Smuzhiyun -R .rel.gnu.build.attributes \ 60