| Message ID | 20260923120346.3256438-1-alaur@ilbers.de |
|---|---|
| State | Under Review |
| Headers | show |
| Series | fix: Add toolchain fixes to linux-cip 4.4 kernel on Noble | expand |
On Wed, 2026-09-23 at 14:03 +0200, Aleksey Laurynovich wrote: > Older kernel (4.4.x) has three toolchain issues on Ubuntu Noble: > - dtc yylloc multiple definition (fixed by HOSTCFLAGS+=-fcommon) > - ld rejects -Wl,-Bsymbolic-functions (fixed by clearing LDFLAGS) > - arm64 proc.S uses deprecated .section syntax rejected by binutils 2.42 > (fixed by patching to use modern 'ax' flags) > > The issue can be reproduced with the command: > $ bitbake mc:qemuarm64-noble:linux-cip-arm64 > > Signed-off-by: Aleksey Laurynovich <alaur@ilbers.de> > --- > ...rm64-proc.S-fix-binutils-2.42-section-syntax.patch | 11 +++++++++++ > .../recipes-kernel/linux/linux-cip_4.4.166-cip29.bb | 6 ++++++ > 2 files changed, 17 insertions(+) > create mode 100644 meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch > > diff --git a/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch > new file mode 100644 > index 00000000..f464ac40 > --- /dev/null > +++ b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch > @@ -0,0 +1,11 @@ > +--- a/arch/arm64/mm/proc.S > ++++ b/arch/arm64/mm/proc.S > +@@ -152,7 +152,7 @@ > + alternative_endif > + ENDPROC(cpu_do_switch_mm) > + > +- .section ".text.init", #alloc, #execinstr > ++ .section ".text.init", "ax" > + > + /* > + * __cpu_setup > diff --git a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb This kernel patch release is quite old. Did you check if v4.4.302-cip99 is also affected? Felix > index e2e51304..4b606dee 100644 > --- a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb > +++ b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb > @@ -9,8 +9,14 @@ PN .= "-${DISTRO_ARCH}" > > inherit linux-kernel > > +# Older kernel dtc has yylloc multiple definition, fixed by -fcommon > +KERNEL_EXTRA_BUILDARGS += "HOSTCFLAGS+=-fcommon" > +# Older kernel passes -Wl,-Bsymbolic-functions to cross-linker which rejects it > +KERNEL_EXTRA_BUILDARGS += "LDFLAGS=" > + > SRC_URI += " \ > git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git;protocol=https;branch=linux-4.4.y-cip;destsuffix=${P} \ > + file://0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch \ > " > > SRCREV = "af3adf9f9c633ac0e1d68487d7fad22285dda8a3" > -- > 2.43.0 > > -- > You received this message because you are subscribed to the Google Groups "isar-users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. > To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260923120346.3256438-1-alaur%40ilbers.de.
On 23.09.26 15:49, Moessbauer, Felix (FT RPD CED OES-DE) wrote: > On Wed, 2026-09-23 at 14:03 +0200, Aleksey Laurynovich wrote: >> Older kernel (4.4.x) has three toolchain issues on Ubuntu Noble: >> - dtc yylloc multiple definition (fixed by HOSTCFLAGS+=-fcommon) >> - ld rejects -Wl,-Bsymbolic-functions (fixed by clearing LDFLAGS) >> - arm64 proc.S uses deprecated .section syntax rejected by binutils 2.42 >> (fixed by patching to use modern 'ax' flags) >> >> The issue can be reproduced with the command: >> $ bitbake mc:qemuarm64-noble:linux-cip-arm64 >> >> Signed-off-by: Aleksey Laurynovich <alaur@ilbers.de> >> --- >> ...rm64-proc.S-fix-binutils-2.42-section-syntax.patch | 11 +++++++++++ >> .../recipes-kernel/linux/linux-cip_4.4.166-cip29.bb | 6 ++++++ >> 2 files changed, 17 insertions(+) >> create mode 100644 meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch >> >> diff --git a/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch >> new file mode 100644 >> index 00000000..f464ac40 >> --- /dev/null >> +++ b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch >> @@ -0,0 +1,11 @@ >> +--- a/arch/arm64/mm/proc.S >> ++++ b/arch/arm64/mm/proc.S >> +@@ -152,7 +152,7 @@ >> + alternative_endif >> + ENDPROC(cpu_do_switch_mm) >> + >> +- .section ".text.init", #alloc, #execinstr >> ++ .section ".text.init", "ax" >> + >> + /* >> + * __cpu_setup >> diff --git a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb > > This kernel patch release is quite old. Did you check if v4.4.302-cip99 > is also affected? > https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/commit/?id=09490469cfb3b0855cf56badc62c512684d59570 And that although this is an unsupported configuration (arm64 support got added to CIP with 4.19 only). So, don't do that. Jan
diff --git a/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch new file mode 100644 index 00000000..f464ac40 --- /dev/null +++ b/meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch @@ -0,0 +1,11 @@ +--- a/arch/arm64/mm/proc.S ++++ b/arch/arm64/mm/proc.S +@@ -152,7 +152,7 @@ + alternative_endif + ENDPROC(cpu_do_switch_mm) + +- .section ".text.init", #alloc, #execinstr ++ .section ".text.init", "ax" + + /* + * __cpu_setup diff --git a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb index e2e51304..4b606dee 100644 --- a/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb +++ b/meta-isar/recipes-kernel/linux/linux-cip_4.4.166-cip29.bb @@ -9,8 +9,14 @@ PN .= "-${DISTRO_ARCH}" inherit linux-kernel +# Older kernel dtc has yylloc multiple definition, fixed by -fcommon +KERNEL_EXTRA_BUILDARGS += "HOSTCFLAGS+=-fcommon" +# Older kernel passes -Wl,-Bsymbolic-functions to cross-linker which rejects it +KERNEL_EXTRA_BUILDARGS += "LDFLAGS=" + SRC_URI += " \ git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git;protocol=https;branch=linux-4.4.y-cip;destsuffix=${P} \ + file://0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch \ " SRCREV = "af3adf9f9c633ac0e1d68487d7fad22285dda8a3"
Older kernel (4.4.x) has three toolchain issues on Ubuntu Noble: - dtc yylloc multiple definition (fixed by HOSTCFLAGS+=-fcommon) - ld rejects -Wl,-Bsymbolic-functions (fixed by clearing LDFLAGS) - arm64 proc.S uses deprecated .section syntax rejected by binutils 2.42 (fixed by patching to use modern 'ax' flags) The issue can be reproduced with the command: $ bitbake mc:qemuarm64-noble:linux-cip-arm64 Signed-off-by: Aleksey Laurynovich <alaur@ilbers.de> --- ...rm64-proc.S-fix-binutils-2.42-section-syntax.patch | 11 +++++++++++ .../recipes-kernel/linux/linux-cip_4.4.166-cip29.bb | 6 ++++++ 2 files changed, 17 insertions(+) create mode 100644 meta-isar/recipes-kernel/linux/files/0001-arm64-proc.S-fix-binutils-2.42-section-syntax.patch