On Tue, Jan 21, 2025 at 7:03 PM Chen Qi via lists.openembedded.org <[email protected]> wrote: > > ping > > Is there something I need to do for this patch? Or is this patch not > suitable for oe-core? >
if we are enabling 64K pages then 32bit aarch32 apps should also be compiled using 64k pages. Usually this could mean different performance characteristics and 32bit apps are usually only rebuilt if not used as prebuilts, so how will it function in a multilib environment? > Regards, > Qi > > On 1/16/25 12:34, Chen Qi via lists.openembedded.org wrote: > > Ping > > > > Ross & Richard, is there anything else I need to do for this patch? > > > > Regards, > > Qi > > > > -----Original Message----- > > From: Chen, Qi > > Sent: Thursday, January 9, 2025 9:54 AM > > To: Ross Burton <[email protected]> > > Cc: [email protected] > > Subject: RE: [OE-core][PATCH V2] lib32-64k-pagesize.inc: add conf for > > building 32bit binary with 64K alignment > > > > Hi Ross, > > > > The "./bsp/marvell-cn10xxx" exists in yocto-kernel-cache's origin/yocto-6.6 > > branch. > > In its master branch, the marvell-cn96xx.cfg also enables > > CONFIG_ARM64_64K_PAGES=y. > > > > This patch was tested on pristine poky + qemuarm64. The test steps are in > > the commit message. I didn't test all softwares in oe-core, but as > > lib32-core-image-full-cmdline started well with no failed systemd service, > > I assumed that most softwares should also behave well. I also tested > > lib32-sysstat with core-image-minimal. > > > > The help text for ARM64_64K_PAGES changed with this commit: > > https://github.com/torvalds/linux/commit/db488be354bc85724d7b9523e94435fdaa761a35 > > So 32bit arm was not supported at first, but at some point, it was. > > > > Regards, > > Qi > > > > -----Original Message----- > > From: Ross Burton <[email protected]> > > Sent: Thursday, January 9, 2025 1:02 AM > > To: Chen, Qi <[email protected]> > > Cc: [email protected] > > Subject: Re: [OE-core][PATCH V2] lib32-64k-pagesize.inc: add conf for > > building 32bit binary with 64K alignment > > > > On 25 Dec 2024, at 03:04, Chen Qi via lists.openembedded.org > > <[email protected]> wrote: > >> When 64K page size is enabled, for 32bit multilib, we'll need to build > >> applications with 64K alignment, otherwise, we'll see errors like below at > >> runtime: > >> > >> root@marvell-cn10xxx:~# /lib/ld-linux-armhf.so.3 > >> Segmentation fault > >> > >> marvell-cn10xxx in yocto-kernel-cache enables CONFIG_ARM64_4K_PAGES=y by > >> default. > >> And the issue was first discovered there. > > Do you mean _64K_PAGES? Where is this marvell-cn100xxx? In > > yocto-kernel-cache there are no users of arm64-64kb-pages and nothing > > called cn10xxx. Is this a Wind River-specific fork of yocto-kernel-cache? > > > >> However, there's a kernel config fragment in yocto-kernel-cache which > >> enableds 64K page size for arm64: arch/arm/arm64-64kb-pages.scc. So > >> it's easy for other > >> arm64 BSPs to enable this. And when they do so, they'll have problem > >> with multilib. This patch adds a config file to help people a little > >> bit in such situation. > >> > >> The max-page-size option is used to fix this issue. This option is > >> added to both CFLAGS and LDFLAGS for the purpose of covering as many > >> recipes as possible. > > First, I should point out that changing the page size is an ABI break, and > > the 32-bit ABI was formalised long before 64kb pages were a thing, so > > things _will_ break. That said the loader should work, as a decade ago > > binutils 2.25 changed the alignment to 64kb pages by default: > > > > https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff;f=ld/emulparams/armelf_linux.sh;h=280db842208e06e3231ec3a8322369193630a07d;hp=35891f1fc91bddd03677aaefd7146ae5333e6cf0;hb=7572ca8989ead4c3425a1500bc241eaaeffa2c89;hpb=8335d6aa34b88ce31b62e1b578d54ab4aa364435 > > > > That won’t help specific pieces of software that eg assume the page size is > > a built-time constant (and use the wrong constant), but helloworld should > > be good. Can you replicate with pristine poky master and a minimal > > configuration in a qemu? > > > > Ross > > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#210129): https://lists.openembedded.org/g/openembedded-core/message/210129 Mute This Topic: https://lists.openembedded.org/mt/110280373/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
