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