From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: "Gaël PORTAY" <gael.portay@gmail.com>
Cc: "Samuel Martin" <s.martin49@gmail.com>,
"Gaël PORTAY" <gael.portay@rtone.fr>,
"Mahyar Koshkouei" <mahyar.koshkouei@gmail.com>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 2/2] package/rpi-userland: package is deprecated
Date: Thu, 25 Jul 2024 16:59:33 +0200 [thread overview]
Message-ID: <20240725165933.3c22cb67@windsurf> (raw)
In-Reply-To: <D2YKKETZ0VW0.3G5BB391498UM@gmail.com>
Hello,
On Thu, 25 Jul 2024 13:05:27 +0200
Gaël PORTAY <gael.portay@gmail.com> wrote:
> Testing the change in QtWebengine is pretty long... and even more on a
> laptop.
Oh yes, I have been using a very fast build server to do this
debugging/investigation.
> The first raises if the proprietary-codecs is set as the bundle ffmpeg
> has hardcoded configs; it builds the vp8 requiring thumb for arm (well
> maybe it builds vp8 even if the proprietary codecs is unset :/).
>
> However, qmake creates the arm flags given to the compiler itself. It
> guesses them from the $QMAKE and $QMAKE_CFLAGS set in the qmake.conf
> generated in qt5base; but buildroot does not set the -march, -mtune,
> -mfloat-abi, -mfpu -marm/-mthumb flags to it.
>
> So qmake is lost and builds any ARM 32-bis target with the default flags
> -march=armv7-a -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16
> -marm.
>
> The flag -marm raise raises the error below for vp8.c (because it is a
> thumb mnemonic):
I highly doubt that the VP8 code is using Thumb-only instructions.
>
> {standard input}: Assembler messages:
> {standard input}:1119: Error: bad instruction `ldrhcs r0,[ip],#2'
I did a bit of experiment, but could not come to a conclusion. ldrh is
definitely recognized, but not ldrhcs. And building in Thumb mode
doesn't make any difference:
thomas@windsurf:/tmp$ cat plop.S
ldrhcs r0, [ip], #2
thomas@windsurf:/tmp$ arm-linux-gnu-gcc -march=armv6zk -c plop.S
plop.S: Assembler messages:
plop.S:1: Error: bad instruction `ldrhcs r0,[ip],#2'
thomas@windsurf:/tmp$ arm-linux-gnu-gcc -march=armv6zk -mthumb -c plop.S
plop.S: Assembler messages:
plop.S:1: Error: bad instruction `ldrhcs r0,[ip],#2'
thomas@windsurf:/tmp$ arm-linux-gnu-gcc -march=armv8-a -mthumb -c plop.S plop.S: Assembler messages:
plop.S:1: Error: bad instruction `ldrhcs r0,[ip],#2'
thomas@windsurf:/tmp$ arm-linux-gnu-gcc -march=armv8-a -c plop.S
plop.S: Assembler messages:
plop.S:1: Error: bad instruction `ldrhcs r0,[ip],#2'
> Note: chromium fails at configure if -feature-webengine-arm-thumb is
> forced to its command-line instead of failing afterward at build; so it
> is interresting to enforce it if CPU supports Thumb.
Not sure to understand this part.
> Also, it is wrong for raspberry pi 1 (armv6).
>
> The second raises at linking blink:
>
> /home/gportay/src/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/13.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: warning: /home/gportay/src/buildroot/output/build/qt5webengine-5.15.14/src/core/release/obj/third_party/blink/renderer/platform/heap/asm/asm/SaveRegisters_arm.o: missing .note.GNU-stack section implies executable stack
> /home/gportay/src/buildroot/output/host/lib/gcc/arm-buildroot-linux-gnueabihf/13.3.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> collect2: error: ld returned 1 exit status
>
> Is that possible this is the issue you mentioned?
This is the issue I mentioned indeed. The linker bails out with a
non-zero error code, but does not show any error message.
> Also, I have noticed that chromium checks for jpeg-turbo specific
> symbols if -feature-webengine-system-jpeg; raspberrypi uses libjpeg as
> jpeg-turbo cannot be built for this target, and qt5webengine fails at
> configure.
Dang, I am pretty sure I saw this, switched to jpeg-turbo, but I forgot
to include it in my patch series. How come jpeg-turbo cannot be built
for your target? As far as I can see, jpeg-turbo does not have any
architecture dependency. Are you sure you didn't misread
package/jpeg/Config.in? It uses jpeg-turbo as default if
BR2_PACKAGE_JPEG_SIMD_SUPPORT, but it does not prevent from selecting
jpeg-turbo if BR2_PACKAGE_JPEG_SIMD_SUPPORT is not true.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2024-07-25 14:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-23 21:20 [Buildroot] [PATCH 0/2] rpi-utils replaces rpi-userland Gaël PORTAY
2024-07-23 21:20 ` [Buildroot] [PATCH 1/2] package/rpi-utils: new package Gaël PORTAY
2024-07-24 16:21 ` Thomas Petazzoni via buildroot
2024-07-25 8:05 ` Gaël PORTAY
2024-07-25 8:10 ` Thomas Petazzoni via buildroot
2024-07-25 9:43 ` Gaël PORTAY
2024-07-25 10:05 ` Waldemar Brodkorb
2024-07-25 10:16 ` Thomas Petazzoni via buildroot
2024-07-25 10:21 ` Gaël PORTAY
2024-07-23 21:20 ` [Buildroot] [PATCH 2/2] package/rpi-userland: package is deprecated Gaël PORTAY
2024-07-24 16:21 ` Thomas Petazzoni via buildroot
2024-07-25 9:53 ` Gaël PORTAY
2024-07-25 10:15 ` Thomas Petazzoni via buildroot
2024-07-25 11:05 ` Gaël PORTAY
2024-07-25 14:59 ` Thomas Petazzoni via buildroot [this message]
2024-07-31 11:42 ` Gaël PORTAY
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240725165933.3c22cb67@windsurf \
--to=buildroot@buildroot.org \
--cc=gael.portay@gmail.com \
--cc=gael.portay@rtone.fr \
--cc=mahyar.koshkouei@gmail.com \
--cc=s.martin49@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.