From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11816 invoked by alias); 1 Jul 2011 16:03:31 -0000 Received: (qmail 11804 invoked by uid 22791); 1 Jul 2011 16:03:30 -0000 X-SWARE-Spam-Status: No, hits=-6.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Jul 2011 16:03:10 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p61G38wL006138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 1 Jul 2011 12:03:08 -0400 Received: from anchor.twiddle.net (vpn-224-236.phx2.redhat.com [10.3.224.236]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p61G37LN008520; Fri, 1 Jul 2011 12:03:08 -0400 Message-ID: <4E0DEFBB.4060109@redhat.com> Date: Fri, 01 Jul 2011 16:03:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc15 Thunderbird/3.1.10 MIME-Version: 1.0 To: "Dr. David Alan Gilbert" CC: gcc-patches@gcc.gnu.org, patches@linaro.org Subject: Re: [Patch 2/3] ARM 64 bit atomic operations References: <20110701155254.GA5242@davesworkthinkpad> <20110701155557.GC5242@davesworkthinkpad> In-Reply-To: <20110701155557.GC5242@davesworkthinkpad> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00056.txt.bz2 On 07/01/2011 08:55 AM, Dr. David Alan Gilbert wrote: > +/* Check that the kernel has a new enough version at load */ > +void __check_for_sync8_kernelhelper (void) > +{ > + if (__kernel_helper_version < 5) > + { > + const char err[] = "A newer kernel is required to run this binary. (__kernel_cmpxchg64 helper)\n"; > + /* At this point we need a way to crash with some information > + for the user - I'm not sure I can rely on much else being > + available at this point, so do the same as generic-morestack.c > + write() and abort(). */ > + write (2 /* stderr */, err, sizeof(err)); > + abort (); > + } > +}; Wouldn't it be better to convert the arm kernel to use a proper VDSO, so that this error actually comes from the dynamic linker? That's the beauty of a true VDSO -- proper symbol resolution. r~