[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#995187: qtwebengine-opensource-src FTBFS on mips*: unistd_nr_{n32,n64,o32}.h no linger exported by the kernel



Dmitry Shachnev <mitya57@debian.org> 于2021年9月29日周三 下午7:47写道:
>
> Hi YunQiang!
>
> On Wed, Sep 29, 2021 at 09:09:46AM +0800, YunQiang Su wrote:
> > Ohh, the new mips linux kernel removes some macros: so now we can use
> > the same code as x86:
>
> Thank you for the patch! What I don’t like is hard-coding of 999u.
>

The 999u is due to that:
#if _MIPS_SIM == _MIPS_SIM_ABI32
#define __NR_Linux      4000
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
#if _MIPS_SIM == _MIPS_SIM_ABI64
#define __NR_Linux      5000
#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
#if _MIPS_SIM == _MIPS_SIM_NABI32
#define __NR_Linux      6000
#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */

The o32/n64/n32 ABI is just from 4000/5000/6000.

> Do you know what is the actual number of syscalls? Is there a probability
> that it will be ≥ 1000 in the future?
>

In the previous version of Linux kernel, it expose
     __NR_64_Linux_syscalls
     __NR_32_Linux_syscalls
     __NR_N32_Linux_syscalls
for the real number of syscalls for the given Linux version.
While now, these macro has been tread as kernel internal values,
and cannot be get in userland.

Since 4000/5000/6000, ≥ will be impossbile without huge rework for kernel.

> --
> Dmitry Shachnev



-- 
YunQiang Su


Reply to: