From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20476 invoked by alias); 25 Oct 2011 20:39:28 -0000 Received: (qmail 20466 invoked by uid 22791); 25 Oct 2011 20:39:27 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 25 Oct 2011 20:39:15 +0000 From: "jakub at redhat dot com" To: glibc-bugs@sources.redhat.com Subject: [Bug nptl/13344] Marking all functions which don't have callbacks with the leaf attribute breaks pthread applications. Date: Tue, 25 Oct 2011 20:39:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: nptl X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: drepper.fsp at gmail dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org X-SW-Source: 2011-10/txt/msg00165.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=13344 --- Comment #1 from Jakub Jelinek 2011-10-25 20:38:30 UTC --- I think the leaf attribute in gcc is currently primarily used by ipa-reference to find out what variables are supposed not to be read resp. written during the call to that function (with leaf attribute all static vars in the current translation unit are in that set if the leaf function is defined in some other compilation unit) and for checking whether labels can be reached by non-local goto. While the synchronization primitives don't call any callbacks, from this POV it is undesirable to treat them that way, they need to be considered as full barriers. I think the GCC documentation of leaf attribute should be improved and the pthread.h/sem.h functions that are supposed to work as memory synchronization points should use __THROWNL or similar macro which would be the old __THROW, without leaf attribute in it. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.