On 23.05.2018 16:49, Michael Kerrisk (man-pages) wrote: > Hello Helge, > > On 22 May 2018 at 15:14, Helge Deller <deller@xxxxxx> wrote: >> The parisc gateway page currently only exports 3 functions: >> The lws_entry for CAS operations (at 0xb0), the set_thread_pointer >> function for usage in glibc (at 0xe0) and the linux syscall entry (at >> 0x100). >> >> All other symbols in the manpage are internal labels and shouldn't be >> used directly by userspace or glibc, so drop them from the man page >> documentation. > > Can I clarify a point here. You say they are "internal labels that > shouldn't be used". Correct. > This seems a little contradictory. Am I correct to > understand that what you mean is that those symbols are actually > visible but should be used? ... those symbols are actually visible but should NOT be used? -> Yes. The code flow is: Userspace jumps to 0xb0 which is symbol "lws_entry". lws_entry then runs across lws_start, then e.g. to lws_compare_and_swap and returns to userspace via lws_exit. All symbols beside lws_entry should not be visible to userspace and should not be called directly by userspace. Thus, those symbols should not be listed in the man page either. Ideally I should mark those symbols as local symbols in the kernel source code in a future patch.... > If yes, maybe some words need to be added > to the text to bring this point across. I'm fine with any better wording. Helge >> Signed-off-by: Helge Deller <deller@xxxxxx> >> >> diff --git a/man7/vdso.7 b/man7/vdso.7 >> index 6eec351e5..6ee64ed4b 100644 >> --- a/man7/vdso.7 >> +++ b/man7/vdso.7 >> @@ -322,7 +322,7 @@ set_tid_address >> .SS parisc (hppa) functions >> .\" See linux/arch/parisc/kernel/syscall.S >> .\" See linux/Documentation/parisc/registers >> -The parisc port has a code page full of utility functions >> +The parisc port has a code page with utility functions >> called a gateway page. >> Rather than use the normal ELF auxiliary vector approach, >> it passes the address of >> @@ -344,21 +344,9 @@ for example: >> l l. >> offset function >> _ >> -00b0 lws_entry >> -00e0 set_thread_pointer >> +00b0 lws_entry (CAS operations) >> +00e0 set_thread_pointer (used by glibc) >> 0100 linux_gateway_entry (syscall) >> -0268 syscall_nosys >> -0274 tracesys >> -0324 tracesys_next >> -0368 tracesys_exit >> -03a0 tracesys_sigexit >> -03b8 lws_start >> -03dc lws_exit_nosys >> -03e0 lws_exit >> -03e4 lws_compare_and_swap64 >> -03e8 lws_compare_and_swap >> -0404 cas_wouldblock >> -0410 cas_action >> .TE >> .if t \{\ >> .in > > > -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html