Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 77503 invoked from network); 22 Aug 2005 19:08:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 22 Aug 2005 19:08:33 -0000 Received: (qmail 83680 invoked by uid 500); 22 Aug 2005 19:08:33 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 83669 invoked by uid 500); 22 Aug 2005 19:08:33 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 83656 invoked by uid 99); 22 Aug 2005 19:08:32 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Aug 2005 12:08:32 -0700 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=HTML_90_100,HTML_FONT_BIG,HTML_MESSAGE,MIME_HTML_MOSTLY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [12.17.213.84] (HELO bco-exchange.bco.roguewave.com) (12.17.213.84) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Aug 2005 12:08:49 -0700 Received: from [10.70.3.113] (10.70.3.113 [10.70.3.113]) by bco-exchange.bco.roguewave.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id NNYTQ618; Mon, 22 Aug 2005 13:08:08 -0600 Message-ID: <430A2315.6030201@roguewave.com> Date: Mon, 22 Aug 2005 13:10:13 -0600 From: Martin Sebor User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050716 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Justin Erenkrantz CC: stdcxx-dev@incubator.apache.org, Nicole Willson Subject: Re: [PATCH] STDCXX-11: IA64 32-bit atomic operations broken References: <4FA4B7B3231C5D459E7BAD020213A94202948E29@bco-exchange.bco.roguewave.com> <20050818080627.GP21279@scotch.ics.uci.edu> In-Reply-To: <20050818080627.GP21279@scotch.ics.uci.edu> Content-Type: multipart/mixed; boundary="------------060400060705000006040909" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --------------060400060705000006040909 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Justin Erenkrantz wrote: > On Thu, Aug 04, 2005 at 05:15:03PM -0600, Nicole Willson wrote: > >>Ok, apparently attachments are not allowed on this list. So, here it is: > > > Can you please be more specific about this? Certain types of > attachments are indeed rejected; but plain-text attachments should be > fine. I think the attachment might have been there but got mangled. Looking at the original post attached to the MODERATE request (in the attached email), it had the attachment intact but what showed up on the list was messed up. Perhaps the HTML format had something to do with it. Martin --------------060400060705000006040909 Content-Type: message/rfc822; name="Attached Message" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Attached Message" Received: from mailgate1.quovadx.com (mailgate.roguewave.com [172.17.40.71]) by cvo1.cvo.roguewave.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id 2NKZSYA7; Thu, 4 Aug 2005 14:04:03 -0700 Received: from mail.apache.org (hermes.apache.org [209.237.227.199]) by mailgate1.quovadx.com (8.13.1/8.13.1) with SMTP id j74L3Kn6002651 for ; Thu, 4 Aug 2005 21:03:30 GMT Received: (qmail 32266 invoked by uid 500); 4 Aug 2005 21:03:15 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Date: 4 Aug 2005 21:03:15 -0000 Message-ID: <1123189395.32265.ezmlm@incubator.apache.org> From: stdcxx-dev-reject-1123189395.32265.jhdkagmiemlcbnkldejj@incubator.apache.org Reply-To: stdcxx-dev-accept-1123189395.32265.jhdkagmiemlcbnkldejj@incubator.apache.org Cc: stdcxx-dev-allow-tc.1123189395.dnoocijkpifjhphhhjpi-willson=roguewave.com@incubator.apache.org To: Recipient list not shown: ; MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=jkegponklfbinbdamajo Subject: MODERATE for stdcxx-dev@incubator.apache.org X-Virus-Scanned: ClamAV 0.83/1003/Thu Aug 4 14:43:24 2005 on mailgate1.quovadx.com X-Virus-Status: Clean X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_40,HTML_90_100, HTML_FONT_BIG,HTML_IMAGE_RATIO_06,HTML_MESSAGE,MIME_HTML_MOSTLY, NO_REAL_NAME autolearn=disabled version=3.0.4 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mailgate1.quovadx.com --jkegponklfbinbdamajo Content-Type: text/plain; charset=us-ascii To approve: stdcxx-dev-accept-1123189395.32265.jhdkagmiemlcbnkldejj@incubator.apache.org To reject: stdcxx-dev-reject-1123189395.32265.jhdkagmiemlcbnkldejj@incubator.apache.org To give a reason to reject: %%% Start comment %%% End comment --jkegponklfbinbdamajo Content-Type: message/rfc822 Return-Path: Delivered-To: moderator for stdcxx-dev@incubator.apache.org Received: (qmail 32253 invoked by uid 99); 4 Aug 2005 21:03:14 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Aug 2005 14:03:14 -0700 X-ASF-Spam-Status: No, hits=0.6 required=10.0 tests=EXTRA_MPART_TYPE,HTML_90_100,HTML_FONT_BIG,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [12.17.213.84] (HELO bco-exchange.bco.roguewave.com) (12.17.213.84) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Aug 2005 14:03:04 -0700 Received: by bco-exchange.bco.roguewave.com with Internet Mail Service (5.5.2657.72) id ; Thu, 4 Aug 2005 14:52:46 -0600 Message-ID: <4FA4B7B3231C5D459E7BAD020213A94202948E28@bco-exchange.bco.roguewave.com> From: Nicole Willson To: "'stdcxx-dev@incubator.apache.org'" Subject: [PATCH] STDCXX-11: IA64 32-bit atomic operations broken Date: Thu, 4 Aug 2005 14:52:45 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: multipart/related; boundary="----_=_NextPart_000_01C59936.775DB200"; type="multipart/alternative" X-Virus-Checked: Checked by ClamAV on apache.org This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C59936.775DB200 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C59936.775DB200" ------_=_NextPart_001_01C59936.775DB200 Content-Type: text/plain This patch correctly implements the IA64 atomic operations in 32-bit mode. Tested on HP-UX 11.23 on Itanium 2 with HP ANSI aC++ 6.00 [Aug 25 2004] for IA64. ChangeLog: 2005-08-04 Nicole Willson STDCXX-11: * src/atomic-ia64-32.s: same as src/atomic-ia64.s but for IA64 in 32-bit mode. Nicole Willson Consulting Engineer Rogue Wave Software, Inc. A Division of Quovadx 303-545-3210 ------_=_NextPart_001_01C59936.775DB200 Content-Type: text/html Content-Transfer-Encoding: quoted-printable

