Message ID | 20230611160530.392975-1-mhei@heimpold.de |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe] php: drop explicite ARM_INSTRUCTION_SET | expand |
Did you try it on qemuarmv5? as regular qemuarm used Thumb2 since 2019 https://git.openembedded.org/openembedded-core/commit/meta/conf/machine/qemuarm.conf?id=6fc70eb4f3494bee2be10ee24fe3ea1c8b5ff988 (and most of these issues where ARM_INSTRUCTION_SET is explicitly set in the recipe were reproducible only with Thumb-1). That said, I haven't built any armv5 builds recently and it's quite likely that nobody cares about Thumb-1 nowadays. On Sun, Jun 11, 2023 at 6:05 PM Michael Heimpold <mhei@heimpold.de> wrote: > If my git skills don't trick me, forcing ARM mode for PHP > dates back to year 2015 with commit e836f8f93. > > I wondered whether the compile problem still persists and just > tested that it compiles fine for qemuarm nowaydays. > > I also tested the binaries on a physical device, a > NXP iMX6ULL based one, and did not notice any problems > so far. > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > --- > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb > b/meta-oe/recipes-devtools/php/php_8.2.6.bb > index dad955452..404ff393b 100644 > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > @@ -284,12 +284,3 @@ do_install:append:class-native() { > create_wrapper ${D}${bindir}/php \ > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > } > - > -# Fails to build with thumb-1 (qemuarm) > -# | {standard input}: Assembler messages: > -# | {standard input}:3719: Error: selected processor does not support > Thumb mode `smull r0,r2,r9,r3' > -# | {standard input}:3720: Error: unshifted register required -- `sub > r2,r2,r0,asr#31' > -# | {standard input}:3796: Error: selected processor does not support > Thumb mode `smull r0,r2,r3,r3' > -# | {standard input}:3797: Error: unshifted register required -- `sub > r2,r2,r0,asr#31' > -# | make: *** [ext/standard/math.lo] Error 1 > -ARM_INSTRUCTION_SET = "arm" > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#103205): > https://lists.openembedded.org/g/openembedded-devel/message/103205 > Mute This Topic: https://lists.openembedded.org/mt/99465975/3617156 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > Martin.Jansa@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
On Sun, Jun 11, 2023 at 9:05 AM Michael Heimpold <mhei@heimpold.de> wrote: > > If my git skills don't trick me, forcing ARM mode for PHP > dates back to year 2015 with commit e836f8f93. > > I wondered whether the compile problem still persists and just > tested that it compiles fine for qemuarm nowaydays. > > I also tested the binaries on a physical device, a > NXP iMX6ULL based one, and did not notice any problems > so far. > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > --- > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb b/meta-oe/recipes-devtools/php/php_8.2.6.bb > index dad955452..404ff393b 100644 > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > @@ -284,12 +284,3 @@ do_install:append:class-native() { > create_wrapper ${D}${bindir}/php \ > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > } > - > -# Fails to build with thumb-1 (qemuarm) > -# | {standard input}: Assembler messages: > -# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' > -# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' > -# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' > -# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' > -# | make: *** [ext/standard/math.lo] Error 1 > -ARM_INSTRUCTION_SET = "arm" Martin explained it well, it was seen with thumb1 ISA some armv6 and all armv7+ uses thumb2 ISA along with standard ARM ISA Testing this will need armv4/armv5 perhaps you can limit this to armv5/arm4 arches ARM_INSTRUCTION_SET:armv5 = "arm" ARM_INSTRUCTION_SET:armv4 = "arm" If you can test it on armv5 and ensure that it works there too now a days then we can remove it completely > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#103205): https://lists.openembedded.org/g/openembedded-devel/message/103205 > Mute This Topic: https://lists.openembedded.org/mt/99465975/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Am Sonntag, 11. Juni 2023, 18:32:31 CEST schrieb Khem Raj: > On Sun, Jun 11, 2023 at 9:05 AM Michael Heimpold <mhei@heimpold.de> wrote: > > If my git skills don't trick me, forcing ARM mode for PHP > > dates back to year 2015 with commit e836f8f93. > > > > I wondered whether the compile problem still persists and just > > tested that it compiles fine for qemuarm nowaydays. > > > > I also tested the binaries on a physical device, a > > NXP iMX6ULL based one, and did not notice any problems > > so far. > > > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > > --- > > > > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > > 1 file changed, 9 deletions(-) > > > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > b/meta-oe/recipes-devtools/php/php_8.2.6.bb index dad955452..404ff393b > > 100644 > > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > > @@ -284,12 +284,3 @@ do_install:append:class-native() { > > > > create_wrapper ${D}${bindir}/php \ > > > > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > > > > } > > > > - > > -# Fails to build with thumb-1 (qemuarm) > > -# | {standard input}: Assembler messages: > > -# | {standard input}:3719: Error: selected processor does not support > > Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: > > unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard > > input}:3796: Error: selected processor does not support Thumb mode `smull > > r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register > > required -- `sub r2,r2,r0,asr#31' -# | make: *** [ext/standard/math.lo] > > Error 1 > > -ARM_INSTRUCTION_SET = "arm" > > Martin explained it well, it was seen with thumb1 ISA some armv6 and > all armv7+ uses thumb2 ISA along with standard ARM ISA > Testing this will need armv4/armv5 perhaps you can limit this to > armv5/arm4 arches > > ARM_INSTRUCTION_SET:armv5 = "arm" > ARM_INSTRUCTION_SET:armv4 = "arm" > > If you can test it on armv5 and ensure that it works there too now a > days then we can remove it completely Thank you all for your feedback. Here is what I've done so far. I've done a compile test against machine qemuarmv5 which succeeded without errors. I have a custom board at hand, which uses a NXP iMX28 CPU, the build configuration tells me the same TUNE_FEATURES as qemuarmv5: MACHINE = "evachargese" TUNE_FEATURES = "arm armv5 thumb dsp" I used the kirkstone branch to have a faster roundtrip since the board currently runs a kirkstone-based system. The PHP binaries run without obvious problems in a quick test (simple webpages on the device). I have no armv4 board at hand nor a found a configuration file for qemuarmv4. So I put some lines manually together using strongarm - which should be armv4, right? It resulted in TUNE_FEATURES = "arm strongarm" The build completed without error - no runtime testing with qemu done yet.
On Sun, Jun 11, 2023 at 1:53 PM Michael Heimpold <mhei@heimpold.de> wrote: > Am Sonntag, 11. Juni 2023, 18:32:31 CEST schrieb Khem Raj: > > On Sun, Jun 11, 2023 at 9:05 AM Michael Heimpold <mhei@heimpold.de> > wrote: > > > If my git skills don't trick me, forcing ARM mode for PHP > > > dates back to year 2015 with commit e836f8f93. > > > > > > I wondered whether the compile problem still persists and just > > > tested that it compiles fine for qemuarm nowaydays. > > > > > > I also tested the binaries on a physical device, a > > > NXP iMX6ULL based one, and did not notice any problems > > > so far. > > > > > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > > > --- > > > > > > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > > > 1 file changed, 9 deletions(-) > > > > > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > b/meta-oe/recipes-devtools/php/php_8.2.6.bb index dad955452..404ff393b > > > 100644 > > > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > @@ -284,12 +284,3 @@ do_install:append:class-native() { > > > > > > create_wrapper ${D}${bindir}/php \ > > > > > > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > > > > > > } > > > > > > - > > > -# Fails to build with thumb-1 (qemuarm) > > > -# | {standard input}: Assembler messages: > > > -# | {standard input}:3719: Error: selected processor does not support > > > Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: > > > unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard > > > input}:3796: Error: selected processor does not support Thumb mode > `smull > > > r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register > > > required -- `sub r2,r2,r0,asr#31' -# | make: *** [ext/standard/math.lo] > > > Error 1 > > > -ARM_INSTRUCTION_SET = "arm" > > > > Martin explained it well, it was seen with thumb1 ISA some armv6 and > > all armv7+ uses thumb2 ISA along with standard ARM ISA > > Testing this will need armv4/armv5 perhaps you can limit this to > > armv5/arm4 arches > > > > ARM_INSTRUCTION_SET:armv5 = "arm" > > ARM_INSTRUCTION_SET:armv4 = "arm" > > > > If you can test it on armv5 and ensure that it works there too now a > > days then we can remove it completely > > Thank you all for your feedback. > > Here is what I've done so far. > > I've done a compile test against machine qemuarmv5 which succeeded > without errors. > > I have a custom board at hand, which uses a NXP iMX28 CPU, the build > configuration tells me the same TUNE_FEATURES as qemuarmv5: > MACHINE = "evachargese" > TUNE_FEATURES = "arm armv5 thumb dsp" > I used the kirkstone branch to have a faster roundtrip since the board > currently runs a kirkstone-based system. The PHP binaries run without > obvious problems in a quick test (simple webpages on the device). That’s for testing it out. Can you check compiler longs for php and see if it passed -mthumb to it ? > > > I have no armv4 board at hand nor a found a configuration file for > qemuarmv4. > So I put some lines manually together using strongarm - which should be > armv4, > right? It resulted in > TUNE_FEATURES = "arm strongarm" > The build completed without error - no runtime testing with qemu done yet. > > > >
Am Montag, 12. Juni 2023, 01:44:29 CEST schrieb Khem Raj: > On Sun, Jun 11, 2023 at 1:53 PM Michael Heimpold <mhei@heimpold.de> wrote: > > Am Sonntag, 11. Juni 2023, 18:32:31 CEST schrieb Khem Raj: > > > On Sun, Jun 11, 2023 at 9:05 AM Michael Heimpold <mhei@heimpold.de> > > > > wrote: > > > > If my git skills don't trick me, forcing ARM mode for PHP > > > > dates back to year 2015 with commit e836f8f93. > > > > > > > > I wondered whether the compile problem still persists and just > > > > tested that it compiles fine for qemuarm nowaydays. > > > > > > > > I also tested the binaries on a physical device, a > > > > NXP iMX6ULL based one, and did not notice any problems > > > > so far. > > > > > > > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > > > > --- > > > > > > > > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > > > > 1 file changed, 9 deletions(-) > > > > > > > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > b/meta-oe/recipes-devtools/php/php_8.2.6.bb index dad955452..404ff393b > > > > 100644 > > > > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > @@ -284,12 +284,3 @@ do_install:append:class-native() { > > > > > > > > create_wrapper ${D}${bindir}/php \ > > > > > > > > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > > > > > > > > } > > > > > > > > - > > > > -# Fails to build with thumb-1 (qemuarm) > > > > -# | {standard input}: Assembler messages: > > > > -# | {standard input}:3719: Error: selected processor does not support > > > > Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: > > > > unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard > > > > input}:3796: Error: selected processor does not support Thumb mode > > > > `smull > > > > > > r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register > > > > required -- `sub r2,r2,r0,asr#31' -# | make: *** > > > > [ext/standard/math.lo] > > > > Error 1 > > > > -ARM_INSTRUCTION_SET = "arm" > > > > > > Martin explained it well, it was seen with thumb1 ISA some armv6 and > > > all armv7+ uses thumb2 ISA along with standard ARM ISA > > > Testing this will need armv4/armv5 perhaps you can limit this to > > > armv5/arm4 arches > > > > > > ARM_INSTRUCTION_SET:armv5 = "arm" > > > ARM_INSTRUCTION_SET:armv4 = "arm" > > > > > > If you can test it on armv5 and ensure that it works there too now a > > > days then we can remove it completely > > > > Thank you all for your feedback. > > > > Here is what I've done so far. > > > > I've done a compile test against machine qemuarmv5 which succeeded > > without errors. > > > > I have a custom board at hand, which uses a NXP iMX28 CPU, the build > > configuration tells me the same TUNE_FEATURES as qemuarmv5: > > MACHINE = "evachargese" > > TUNE_FEATURES = "arm armv5 thumb dsp" > > I used the kirkstone branch to have a faster roundtrip since the board > > currently runs a kirkstone-based system. The PHP binaries run without > > obvious problems in a quick test (simple webpages on the device). > > That’s for testing it out. Can you check compiler longs for php and see if > it passed -mthumb to it ? Just to ensure, that I got you right: you mean something like grep thumb tmp/work/armv5e-poky-linux-gnueabi/php/8.1.16-r0/temp/log.* which shows an empty result for qemuarmv5/evachargese and for qemuarm there are a lot of matches like: .../log.do_compile.2431535:/bin/bash /.../cortexa15t2hf-neon-poky-linux- gnueabi/php/8.1.16-r0/build/libtool --silent --preserve-dup-deps --tag CC -- mode=compile arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard - mcpu=cortex-a15 ... > > I have no armv4 board at hand nor a found a configuration file for > > qemuarmv4. > > So I put some lines manually together using strongarm - which should be > > armv4, > > right? It resulted in > > TUNE_FEATURES = "arm strongarm" > > The build completed without error - no runtime testing with qemu done yet.
On Mon, Jun 12, 2023 at 10:57 AM Michael Heimpold <mhei@heimpold.de> wrote: > > Am Montag, 12. Juni 2023, 01:44:29 CEST schrieb Khem Raj: > > On Sun, Jun 11, 2023 at 1:53 PM Michael Heimpold <mhei@heimpold.de> wrote: > > > Am Sonntag, 11. Juni 2023, 18:32:31 CEST schrieb Khem Raj: > > > > On Sun, Jun 11, 2023 at 9:05 AM Michael Heimpold <mhei@heimpold.de> > > > > > > wrote: > > > > > If my git skills don't trick me, forcing ARM mode for PHP > > > > > dates back to year 2015 with commit e836f8f93. > > > > > > > > > > I wondered whether the compile problem still persists and just > > > > > tested that it compiles fine for qemuarm nowaydays. > > > > > > > > > > I also tested the binaries on a physical device, a > > > > > NXP iMX6ULL based one, and did not notice any problems > > > > > so far. > > > > > > > > > > Signed-off-by: Michael Heimpold <mhei@heimpold.de> > > > > > --- > > > > > > > > > > meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- > > > > > 1 file changed, 9 deletions(-) > > > > > > > > > > diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > > b/meta-oe/recipes-devtools/php/php_8.2.6.bb index dad955452..404ff393b > > > > > 100644 > > > > > --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > > +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb > > > > > @@ -284,12 +284,3 @@ do_install:append:class-native() { > > > > > > > > > > create_wrapper ${D}${bindir}/php \ > > > > > > > > > > PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ > > > > > > > > > > } > > > > > > > > > > - > > > > > -# Fails to build with thumb-1 (qemuarm) > > > > > -# | {standard input}: Assembler messages: > > > > > -# | {standard input}:3719: Error: selected processor does not support > > > > > Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: > > > > > unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard > > > > > input}:3796: Error: selected processor does not support Thumb mode > > > > > > `smull > > > > > > > > r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register > > > > > required -- `sub r2,r2,r0,asr#31' -# | make: *** > > > > > [ext/standard/math.lo] > > > > > Error 1 > > > > > -ARM_INSTRUCTION_SET = "arm" > > > > > > > > Martin explained it well, it was seen with thumb1 ISA some armv6 and > > > > all armv7+ uses thumb2 ISA along with standard ARM ISA > > > > Testing this will need armv4/armv5 perhaps you can limit this to > > > > armv5/arm4 arches > > > > > > > > ARM_INSTRUCTION_SET:armv5 = "arm" > > > > ARM_INSTRUCTION_SET:armv4 = "arm" > > > > > > > > If you can test it on armv5 and ensure that it works there too now a > > > > days then we can remove it completely > > > > > > Thank you all for your feedback. > > > > > > Here is what I've done so far. > > > > > > I've done a compile test against machine qemuarmv5 which succeeded > > > without errors. > > > > > > I have a custom board at hand, which uses a NXP iMX28 CPU, the build > > > configuration tells me the same TUNE_FEATURES as qemuarmv5: > > > MACHINE = "evachargese" > > > TUNE_FEATURES = "arm armv5 thumb dsp" > > > I used the kirkstone branch to have a faster roundtrip since the board > > > currently runs a kirkstone-based system. The PHP binaries run without > > > obvious problems in a quick test (simple webpages on the device). > > > > That’s for testing it out. Can you check compiler longs for php and see if > > it passed -mthumb to it ? > > Just to ensure, that I got you right: you mean something like > grep thumb tmp/work/armv5e-poky-linux-gnueabi/php/8.1.16-r0/temp/log.* > which shows an empty result for qemuarmv5/evachargese and for qemuarm > there are a lot of matches like: > .../log.do_compile.2431535:/bin/bash /.../cortexa15t2hf-neon-poky-linux- > gnueabi/php/8.1.16-r0/build/libtool --silent --preserve-dup-deps --tag CC -- > mode=compile arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard - > mcpu=cortex-a15 ... yes thanks. > > > > I have no armv4 board at hand nor a found a configuration file for > > > qemuarmv4. > > > So I put some lines manually together using strongarm - which should be > > > armv4, > > > right? It resulted in > > > TUNE_FEATURES = "arm strongarm" > > > The build completed without error - no runtime testing with qemu done yet. > > > >
diff --git a/meta-oe/recipes-devtools/php/php_8.2.6.bb b/meta-oe/recipes-devtools/php/php_8.2.6.bb index dad955452..404ff393b 100644 --- a/meta-oe/recipes-devtools/php/php_8.2.6.bb +++ b/meta-oe/recipes-devtools/php/php_8.2.6.bb @@ -284,12 +284,3 @@ do_install:append:class-native() { create_wrapper ${D}${bindir}/php \ PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ } - -# Fails to build with thumb-1 (qemuarm) -# | {standard input}: Assembler messages: -# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | make: *** [ext/standard/math.lo] Error 1 -ARM_INSTRUCTION_SET = "arm"
If my git skills don't trick me, forcing ARM mode for PHP dates back to year 2015 with commit e836f8f93. I wondered whether the compile problem still persists and just tested that it compiles fine for qemuarm nowaydays. I also tested the binaries on a physical device, a NXP iMX6ULL based one, and did not notice any problems so far. Signed-off-by: Michael Heimpold <mhei@heimpold.de> --- meta-oe/recipes-devtools/php/php_8.2.6.bb | 9 --------- 1 file changed, 9 deletions(-)