Message ID | 20220511001947.2112747-1-f.fainelli@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | package/cpulimit: Disable build on OpenRISC with musl-libc | expand |
On 11/05/2022 02:19, Florian Fainelli wrote: > As reported in the following autobuild report: > > http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ > > cpulimit does not build due to a lack of definition for elf_gregset_t > which is not currently provided in the or1k musl-libc port. While this > is being worked on, disable the build for or1k and musl-libc. > > Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Fixes: 9e8e80d1e335 ("package: Add cpulimit") > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Applied to master, thanks. Regards, Arnout > --- > package/cpulimit/Config.in | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/package/cpulimit/Config.in b/package/cpulimit/Config.in > index 7cab152fc0ea..cca74afc9955 100644 > --- a/package/cpulimit/Config.in > +++ b/package/cpulimit/Config.in > @@ -1,7 +1,12 @@ > +comment "cpulimit needs a toolchain w/ threads, does not build open openrisc with musl" > + depends on BR2_USE_MMU > + depends on !BR2_TOOLCHAIN_HAS_THREADS || (BR2_or1k && BR2_TOOLCHAIN_USES_MUSL) > + > config BR2_PACKAGE_CPULIMIT > bool "cpulimit" > depends on BR2_USE_MMU # fork() > depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on !(BR2_or1k && BR2_TOOLCHAIN_USES_MUSL) > help > Cpulimit is a tool which limits the CPU usage of a process > (expressed in percentage, not in CPU time)
On Tue, May 10, 2022 at 05:19:47PM -0700, Florian Fainelli wrote: > As reported in the following autobuild report: > > http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ > > cpulimit does not build due to a lack of definition for elf_gregset_t > which is not currently provided in the or1k musl-libc port. While this > is being worked on, disable the build for or1k and musl-libc. Hello, You mention this is being worked on. I am curious who is working on this? I try to look over OpenRISC stuff, do you need me to do anything on musl for this? -Stafford
On 5/14/2022 7:09 PM, Stafford Horne wrote: > On Tue, May 10, 2022 at 05:19:47PM -0700, Florian Fainelli wrote: >> As reported in the following autobuild report: >> >> http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ >> >> cpulimit does not build due to a lack of definition for elf_gregset_t >> which is not currently provided in the or1k musl-libc port. While this >> is being worked on, disable the build for or1k and musl-libc. > > Hello, > > You mention this is being worked on. I am curious who is working on this? > > I try to look over OpenRISC stuff, do you need me to do anything on musl for > this? I posted this: https://www.openwall.com/lists/musl/2022/05/10/1 if you don't mind reviewing, thanks!
On Sat, May 14, 2022 at 07:14:21PM -0700, Florian Fainelli wrote: > > > On 5/14/2022 7:09 PM, Stafford Horne wrote: > > On Tue, May 10, 2022 at 05:19:47PM -0700, Florian Fainelli wrote: > > > As reported in the following autobuild report: > > > > > > http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ > > > > > > cpulimit does not build due to a lack of definition for elf_gregset_t > > > which is not currently provided in the or1k musl-libc port. While this > > > is being worked on, disable the build for or1k and musl-libc. > > > > Hello, > > > > You mention this is being worked on. I am curious who is working on this? > > > > I try to look over OpenRISC stuff, do you need me to do anything on musl for > > this? > > I posted this: > > https://www.openwall.com/lists/musl/2022/05/10/1 > > if you don't mind reviewing, thanks! No problem, I don't have the mail in my inbox, I've subscribed to musl now. Put some comments below based on what I had configured in glibc. diff --git a/arch/or1k/bits/user.h b/arch/or1k/bits/user.h index e69de29bb2d1..3405bf771c0f 100644 --- a/arch/or1k/bits/user.h +++ b/arch/or1k/bits/user.h @@ -0,0 +1,11 @@ +struct user_regs { + unsigned long gpr[32]; + unsigned long pc; + unsigned long sr; +}; OK, matches glibc. +#define ELF_NGREG 34 In glibc we define this as 32. Howerver, we define elf_gregset_t as elf_gregset_t[34]. I don't see where ELF_NGREG is really used so I am not sure of the impact to this. I also can't remember why I set these different in glibc. +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; + +/* or32 does not have floating point support, placeholder */ +typedef unsigned long elf_fpregset_t; OpenRISC uses the same registers and floating point and integer. This is defined in glibc as: /* Register set for the floating-point registers. */ typedef elf_greg_t elf_fpregset_t[32]; -Stafford
On 5/14/2022 8:25 PM, Stafford Horne wrote: > On Sat, May 14, 2022 at 07:14:21PM -0700, Florian Fainelli wrote: >> >> >> On 5/14/2022 7:09 PM, Stafford Horne wrote: >>> On Tue, May 10, 2022 at 05:19:47PM -0700, Florian Fainelli wrote: >>>> As reported in the following autobuild report: >>>> >>>> http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ >>>> >>>> cpulimit does not build due to a lack of definition for elf_gregset_t >>>> which is not currently provided in the or1k musl-libc port. While this >>>> is being worked on, disable the build for or1k and musl-libc. >>> >>> Hello, >>> >>> You mention this is being worked on. I am curious who is working on this? >>> >>> I try to look over OpenRISC stuff, do you need me to do anything on musl for >>> this? >> >> I posted this: >> >> https://www.openwall.com/lists/musl/2022/05/10/1 >> >> if you don't mind reviewing, thanks! > > No problem, I don't have the mail in my inbox, I've subscribed to musl now. > > Put some comments below based on what I had configured in glibc. > > diff --git a/arch/or1k/bits/user.h b/arch/or1k/bits/user.h > index e69de29bb2d1..3405bf771c0f 100644 > --- a/arch/or1k/bits/user.h > +++ b/arch/or1k/bits/user.h > @@ -0,0 +1,11 @@ > +struct user_regs { > + unsigned long gpr[32]; > + unsigned long pc; > + unsigned long sr; > +}; > > OK, matches glibc. > > +#define ELF_NGREG 34 > > In glibc we define this as 32. Howerver, we define elf_gregset_t as > elf_gregset_t[34]. I don't see where ELF_NGREG is really used so I am > not sure of the impact to this. I also can't remember why I set these > different in glibc. If it this is meant to be number of general purpose registers as the name suggests, then it looks like 32 would be more adequate. > > +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; > + > +/* or32 does not have floating point support, placeholder */ > +typedef unsigned long elf_fpregset_t; > > OpenRISC uses the same registers and floating point and integer. This is defined > in glibc as: > > /* Register set for the floating-point registers. */ > typedef elf_greg_t elf_fpregset_t[32]; OK, I will send a v2 with those fixes, thanks for taking a look!
diff --git a/package/cpulimit/Config.in b/package/cpulimit/Config.in index 7cab152fc0ea..cca74afc9955 100644 --- a/package/cpulimit/Config.in +++ b/package/cpulimit/Config.in @@ -1,7 +1,12 @@ +comment "cpulimit needs a toolchain w/ threads, does not build open openrisc with musl" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || (BR2_or1k && BR2_TOOLCHAIN_USES_MUSL) + config BR2_PACKAGE_CPULIMIT bool "cpulimit" depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !(BR2_or1k && BR2_TOOLCHAIN_USES_MUSL) help Cpulimit is a tool which limits the CPU usage of a process (expressed in percentage, not in CPU time)
As reported in the following autobuild report: http://autobuild.buildroot.net/results/2a9cf20949beac46d1c689df2c5b7ab0d59c08b5/ cpulimit does not build due to a lack of definition for elf_gregset_t which is not currently provided in the or1k musl-libc port. While this is being worked on, disable the build for or1k and musl-libc. Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Fixes: 9e8e80d1e335 ("package: Add cpulimit") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- package/cpulimit/Config.in | 5 +++++ 1 file changed, 5 insertions(+)