On Tue, 2012-04-24 at 17:48 +0200, Bernhard Reutner-Fischer wrote:
> On 24 April 2012 17:35, Mark Salter <[email protected]> wrote:
> > On Tue, 2012-04-24 at 17:00 +0200, Bernhard Reutner-Fischer wrote:
> >> On 24 April 2012 16:50, Mark Salter <[email protected]> wrote:
> >> > Upstream Linux kernel development is requiring new architecture ports to
> >> > use only the default set of generic syscalls. This means familiar 
> >> > syscalls
> >>
> >> http://lists.uclibc.org/pipermail/uclibc/2011-September/045726.html
> >>
> >
> > Heh. I knew there had to be patch out there. I saw some other older ones
> > for specific syscalls, but never saw yours in my searching.
> >
> > Looks pretty close to what I've been using but doesn't seem to have
> > generated much interest. I missed the no_cancel bits, but I figured
> > there would be such things broken in my patch too.
> >
> > So, is there any other concerns besides the cancellation? I saw some
> > concern about bloat, but if the approach is to use the noat syscalls
> > if they exist, it shouldn't bloat ports using older kernels.
> 
> Do you have size(1) measures for using the *at() versus noat?
> 

So, I partitioned the patch into 7 patches. 3 for things not directly
related to the missing syscalls, and 1 each to match the syscall
groups controlled by kernel defines:

   __ARCH_WANT_SYSCALL_{DEPRECATED,OFF_T,NO_FLAGS,NO_AT}

Only ldso, libc, and libpthread had size changes during testing. I
tried with and without the full patch using a kernel with all the
old syscalls. Then I measured the effect of turning off the
__ARCH_WANT_SYSCALL_foo syscalls. None of the sizes changed more
than a couple hundred byte overall. Interestingly, turning off
the NO_FLAG and NO_AT syscalls resulted in smaller library sizes.

I'm going to repost the patches individually so we can discuss
them separately.

without full patch, kernel with old syscalls
   text    data     bss     dec     hex filename
  45329    1176     172   46677    b655 ld-uClibc-0.9.34-git.so
  52881   18524    8640   80045   138ad libpthread-0.9.34-git.so
 469182    5692   10120  484994   76682 libuClibc-0.9.34-git.so

with full patch, kernel with old syscalls
   text    data     bss     dec     hex filename
  45329    1176     172   46677    b655 ld-uClibc-0.9.34-git.so
  52881   18524    8640   80045   138ad libpthread-0.9.34-git.so
 469278    5692   10120  485090   766e2 libuClibc-0.9.34-git.so

with full patch, no __ARCH_WANT_SYSCALL_DEPRECATED
  45329    1176     172   46677    b655 ld-uClibc-0.9.34-git.so
  52717   18520    8640   79877   13805 libpthread-0.9.34-git.so
 470392    5696   10128  486216   76b48 libuClibc-0.9.34-git.so

with full patch, no __ARCH_WANT_SYSCALL_{DEPRECATED,OFF_T}
   text    data     bss     dec     hex filename
  45393    1176     172   46741    b695 ld-uClibc-0.9.34-git.so
  52717   18520    8640   79877   13805 libpthread-0.9.34-git.so
 470717    5716   10128  486561   76ca1 libuClibc-0.9.34-git.so

with full patch, no __ARCH_WANT_SYSCALL_{DEPRECATED,OFF_T,NO_FLAGS}
  45393    1176     172   46741    b695 ld-uClibc-0.9.34-git.so
  52717   18520    8640   79877   13805 libpthread-0.9.34-git.so
 470441    5720   10128  486289   76b91 libuClibc-0.9.34-git.so

with full patch, no __ARCH_WANT_SYSCALL_{DEPRECATED,OFF_T,NO_AT}
   text    data     bss     dec     hex filename
  45393    1176     172   46741    b695 ld-uClibc-0.9.34-git.so
  52717   18520    8640   79877   13805 libpthread-0.9.34-git.so
 470017    5760   10128  485905   76a11 libuClibc-0.9.34-git.so




_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to