grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
@ 2014-01-18 16:27 Andrey Borzenkov
  2014-01-18 16:55 ` Vladimir 'φ-coder/phcoder' Serbinenko
  0 siblings, 1 reply; 6+ messages in thread
From: Andrey Borzenkov @ 2014-01-18 16:27 UTC (permalink / raw)
  To: grub-devel

MinGW native nm does not support ELF binaries. While on it, pass detected
nm arguments instead of hardcoding them.

---
 grub-core/Makefile.am         | 6 +++---
 grub-core/genemuinit.sh       | 9 +++++----
 grub-core/genemuinitheader.sh | 9 +++++----
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 13b7979..704ae90 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -292,12 +292,12 @@ grub_emu-grub_emu_init.$(OBJEXT):grub_emu_init.h
 kern/emu/grub_emu_dyn-main.$(OBJEXT):grub_emu_init.h
 grub_emu_dyn-grub_emu_init.$(OBJEXT):grub_emu_init.h
 
-grub_emu_init.h: genemuinitheader.sh $(MOD_FILES)
-	rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@
+grub_emu_init.h: genemuinitheader.sh $(MODULE_FILES)
+	rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) $(TARGET_NMFLAGS_MINUS_P) $(TARGET_NMFLAGS_DEFINED_ONLY) > $@
 CLEANFILES += grub_emu_init.h
 
 grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MOD_FILES)
-	rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@
+	rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) $(TARGET_NMFLAGS_MINUS_P) $(TARGET_NMFLAGS_DEFINED_ONLY) > $@
 CLEANFILES += grub_emu_init.c
 endif
 
diff --git a/grub-core/genemuinit.sh b/grub-core/genemuinit.sh
index 45c15ec..58fb604 100644
--- a/grub-core/genemuinit.sh
+++ b/grub-core/genemuinit.sh
@@ -13,6 +13,7 @@
 
 nm="$1"
 shift
+nmargs="$*"
 
 cat <<EOF
 /* This file is automatically generated by geninit.sh. DO NOT EDIT! */
@@ -46,8 +47,8 @@ EOF
 
 read mods
 for line in $mods; do
-  if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
-      echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
+  if ${nm} ${nmargs} -p ${line} | grep grub_mod_init > /dev/null; then
+      echo "grub_${line%%.*}_init ();"
   fi
 done
 
@@ -62,8 +63,8 @@ grub_fini_all (void)
 EOF
 
 for line in $mods; do
-  if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
-      echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
+  if ${nm} ${nmargs} -p ${line} | grep grub_mod_fini > /dev/null; then
+      echo "grub_${line%%.*}_fini ();"
   fi
 done
 
diff --git a/grub-core/genemuinitheader.sh b/grub-core/genemuinitheader.sh
index 6b83f59..8631157 100644
--- a/grub-core/genemuinitheader.sh
+++ b/grub-core/genemuinitheader.sh
@@ -13,6 +13,7 @@
 
 nm="$1"
 shift
+nmargs="$*"
 
 cat <<EOF
 /* This file is automatically generated by gensymlist.sh. DO NOT EDIT! */
@@ -43,10 +44,10 @@ EOF
 
 read mods
 for line in $mods; do
-  if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
-      echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
+  if ${nm} ${nmargs} -p ${line} | grep grub_mod_init > /dev/null; then
+      echo "void grub_${line%%.*}_init (void);"
   fi
-  if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
-      echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
+  if ${nm} ${nmargs} -p ${line} | grep grub_mod_fini > /dev/null; then
+      echo "void grub_${line%%.*}_fini (void);"
   fi
 done
-- 
tg: (5ef569d..) u/mingw/use_MODULE_FILES_for_genemu (depends on: master)


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
  2014-01-18 16:27 [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES Andrey Borzenkov
@ 2014-01-18 16:55 ` Vladimir 'φ-coder/phcoder' Serbinenko
  2014-01-18 17:12   ` Andrey Borzenkov
  0 siblings, 1 reply; 6+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2014-01-18 16:55 UTC (permalink / raw)
  To: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 302 bytes --]

On 18.01.2014 17:27, Andrey Borzenkov wrote:
>  While on it, pass detected
> nm arguments instead of hardcoding them.
please make this part a separate patch. This would indicate that you
support non-portable nm output which in this branch isn't the case. Why
do you need it in the first place?


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 274 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
  2014-01-18 16:55 ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2014-01-18 17:12   ` Andrey Borzenkov
  2014-01-18 18:08     ` Vladimir 'φ-coder/phcoder' Serbinenko
  0 siblings, 1 reply; 6+ messages in thread
From: Andrey Borzenkov @ 2014-01-18 17:12 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

В Sat, 18 Jan 2014 17:55:38 +0100
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:

> On 18.01.2014 17:27, Andrey Borzenkov wrote:
> >  While on it, pass detected
> > nm arguments instead of hardcoding them.
> please make this part a separate patch.

is it OK to commit without this part?

> This would indicate that you
> support non-portable nm output which in this branch isn't the case. Why
> do you need it in the first place?
> 

I do not need it for MinGW case; but it just looks incorrect in general
case - first we check nm arguments and then ignore it. I agree that
mixing two patches was wrong on my side.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
  2014-01-18 17:12   ` Andrey Borzenkov
@ 2014-01-18 18:08     ` Vladimir 'φ-coder/phcoder' Serbinenko
  2014-01-18 18:36       ` Andrey Borzenkov
  0 siblings, 1 reply; 6+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2014-01-18 18:08 UTC (permalink / raw)
  To: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

On 18.01.2014 18:12, Andrey Borzenkov wrote:
> В Sat, 18 Jan 2014 17:55:38 +0100
> Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:
> 
>> On 18.01.2014 17:27, Andrey Borzenkov wrote:
>>>  While on it, pass detected
>>> nm arguments instead of hardcoding them.
>> please make this part a separate patch.
> 
> is it OK to commit without this part?
> 
could you send the remaining part alone? It's difficult to see throught
intermingled patch.
>> This would indicate that you
>> support non-portable nm output which in this branch isn't the case. Why
>> do you need it in the first place?
>>
> 
> I do not need it for MinGW case; but it just looks incorrect in general
> case - first we check nm arguments and then ignore it.
Because relevant support in scripts isn't available yet.
> I agree that
> mixing two patches was wrong on my side.
> 
> 
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 274 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
  2014-01-18 18:08     ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2014-01-18 18:36       ` Andrey Borzenkov
  2014-01-18 19:05         ` Vladimir 'φ-coder/phcoder' Serbinenko
  0 siblings, 1 reply; 6+ messages in thread
From: Andrey Borzenkov @ 2014-01-18 18:36 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 3271 bytes --]

В Sat, 18 Jan 2014 19:08:35 +0100
Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:

> On 18.01.2014 18:12, Andrey Borzenkov wrote:
> > В Sat, 18 Jan 2014 17:55:38 +0100
> > Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com> пишет:
> > 
> >> On 18.01.2014 17:27, Andrey Borzenkov wrote:
> >>>  While on it, pass detected
> >>> nm arguments instead of hardcoding them.
> >> please make this part a separate patch.
> > 
> > is it OK to commit without this part?
> > 
> could you send the remaining part alone? It's difficult to see throught
> intermingled patch.

From: Andrey Borzenkov <arvidjaar@gmail.com>
Subject: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES

MinGW native nm does not support ELF binaries.

---
 grub-core/Makefile.am         | 6 +++---
 grub-core/genemuinit.sh       | 4 ++--
 grub-core/genemuinitheader.sh | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 826b3dd..61aa166 100644
--- a/grub-core/Makefile.am
+++ b/grub-core/Makefile.am
@@ -294,12 +294,12 @@ grub_emu-grub_emu_init.$(OBJEXT):grub_emu_init.h
 kern/emu/grub_emu_dyn-main.$(OBJEXT):grub_emu_init.h
 grub_emu_dyn-grub_emu_init.$(OBJEXT):grub_emu_init.h
 
-grub_emu_init.h: genemuinitheader.sh $(MOD_FILES)
-	rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@
+grub_emu_init.h: genemuinitheader.sh $(MODULE_FILES)
+	rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@
 CLEANFILES += grub_emu_init.h
 
 grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MOD_FILES)
-	rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@
+	rm -f $@; echo $(MODULE_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@
 CLEANFILES += grub_emu_init.c
 endif
 
diff --git a/grub-core/genemuinit.sh b/grub-core/genemuinit.sh
index 45c15ec..8c6bb1c 100644
--- a/grub-core/genemuinit.sh
+++ b/grub-core/genemuinit.sh
@@ -47,7 +47,7 @@ EOF
 read mods
 for line in $mods; do
   if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
-      echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
+      echo "grub_${line%%.*}_init ();"
   fi
 done
 
@@ -63,7 +63,7 @@ EOF
 
 for line in $mods; do
   if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
-      echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
+      echo "grub_${line%%.*}_fini ();"
   fi
 done
 
diff --git a/grub-core/genemuinitheader.sh b/grub-core/genemuinitheader.sh
index 6b83f59..a99a15d 100644
--- a/grub-core/genemuinitheader.sh
+++ b/grub-core/genemuinitheader.sh
@@ -44,9 +44,9 @@ EOF
 read mods
 for line in $mods; do
   if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
-      echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
+      echo "void grub_${line%%.*}_init (void);"
   fi
   if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
-      echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
+      echo "void grub_${line%%.*}_fini (void);"
   fi
 done
-- 
tg: (6c519b5..) u/mingw/use_MODULE_FILES_for_genemu (depends on: master)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES
  2014-01-18 18:36       ` Andrey Borzenkov
@ 2014-01-18 19:05         ` Vladimir 'φ-coder/phcoder' Serbinenko
  0 siblings, 0 replies; 6+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2014-01-18 19:05 UTC (permalink / raw)
  To: The development of GNU GRUB

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

On 18.01.2014 19:36, Andrey Borzenkov wrote:
>  grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MOD_FILES)
Forgot to update this one?
Otherwise go ahead.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 274 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-01-18 19:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-18 16:27 [PATCH] use MODULE_FILES for genemuinit* instead of MOD_FILES Andrey Borzenkov
2014-01-18 16:55 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-01-18 17:12   ` Andrey Borzenkov
2014-01-18 18:08     ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-01-18 18:36       ` Andrey Borzenkov
2014-01-18 19:05         ` Vladimir 'φ-coder/phcoder' Serbinenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).