Re: svn commit: branches/uClibc-nptl/libpthread: nptl nptl/sysdeps/generic nptl/sysdeps/p etc...

2008-12-03 Thread Bernhard Reutner-Fischer
On Wed, Dec 03, 2008 at 09:53:18AM -0800, [EMAIL PROTECTED] wrote:
>Author: carmelo
>Date: 2008-12-03 09:53:17 -0800 (Wed, 03 Dec 2008)
>New Revision: 24246
>
>Log:
>Rework nptl build system for cleaning headers and objects
>to be compliant with all other Makefile.
>The output of the make clean (silent mode) will be as follows:

>Modified: branches/uClibc-nptl/libpthread/nptl/Makefile.in
>===
>--- branches/uClibc-nptl/libpthread/nptl/Makefile.in   2008-12-03 14:07:45 UTC 
>(rev 24245)
>+++ branches/uClibc-nptl/libpthread/nptl/Makefile.in   2008-12-03 17:53:17 UTC 
>(rev 24246)

> nptl_headers_clean:
>-  $(RM) $(PTDIR)/banner.h $(top_builddir)include/pthread.h\
>-$(PTDIR)/version.h $(top_builddir)include/semaphore.h \
>+  $(do_rm) $(addprefix $(top_builddir),$(nptl_headers_bootstrap)) \
> $(PTHREAD_OUT)/pthread-errnos.{c,h,s}

The primary reason why do_rm was added was to be gentle to shells which do not
do bash-like globs. Please refer to the samples on trunk.

PS: It would be nice if we would move to use something like $(call do_rm,)
mid-term since with that it should be easier to pretty-print the dirname of
the affected files once and correctly (as you can see i cheat with the names
a bit right now). Any volunteers?


>Modified: 
>branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in
>===
>--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in   
>2008-12-03 14:07:45 UTC (rev 24245)
>+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in   
>2008-12-03 17:53:17 UTC (rev 24246)
>@@ -130,7 +130,7 @@
> librt-a-y += $(LIBRT_LINUX_OBJ)
> librt-so-y += $(LIBRT_LINUX_OBJ:.o=.oS)
> 
>-objclean-y += nptl_linux_objclean
>+objclean-y += nptl_linux_clean
> headers_clean-y += nptl_linux_headers_clean
> 
> #
>@@ -188,11 +188,13 @@
> $(ALL_HEADERS_BITS_PTHREAD):
>   $(do_ln) ../../$(PTHREAD_LINUX_DIR)/bits/$(@F) $(top_builddir)$@
>   
>+nptl_linux_headers_all:= $(PTHREAD_LINUX_OUT)/lowlevelbarrier.{c,h,s} \
>+  $(PTHREAD_LINUX_OUT)/lowlevelcond.{c,h,s}   \
>+  $(PTHREAD_LINUX_OUT)/lowlevelrwlock.{c,h,s} \
>+  $(PTHREAD_LINUX_OUT)/unwindbuf.{c,h,s}

breaks too, fwiw

___
uClibc mailing list
uClibc@uclibc.org
http://busybox.net/cgi-bin/mailman/listinfo/uclibc


Re: [PATCH] ldso: use _dl_pagesize for library-loading addresses and offsets

2008-12-03 Thread Bernhard Reutner-Fischer
On Wed, Nov 26, 2008 at 09:23:44PM +1100, Jeremy Kerr wrote:

I've applied your 3 patches to trunk as r24250-24252.
Sorry for the delay and thanks for fixing it!

___
uClibc mailing list
uClibc@uclibc.org
http://busybox.net/cgi-bin/mailman/listinfo/uclibc


Re: svn commit: branches/uClibc-nptl/libpthread: nptl nptl/sysdeps/generic nptl/sysdeps/p etc...

