Message ID | 20240605034903.373617-2-mailingradian@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [-next] kbuild: explicitly run mksysmap as sed script from link-vmlinux.sh | expand |
On Wed, Jun 5, 2024 at 12:49 PM Richard Acayan <mailingradian@gmail.com> wrote: > > In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed > script"), the mksysmap script was transformed into a sed script, > made directly executable with "#!/bin/sed -f". Apparently, the path to > sed is different on NixOS, fixed by using the env command. > > To accommodate the number of arguments above the normal maximum for > hashbangs, the -S flag of env was used (as in > "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. > Explicitly use sed instead of relying on the executable shebang to keep > compatibility with build environments using Busybox. > > Fixes: 973eca8db557 ("kbuild: mksysmap now works on nixos") There is no 973eca8db557 in my tree. I do not even see it in ML. Where did it come from, and where will it go? commit 973eca8db5570dd0c3f2b3190867138cc446eb3b Author: Kent Overstreet <kent.overstreet@linux.dev> AuthorDate: Sun Jun 2 23:13:35 2024 -0400 Commit: Kent Overstreet <kent.overstreet@linux.dev> CommitDate: Sun Jun 2 23:23:47 2024 -0400 kbuild: mksysmap now works on nixos Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> diff --git a/scripts/mksysmap b/scripts/mksysmap index c12723a04655..835cccf8e7de 100755 --- a/scripts/mksysmap +++ b/scripts/mksysmap @@ -1,4 +1,4 @@ -#!/bin/sed -f +#!/usr/bin/env -S sed -f # SPDX-License-Identifier: GPL-2.0-only # # sed script to filter out symbols that are not needed for System.map,
On Wed, Jun 5, 2024 at 12:49 PM Richard Acayan <mailingradian@gmail.com> wrote: > > In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed > script"), the mksysmap script was transformed into a sed script, > made directly executable with "#!/bin/sed -f". Apparently, the path to > sed is different on NixOS, fixed by using the env command. > > To accommodate the number of arguments above the normal maximum for > hashbangs, the -S flag of env was used (as in > "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. > Explicitly use sed instead of relying on the executable shebang to keep > compatibility with build environments using Busybox. I am fine with the code. Kent will drop his local commit, so please reword the commit description without 973eca8db557 in mind. > Fixes: 973eca8db557 ("kbuild: mksysmap now works on nixos") Please replace this tag with: Fixes: b18b047002b7 ("kbuild: change scripts/mksysmap into sed script") Thanks. > Signed-off-by: Richard Acayan <mailingradian@gmail.com> > --- > scripts/link-vmlinux.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index 46ce5d04dbeb..518c70b8db50 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -193,7 +193,7 @@ kallsyms_step() > mksysmap() > { > info NM ${2} > - ${NM} -n "${1}" | "${srctree}/scripts/mksysmap" > "${2}" > + ${NM} -n "${1}" | sed -f "${srctree}/scripts/mksysmap" > "${2}" > } > > sorttable() > -- > 2.45.2 >
On Wed, Jun 05, 2024 at 10:05:22PM +0900, Masahiro Yamada wrote: > On Wed, Jun 5, 2024 at 12:49 PM Richard Acayan <mailingradian@gmail.com> wrote: > > > > In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed > > script"), the mksysmap script was transformed into a sed script, > > made directly executable with "#!/bin/sed -f". Apparently, the path to > > sed is different on NixOS, fixed by using the env command. > > > > To accommodate the number of arguments above the normal maximum for > > hashbangs, the -S flag of env was used (as in > > "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. > > Explicitly use sed instead of relying on the executable shebang to keep > > compatibility with build environments using Busybox. > > > I am fine with the code. > > Kent will drop his local commit, so please reword the commit description > without 973eca8db557 in mind. Sorry for the hassle - glad this is fixed
On Wed, Jun 05, 2024 at 09:07:26AM -0400, Kent Overstreet wrote: > On Wed, Jun 05, 2024 at 10:05:22PM +0900, Masahiro Yamada wrote: > > On Wed, Jun 5, 2024 at 12:49 PM Richard Acayan <mailingradian@gmail.com> wrote: > > > > > > In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed > > > script"), the mksysmap script was transformed into a sed script, > > > made directly executable with "#!/bin/sed -f". Apparently, the path to > > > sed is different on NixOS, fixed by using the env command. > > > > > > To accommodate the number of arguments above the normal maximum for > > > hashbangs, the -S flag of env was used (as in > > > "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. > > > Explicitly use sed instead of relying on the executable shebang to keep > > > compatibility with build environments using Busybox. > > > > > > I am fine with the code. > > > > Kent will drop his local commit, so please reword the commit description > > without 973eca8db557 in mind. > > Sorry for the hassle - glad this is fixed All good :). I'm just happy that the maintainers are still listening to developers compiling linux-next on Alpine Linux. You can optionally attach a reporter tag in v2 since you reported the original bug.
On Wed, Jun 5, 2024 at 12:49 PM Richard Acayan <mailingradian@gmail.com> wrote: > > In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed > script"), the mksysmap script was transformed into a sed script, > made directly executable with "#!/bin/sed -f". Apparently, the path to > sed is different on NixOS, fixed by using the env command. > > To accommodate the number of arguments above the normal maximum for > hashbangs, the -S flag of env was used (as in > "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. > Explicitly use sed instead of relying on the executable shebang to keep > compatibility with build environments using Busybox. > > Fixes: 973eca8db557 ("kbuild: mksysmap now works on nixos") > Signed-off-by: Richard Acayan <mailingradian@gmail.com> Thanks! Fixes the build on my nix system as well. Tested-by: Dmitry Safonov <0x7f454c46@gmail.com> > --- > scripts/link-vmlinux.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index 46ce5d04dbeb..518c70b8db50 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -193,7 +193,7 @@ kallsyms_step() > mksysmap() > { > info NM ${2} > - ${NM} -n "${1}" | "${srctree}/scripts/mksysmap" > "${2}" > + ${NM} -n "${1}" | sed -f "${srctree}/scripts/mksysmap" > "${2}" > } > > sorttable()
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 46ce5d04dbeb..518c70b8db50 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -193,7 +193,7 @@ kallsyms_step() mksysmap() { info NM ${2} - ${NM} -n "${1}" | "${srctree}/scripts/mksysmap" > "${2}" + ${NM} -n "${1}" | sed -f "${srctree}/scripts/mksysmap" > "${2}" } sorttable()
In commit b18b047002b7 ("kbuild: change scripts/mksysmap into sed script"), the mksysmap script was transformed into a sed script, made directly executable with "#!/bin/sed -f". Apparently, the path to sed is different on NixOS, fixed by using the env command. To accommodate the number of arguments above the normal maximum for hashbangs, the -S flag of env was used (as in "#!/usr/bin/env -S sed -f"). However, env -S is a GNU extension. Explicitly use sed instead of relying on the executable shebang to keep compatibility with build environments using Busybox. Fixes: 973eca8db557 ("kbuild: mksysmap now works on nixos") Signed-off-by: Richard Acayan <mailingradian@gmail.com> --- scripts/link-vmlinux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)