Re: Toybox make root no longer works as expected

Rob Landley <[email protected]>
Newsgroups gmane.linux.ports.sh.devel
Message-ID <[email protected]>
On 5/2/26 01:55, John Paul Adrian Glaubitz wrote:
> On Fri, 2026-05-01 at 16:27 -0500, Rob Landley wrote:
>>> What about the patches for J2 support? And can it work with a GCC git tree like [1]?
>>
>> They're in musl-cross-make.
...
> Hmm, sounds like a bit too much to be able to do that in a short time now
> in order to be able to test the kernel patch. I guess I will merge the patch
> now anyways and send it to Linus unless someone else has done that already
> anyway.

The first commit that broke the build was 76b6f5dfb3fd adding the listns 
syscall to kernel/nstree.c which then goes:

during RTL pass: final
In file included from kernel/nstree.c:8:
kernel/nstree.c: In function '__se_sys_listns':
./include/linux/syscalls.h:262:9: internal compiler error: in 
change_address_1, at emit-rtl.c:2275
   262 |         } 
         \
       |         ^
./include/linux/syscalls.h:237:9: note: in expansion of macro 
'__SYSCALL_DEFINEx'
   237 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
       |         ^~~~~~~~~~~~~~~~~
./include/linux/syscalls.h:229:36: note: in expansion of macro 
'SYSCALL_DEFINEx'
   229 | #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, 
__VA_ARGS__)
       |                                    ^~~~~~~~~~~~~~~
kernel/nstree.c:729:1: note: in expansion of macro 'SYSCALL_DEFINE4'
   729 | SYSCALL_DEFINE4(listns, const struct ns_id_req __user *, req,
       | ^~~~~~~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
{standard input}: Assembler messages:
{standard input}: Warning: end of file not at end of a line; newline 
inserted
{standard input}:1640: Error: missing operand
{standard input}:1640: Error: invalid operands for opcode
{standard input}:1075: Error: displacement to undefined symbol .L375 
overflows 12-bit field
{standard input}:1113: Error: displacement to undefined symbol .L491 
overflows 12-bit field
{standard input}:1127: Error: displacement to undefined symbol .L376 
overflows 12-bit field
{standard input}:1139: Error: displacement to undefined symbol .L493 
overflows 12-bit field
{standard input}:1173: Error: displacement to undefined symbol .L494 
overflows 12-bit field
{standard input}:1186: Error: displacement to undefined symbol .L286 
overflows 12-bit field
{standard input}:1286: Error: displacement to undefined symbol .L320 
overflows 12-bit field
{standard input}:1300: Error: displacement to undefined symbol .L656 
overflows 12-bit field
{standard input}:1313: Error: displacement to undefined symbol .L499 
overflows 12-bit field
{standard input}:1334: Error: displacement to undefined symbol .L384 
overflows 12-bit field
{standard input}:1359: Error: displacement to undefined symbol .L365 
overflows 12-bit field
{standard input}:1391: Error: displacement to undefined symbol .L385 
overflows 12-bit field
{standard input}:1397: Error: displacement to undefined symbol .L500 
overflows 12-bit field
{standard input}:1409: Error: displacement to undefined symbol .L386 
overflows 12-bit field
{standard input}:1452: Error: displacement to undefined symbol .L346 
overflows 12-bit field
{standard input}:1609: Error: pcrel too far
{standard input}:1611: Error: pcrel too far
{standard input}:1619: Error: pcrel too far
{standard input}:1620: Error: pcrel too far
make[3]: *** [scripts/Makefile.build:287: kernel/nstree.o] Error 1

The end of line not at end of file, missing operand, and invalid 
operands for opcode seem relevant, and the fact it's happening in the 
middle of a nested macro expansion implies that the code being fed into 
the actual compiler plumbing may be nuts here, but I'd have to cc -E and 
then cc -S the result to see what actually happens.

I'm not yet convinced the compiler is WRONG, it may just be missing some 
error checking so it's responding to bad input with shrapnel instead of 
a coherent error message.

Rob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.