PATCH: Fix errlist for mips
A message that is not in the archive (sent off-list or not yet received): [email protected]
You know better than I what existing mips libc.so.6 ABIs have for the size of sys_errlist. But for the current version, 123 omits many of the errno values I see in asm-mips/errno.h, and EDQUOT really is 1133. So I don't see how your change can be right.
Quoted 4 lines · Roland McGrath
You know better than I what existing mips libc.so.6 ABIs have for the size of
sys_errlist. But for the current version, 123 omits many of the errno values I see inasm-mips/errno.h, and EDQUOT really is 1133. So I don't see how your change can be right.
That is what was in glibc 2.0 for mips. However, glibc 2.2 is the first glibc version I worked on. I don't have any mips binaries compiled against glibc 2.0. As far as I know, none of glibc prior to the one with all my mips patches applied ever worked 100% correct on mips.
H.J.
Quoted 10 lines · H. J. Lu
Quoted 4 lines · Roland McGrath
You know better than I what existing mips libc.so.6 ABIs have for the size of
sys_errlist. But for the current version, 123 omits many of the errno values I see inasm-mips/errno.h, and EDQUOT really is 1133. So I don't see how your change can be right.That is what was in glibc 2.0 for mips. However, glibc 2.2 is the first glibc version I worked on. I don't have any mips binaries compiled against glibc 2.0. As far as I know, none of glibc prior to the one with all my mips patches applied ever worked 100% correct on mips.
Not everyone uses your MIPS patches; I have a completely functional MIPS system with:
0019df30 l O .data 000011b8 _new_sys_errlist 0019df30 l O .data 000001ec _old_sys_errlist
(That's 1134*4 in the new one and 123*4 in the older one). There's a lot of these beasts deployed and I'd hate to see an incompatible change now!
Signature · 2 lines
Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer
Quoted 4 lines · Daniel Jacobowitz
Not everyone uses your MIPS patches; I have a completely functional MIPS system with:
0019df30 l O .data 000011b8 _new_sys_errlist 0019df30 l O .data 000001ec _old_sys_errlist
It doesn't tell anything. Please, please show size of sys_errlist in glibc 2.0 for mips. I am not even sure if you can run mips binaries compiled against glibc 2.0 with glibc 2.2/2.3.
H.J.
Quoted 9 lines · H. J. Lu
Quoted 4 lines · Daniel Jacobowitz
Not everyone uses your MIPS patches; I have a completely functional MIPS system with:
0019df30 l O .data 000011b8 _new_sys_errlist 0019df30 l O .data 000001ec _old_sys_errlistIt doesn't tell anything. Please, please show size of
sys_errlistin glibc 2.0 for mips. I am not even sure if you can run mips binaries compiled against glibc 2.0 with glibc 2.2/2.3.
I didn't use 2.0 for MIPS either. And I got the wrong impression from your last message; sorry!
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlist
So: I don't know where the GLIBC_2.1 version came from, or why we need a GLIBC_2.3 version, or why we should change the size of the GLIBC_2.0 version. Your patch looks good; should you wipe the GLIBC_2.1 version also?
Signature · 2 lines
Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer
Quoted 20 lines · Daniel Jacobowitz
Quoted 9 lines · H. J. Lu
Quoted 4 lines · Daniel Jacobowitz
Not everyone uses your MIPS patches; I have a completely functional MIPS system with:
0019df30 l O .data 000011b8 _new_sys_errlist 0019df30 l O .data 000001ec _old_sys_errlistIt doesn't tell anything. Please, please show size of
sys_errlistin glibc 2.0 for mips. I am not even sure if you can run mips binaries compiled against glibc 2.0 with glibc 2.2/2.3.I didn't use 2.0 for MIPS either. And I got the wrong impression from your last message; sorry!
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlist
Quoted 4 lines
So: I don't know where the GLIBC_2.1 version came from, or why we need a GLIBC_2.3 version, or why we should change the size of the GLIBC_2.0 version. Your patch looks good; should you wipe the GLIBC_2.1 version also?
sys_errlist in glibc 2.0 is naked. We gave it a version of GLIBC_2.0 when versioning was implemented and we had to increase the size of sys_errlist. We gave it a new version, GLIBC_2.1. Now sys_errlist is changed again for some arches. That is where GLIBC_2.3 came from. For mips, the first supported glibc version after 2.0 is 2.2. That turns GLIBC_2.1 into GLIBC_2.2 for mips. Since mips's sys_errlist is huge in 2.2, there is no need to change it in 2.3.
H.J.
Quoted 5 lines
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlist
Ok, that says sys_nerr=123 in 2.0 and sys_nerr=1134 in 2.2. I have changed the map to have just those.
Thanks,
Roland
Quoted 8 lines · Roland McGrath
Quoted 5 lines
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlistOk, that says sys_nerr=123 in 2.0 and sys_nerr=1134 in 2.2. I have changed the map to have just those.
Please keep in mind that the next version is GLIBC_2.1, not GLIBC_2.2. The reason you see GLIBC_2.2 is GLIBC_2.2 is the first versioned ABI for MIPS.
H.J.
Quoted 7 lines · Roland McGrath
Quoted 6 lines
Quoted 5 lines
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlist
Quoted 6 lines
Quoted 2 lines
Ok, that says sys_nerr=123 in 2.0 and sys_nerr=1134 in 2.2. I have changed the map to have just those.
Please keep in mind that the next version is GLIBC_2.1, not GLIBC_2.2. The reason you see GLIBC_2.2 is GLIBC_2.2 is the first versioned ABI for MIPS.
I don't think it's meaningful to make the distinction. If we wrote GLIBC_2.1, shlib-versions causes it to be GLIBC_2.2, but that's more confusing. Now it says GLIBC_2.2, and that's what you get. There was never a "sys_errlist@GLIBC_2.1" symbol in any binary, so it doesn't make sense to have that version set.
Quoted 14 lines · Roland McGrath
Quoted 7 lines · Roland McGrath
Quoted 6 lines
Quoted 5 lines
Here's what my MIPS glibc has:
0019df30 g DO .data 000001ec (GLIBC_2.0) sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 sys_errlist 0019df30 g DO .data 000001ec (GLIBC_2.0) _sys_errlist 0019df30 g DO .data 000011b8 GLIBC_2.2 _sys_errlistQuoted 6 lines
Quoted 2 lines
Ok, that says sys_nerr=123 in 2.0 and sys_nerr=1134 in 2.2. I have changed the map to have just those.
Please keep in mind that the next version is GLIBC_2.1, not GLIBC_2.2. The reason you see GLIBC_2.2 is GLIBC_2.2 is the first versioned ABI for MIPS.
Quoted 5 lines
I don't think it's meaningful to make the distinction. If we wrote GLIBC_2.1, shlib-versions causes it to be GLIBC_2.2, but that's more confusing. Now it says GLIBC_2.2, and that's what you get. There was never a "sys_errlist@GLIBC_2.1" symbol in any binary, so it doesn't make sense to have that version set.
But you will only see sys_errlist in GLIBC_2.1 in Versions in glibc 2.2.
H.J.
Quoted 1 line
But you will only see
sys_errlistin GLIBC_2.1 in Versions in glibc 2.2.
That is indeed a bit confusing as well. But what really matters is what binaries historically contained, and that the current source code produces that result.
Quoted 6 lines · Roland McGrath
Quoted 1 line
But you will only see
sys_errlistin GLIBC_2.1 in Versions in glibc 2.2.That is indeed a bit confusing as well. But what really matters is what binaries historically contained, and that the current source code produces that result.
errlist is not the only one. Most of GLIBC_2.2 for mips come from GLIBC_2.1.
H.J.