This patch correctly implements the IA64 atomic operations in 32-bit mode. = Tested on HP-UX 11.23 on Itanium 2 with HP ANSI aC++ = 6.00 [Aug 25 = 2004] for IA64.

 

ChangeLog:

 

2005-08-04  = Nicole Willson  = <willson@roguewave.com>

 

    = STDCXX-11:

    * src/atomic-ia64-32.s: same as src/atomic-ia64.s but for

    IA64 in 32-bit mode.

 

Ni= cole Willson

Consulting = Engineer

Rogue Wave Software, = Inc.

A Division of = Quovadx

303-545-3210

------_=_NextPart_001_01C59936.775DB200-- ------_=_NextPart_000_01C59936.775DB200 Content-Type: application/octet-stream; name="atomic-ia64-32.s" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="atomic-ia64-32.s" ////////////////////////////////////////////////////////////////////////= //// // // atomic-ia64-32.s // // $Id: //stdlib/4.1.1-rel/source/stdlib/atomic-ia64-32.s#1 $ // ////////////////////////////////////////////////////////////////////////= //// // // Copyright (c) 1994-2004 Quovadx, Inc. All Rights Reserved. // // This computer software is owned by Quovadx, Inc. and is protected = by // U.S. copyright laws and other laws and by international = treaties. // This computer software is furnished by Quovadx, Inc., pursuant to = a // written license agreement and may be used, copied, transmitted, = and // stored only in accordance with the terms of such license agreement = and // with the inclusion of the above copyright notice. This = computer // software or any other copies thereof may not be provided or = otherwise // made available to any other person. // // // U.S. Government Restricted Rights. // // This computer software: (a) was developed at private expense and is = in // all respects the proprietary information of Quovadx, Inc.; (b) was = not // developed with government funds; (c) is a trade secret of = Quovadx, // Inc. for all purposes of the Freedom of Information Act; and (d) is = a // commercial item and thus, pursuant to Section 12.212 of the = Federal // Acquisition Regulations (FAR) and DFAR Supplement Section = 227.7202, // Government's use, duplication or disclosure of the computer = software // is subject to the restrictions set forth by Quovadx, Inc. // ////////////////////////////////////////////////////////////////////////= //// .text //.pred.safe_across_calls p1-p5,p16-p63 .psr abi32=20 .psr msb ////////////////////////////////////////////////////////////////////////= //// // extern "C" char __rw_atomic_xchg8 (char *x, char y); // // Atomically assigns the 8-bit value y to *x and returns // the original (before assignment) 8-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_xchg8# .proc __rw_atomic_xchg8# __rw_atomic_xchg8: .prologue .body // .mfb addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; xchg1 r8 =3D [r9], r33 nop 0 br.ret.sptk.many b0 .endp __rw_atomic_xchg8# ////////////////////////////////////////////////////////////////////////= //// // extern "C" char __rw_atomic_add8 (char *x, int y); // // Atomically increments the 8-bit value *x by y and returns // the new (after increment) 8-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_add8# .proc __rw_atomic_add8# __rw_atomic_add8: .prologue .body // .mmb mf addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; ld1.acq r15 =3D [r9] nop 0 ;; .add8_busywait: // .mmi mov ar.ccv =3D r15 add r8 =3D r15, r33 mov r2 =3D r15 ;; // .mmb nop 0 cmpxchg1.acq r15 =3D [r9], r8, ar.ccv nop 0 ;; // .mbb cmp.ne p8, p9 =3D r2, r15 (p9) br.ret.dpnt.many rp br .add8_busywait .endp __rw_atomic_add8# ////////////////////////////////////////////////////////////////////////= //// // extern "C" short __rw_atomic_xchg16 (short *x, short y); // // Atomically assigns the 16-bit value y to *x and returns // the original (before assignment) 16-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_xchg16# .proc __rw_atomic_xchg16# __rw_atomic_xchg16: .prologue .body // .mfb addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; xchg2 r8 =3D [r9], r33 nop 0 br.ret.sptk.many b0 .endp __rw_atomic_xchg16# ////////////////////////////////////////////////////////////////////////= //// // extern "C" short __rw_atomic_add16 (short *x, short y); // // Atomically increments the 16-bit value *x by y and returns // the new (after increment) 16-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_add16# .proc __rw_atomic_add16# __rw_atomic_add16: .prologue .body // .mmb mf addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; ld2.acq r15 =3D [r9] nop 0 ;; .add16_busywait: // .mmi mov ar.ccv =3D r15 add r8 =3D r15, r33 mov r2 =3D r15 ;; // .mmb nop 0 cmpxchg2.acq r15 =3D [r9], r8, ar.ccv nop 0 ;; // .mbb cmp.ne p8, p9 =3D r2, r15 (p9) br.ret.dpnt.many rp br .add16_busywait .endp __rw_atomic_add16# ////////////////////////////////////////////////////////////////////////= //// // extern "C" int __rw_atomic_xchg32 (int *x, int y); // // Atomically assigns the 32-bit value y to *x and returns // the original (before assignment) 32-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_xchg32# .proc __rw_atomic_xchg32# __rw_atomic_xchg32: .prologue .body // .mfb addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; xchg4 r8 =3D [r9], r33 nop 0 br.ret.sptk.many b0 .endp __rw_atomic_xchg32# ////////////////////////////////////////////////////////////////////////= //// // extern "C" int __rw_atomic_add32 (int *x, int y); // // Atomically increments the 32-bit value *x by y and returns // the new (after increment) 32-bit value of *x. ////////////////////////////////////////////////////////////////////////= //// .global __rw_atomic_add32# .proc __rw_atomic_add32# __rw_atomic_add32: .prologue .body // .mmb mf addp4 r9 =3D 0, r32 // Needed to be able to dereference a 32 bit = pointer ;; ld4.acq r15 =3D [r9] nop 0 ;; .add32_busywait: // .mmi mov ar.ccv =3D r15 add r8 =3D r15, r33 mov r2 =3D r15 ;; // .mmb nop 0 cmpxchg4.acq r15 =3D [r9], r8, ar.ccv nop 0 ;; // .mbb cmp4.ne p8, p9 =3D r2, r15 (p9) br.ret.dpnt.many rp br .add32_busywait .endp __rw_atomic_add32# ------_=_NextPart_000_01C59936.775DB200 Content-Type: image/jpeg; name="image001.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="image001.jpg" Content-ID: /9j/4AAQSkZJRgABAgEASABIAAD/7QZAUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgAB AAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA MgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////// //////////////////8D6AAAAAD/////////////////////////////A+gAAAAA//////////// /////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQ AAAAAQAAAkAAAAJAAAAAADhCSU0ECQAAAAAEzwAAAAEAAACAAAAAgAAAAYAAAMAAAAAEswAYAAH/ 2P/gABBKRklGAAECAQBIAEgAAP/+ACdGaWxlIHdyaXR0ZW4gYnkgQWRvYmUgUGhvdG9zaG9wqCA0 LjAA/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwM DAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwM DAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgACAAwEiAAIRAQMR Af/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 6/v5hJJLhPYlA/glwklMpKVolP3pp7p++iSldvNKR3+SRS8klK+SU+CRSSUrv5JSOEo7pT2SUpKN EpMeJSJSUr4pJdkvjykp/9Dr+QkJIShKQT8E9iUEvJJLVJStfmkPw8UvglOsH70lK+PCUd0hwl8U lK8kvhwEvNL4JKUSkEtOEklKjxS0S58vNIpKUlB+SUa6duUoSU//0evTd0/YjhL569k9iUUkktJ8 0lKSBKR5S5SUrRLVIeSY68d0lL9vimGif+KXkkpWiXhHzS4S1RUoifIJaBKdPJL4oKV5/elOmiXw SnXQpKf/0uv14SOqQ8PuSPMp7EpLulKRn5JKUkPvT88pu89+ySlJQAl/rCRjg/JJS3h+Cf8AIkkf E/gkpXKQ8kvuSmPJJStO6RSS/KkpXhPdJKfH5JJKf//T69LjQpf6yl+RPYlf6hLzSB/3JdklK8+3 glz/ABKSUapKVPilx/sSB8PklISUqNP70vxCRSSUrRJKI80vNJSu6RS5S0+SSlJcaH70pCUJKf/U 6/4JDwS+CXKexK+KRMJaz8Eo7JKV3SidTwkkQkpRPyS7pSEklK5SS8+6SSla8pJtDpx5J0lLaJz/ ALwl240SJhJSo1+HZL8qXmlqR8UlP//V67wP4JylH3pTrHfunsSkuPNL8vZLySUrlJNyU6SlJdpS Snx7d0lK158UvMfclyNO6XCSlHRIJfxSSUpIpJQkpQ1SS1kSkkp//9br5180pHZKUpjT8U9iVyUu 2iXxCWqSldvBJLTsUuP4pKV2SA/2Jo08E6SlTokEuNEklKmEkw5TwOUlK8kkvwKRSUqfx4TpkuNB 80lP/9kAOEJJTQQGAAAAAAAHAAMBAQABAQD//gAnRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rv c2hvcKggNC4wAP/uACFBZG9iZQBkAAAAAAEDABADAgMGAAAAAAAAAAAAAAAA/9sAhAAKBwcHCAcK CAgKDwoICg8SDQoKDRIUEBASEBAUEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM AQsMDBUTFSIYGCIUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwM 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 ------_=_NextPart_000_01C59936.775DB200 Content-Type: image/gif; name="image002.gif" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="image002.gif" Content-ID: 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 2vGa4RxnOc+ZznW2853xnOQgAAA7 ------_=_NextPart_000_01C59936.775DB200-- --jkegponklfbinbdamajo-- --------------060400060705000006040909--