2008-12-03 Thread Carmelo Amoroso
Bernhard Reutner-Fischer wrote:
> On Wed, Dec 03, 2008 at 09:53:18AM -0800, [EMAIL PROTECTED] wrote:
>> Author: carmelo
>> Date: 2008-12-03 09:53:17 -0800 (Wed, 03 Dec 2008)
>> New Revision: 24246
>>
>> Log:
>> Rework nptl build system for cleaning headers and objects
>> to be compliant with all other Makefile.
>> The output of the make clean (silent mode) will be as follows:
> 
>> Modified: branches/uClibc-nptl/libpthread/nptl/Makefile.in
>> ===
>> --- branches/uClibc-nptl/libpthread/nptl/Makefile.in 2008-12-03 14:07:45 UTC 
>> (rev 24245)
>> +++ branches/uClibc-nptl/libpthread/nptl/Makefile.in 2008-12-03 17:53:17 UTC 
>> (rev 24246)
> 
>> nptl_headers_clean:
>> -$(RM) $(PTDIR)/banner.h $(top_builddir)include/pthread.h\
>> -  $(PTDIR)/version.h $(top_builddir)include/semaphore.h \
>> +$(do_rm) $(addprefix $(top_builddir),$(nptl_headers_bootstrap)) \
>>$(PTHREAD_OUT)/pthread-errnos.{c,h,s}
> 
> The primary reason why do_rm was added was to be gentle to shells which do not
> do bash-like globs. Please refer to the samples on trunk.
> 
Hi Bernhard,
it should be fine now (rev 24254). Thanks for pointing this out.

> PS: It would be nice if we would move to use something like $(call do_rm,)
> mid-term since with that it should be easier to pretty-print the dirname of
> the affected files once and correctly (as you can see i cheat with the names
> a bit right now). Any volunteers?
>
not now for me, sorry :(

> 
>> Modified: 
>> branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in
>> ===
>> --- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in 
>> 2008-12-03 14:07:45 UTC (rev 24245)
>> +++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in 
>> 2008-12-03 17:53:17 UTC (rev 24246)
>> @@ -130,7 +130,7 @@
>> librt-a-y += $(LIBRT_LINUX_OBJ)
>> librt-so-y += $(LIBRT_LINUX_OBJ:.o=.oS)
>>
>> -objclean-y += nptl_linux_objclean
>> +objclean-y += nptl_linux_clean
>> headers_clean-y += nptl_linux_headers_clean
>>
>> #
>> @@ -188,11 +188,13 @@
>> $(ALL_HEADERS_BITS_PTHREAD):
>>  $(do_ln) ../../$(PTHREAD_LINUX_DIR)/bits/$(@F) $(top_builddir)$@
>>  
>> +nptl_linux_headers_all:= $(PTHREAD_LINUX_OUT)/lowlevelbarrier.{c,h,s}   
>> \
>> +$(PTHREAD_LINUX_OUT)/lowlevelcond.{c,h,s}   \
>> +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.{c,h,s} \
>> +$(PTHREAD_LINUX_OUT)/unwindbuf.{c,h,s}
> 
> breaks too, fwiw
> 
> 
fixed too.

Cheers,
Carmelo

___
uClibc mailing list
uClibc@uclibc.org
http://busybox.net/cgi-bin/mailman/listinfo/uclibc


__THROW and cancellation point patch.

2008-12-03 Thread Michael Deutschmann
Last March, I made a suggestion to this list:  That the many functions
which are cancellation points, but would otherwise never throw C++
exceptions, be marked with a "__THROW_CP" macro.  This would be a no-op on
threaded builds of uClibc, but would be equivalent to __THROW for a
threadless build.

This would produce a tiny optimization boost for threadless builds, and
more importantly, would make the include files much clearer.  No longer
will every tenth line be part of a comment explaining why __THROW is not
applied to a given function.

There was no response, probably because while the idea is simple, it
requires a lot of typing to implement.  Well, I'm back, having done the
work.

I now have a patch available at:

ftp://ftp.ocis.net/pub/users/ldeutsch/beta/uClibc-0.9.30-throwcp.diff

The patch adds "__THROW_CP", and applies it to every function previously
having a "such-and-such is a cancellation point and so not marked with
__THROW" comment.  Additionally, fputw(), fgetw(), and BSD sigpause() have
been marked __THROW_CP.  sigpause() was formerly __THROW, which looked
wrong to me.

I'm "dogfooding" the patch, but that doesn't really count for much since
I don't use C++.  I'd be interested to see any heavy-duty exception users
try it out, both to see if it helps the unthreaded case, and verify it
does not break the multithreaded case.

 Michael Deutschmann <[EMAIL PROTECTED]>
___
uClibc mailing list
uClibc@uclibc.org
http://busybox.net/cgi-bin/mailman/listinfo/uclibc