PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/proc/self/root/usr/share/doc/libatomic_ops/
Upload File :
Current File : //proc/self/root/usr/share/doc/libatomic_ops/ChangeLog
== [7.6.2] 2017-12-24 ==

* Allow to alter DEFAULT/MAX_NTHREADS values in test_malloc/stack
* Allow to select almost-non-blocking stack implementation explicitly
* Annotate AO_malloc with 'alloc_size' and 'malloc' attributes
* Avoid misleading 'AO_t undefined' error if wrong atomic_ops.h included
* Define AO_TS_SET to 1 (true) if GCC atomic_test_and_set is used
* Disable workaround in stack_pop_acquire that was needed for ancient Clang
* Do not define AO_GCC_FORCE_HAVE_CAS for Clang 3.8+ (Aarch64)
* Do not disallow to define double_load using built-in atomics (Aarch64)
* Do not expose AO_GCC_FORCE_HAVE_CAS macro to client code (GCC)
* Do not install documentation if configure --disable-docs (new option)
* Do not produce .tar.bz2 distribution file (configure)
* Eliminate '-pedantic is not an option that controls warnings' GCC message
* Eliminate data race in cons() of test_malloc
* Eliminate GCC-5 ASan global-buffer-overflow false positive for AO_stack_bl
* Fill in allocated memory with values depending on thread id (test_malloc)
* Fix 'bad register name %sil' assembler error (GCC-4.4/x86)
* Fix 'unknown attribute no_sanitize' compiler warning for GCC
* Fix AO_malloc for sizes near CHUNK_SIZE
* Fix memory leak in test_malloc
* Fix test failures for Clang-3.8 and older (Aarch64)
* Fix test_stack failure if AO_PREFER_BUILTIN_ATOMICS (GCC/Aarch64)
* Fix typo in AO_REAL_NEXT_PTR comment
* Increase the default number of threads to 16 in test_malloc/stack
* Mark unallocated/freed memory as inaccessible using ASan functionality
* New macro (DONT_USE_MMAP) to support testing as if mmap() is unavailable
* New macro to select stack implementation based on CAS-double
* Place no_sanitize attributes in a GCC-compliant way
* Prevent too long run of test_atomic_generalized (especially with TSan)
* Simplify '#if' expressions in gcc/x86.h (code refactoring)
* Test smallest allocation of large type (test_malloc)
* Use __builtin_expect in atomic_ops_malloc
* Use built-in atomics for load/store/CAS for Clang by default (Aarch64)
* Use double-word atomic intrinsics for recent Clang versions (gcc/x86.h)
* Use GCC atomic intrinsics for Hexagon (clang 3.9+)
* Use generalized double-wide load/store if AO_PREFER_GENERALIZED (Aarch64)
* Workaround 'unused result' code defects in atomic_ops.c, list_atomic
* Workaround Thread Sanitizer (TSan) false positive warnings
Also, includes 7.4.8 changes


== [7.6.0] 2017-05-19 ==

* Add *_and/or/xor* and *_[fetch_]compare_and_swap* tests to test_atomic
* Add asm-based and/or/xor implementation for char/short/int (gcc/x86)
* Add asm-based char/short/int CAS implementation for gcc/x86[_64]
* Add configure '--disable-atomic-intrinsics' option
* Add dd_acquire_read case to test_atomic
* Add initial nios2 architecture support
* Add Makefile target (check-nolink) to compile all source without linking
* Add Makefile target to run all tests without test-driver
* Add test_atomic_generalized to Makefile and Makefile.msft
* Allow alternate CC (CROSS_CC) for AC_TRY_COMPILE (configure)
* Always define word-wide CAS for x86 (MS VC++ 8+)
* Avoid atomic_compare_exchange_n if no __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n
* Avoid extra nop_full in stack_pop_acquire if atomic intrinsics used (x86)
* Basic support of TILE-Gx and TILEPro CPUs
* Code refactoring of int-wide primitives in gcc/x86.h
* Define AO_TS_SET as __GCC_ATOMIC_TEST_AND_SET_TRUEVAL if applicable
* Define CLANG/GNUC_PREREQ macros to check gcc/clang minimum version
* Do not define print_list() unless used (tests)
* Eliminate 'condition sizeof(long)>4 is always true' cppcheck style warning
* Eliminate 'ISO C90 does not support long long' compiler pedantic warning
* Eliminate 'scope of variable can be reduced' cppcheck warnings
* Eliminate redundant lwsync 2nd call in CAS_full on fail (gcc/PowerPC)
* Fix 'unknown attribute no_sanitize' compiler warning (clang prior to v3.8)
* Fix 'variable new value is never used' cppcheck style warning
* Fix missing double_compare_and_swap_dd_acquire_read
* Fix reporting about missing and/or/xor_dd_acquire_read (test_atomic)
* Hide AO_locks symbol
* Implement AO_CLEAR using C11 atomic intrinsic (GCC)
* Implement CAS_acquire/release/full using __atomic_compare_exchange_n (gcc)
* Implement char and/or/xor and short CAS for msftc ARM and X86[_64]
* Implement char CAS and char/short add for msftc X86[_64] (VS 2013+)
* Implement compiler_barrier using C11 __atomic_signal_fence (GCC)
* Implement int CAS/inc/dec for msftc/x86_64
* Implement short inc/dec directly for msftc ARM and X86[_64]
* Initial ibmc/powerpc (xlc) support
* New configure option (--enable-werror) to treat warnings as compiler errors
* New macro AO_PREFER_BUILTIN_ATOMICS to rely on C11 atomics fully (AArch64)
* Refine AO_nop_write comment for ARM big.LITTLE architecture
* Refine configure messages when checking for compiler options
* Refine documentation about _full memory ordering suffix
* Refine README how to build the library source from the repository
* Relax shareability domain for dmb st in AO_nop_write (ARM/AArch64)
* Remove redundant include windows.h from headers (msftc/x86[_64])
* Remove spaces at EOLn in asm code
* Report gcc/clang pedantic warnings (configure)
* Support NaCl/arm
* Suppress 'ISO C does not support __int128 type' GCC/Clang pedantic warning
* Test store/CAS emulation explicitly
* Update shared libraries version info to 2:0:1
* Use GCC atomic intrinsics for PowerPC 32/64 (GCC 4.8+ and clang 3.8+)
* Use GCC atomic intrinsics for x86, x64, ARM, MIPS (gcc 4.9+, clang 3.5+)
* Use generalized double-wide load/store if AO_PREFER_GENERALIZED (gcc/x86)
* Workaround '#error' cppcheck error messages
* Workaround 'condition always true', 'unused stored value' cppcheck warnings
* Workaround 'function is never used' cppcheck style warnings
* Workaround 'obsolescent ftime called' cppcheck style warning (POSIX)
* Workaround 'overflow in pointer subtraction' cppcheck warning
* Workaround 'shifting 32-bit value by 32 bits undefined' cppcheck warning
* Workaround 'uninitialized memory use' code analyzer false warning (tests)
* Workaround 'uninitialized variable' cppcheck error in hpc/hppa.h
* Workaround 'value of macro is unknown' cppcheck information messages
* Workaround a bug in double-wide intrinsics of Clang/x64 with ASan enabled
* Workaround MSan warning about uninitialized data read by generalized store
Also, includes 7.4.6 changes


== [7.4.10] 2017-12-22 ==

* Fix AO_malloc for sizes near CHUNK_SIZE
* Fix memory leak in test_malloc
* Fix typo in AO_REAL_NEXT_PTR comment


== [7.4.8] 2017-10-18 ==

* Fix 'missing select.h', 'undefined sigprocmask' compiler errors (Hexagon)
* Update README about bugs reporting and new releases notification
* Workaround misspelling in GCC to detect ARMv6KZ platform


== [7.4.6] 2017-05-18 ==

* Add assertion that double-wide CAS target is aligned (msftc/x86[_64])
* Add configure --enable-gcov option (enable code coverage analysis)
* Code refactoring of gcc/powerpc.h to avoid code duplication
* Eliminate 'cast to long from void*' compiler warning in test_atomic
* Eliminate 'implicit declaration of close' warning in 'strict ANSI' mode
* Eliminate 'missing braces around initializer' gcc warning (hppa)
* Eliminate 'printf format specifies type void*' GCC pedantic warnings
* Eliminate 'value shift followed by expansion' false code defect warning
* Enable limited testing in Makefile.msft without Cygwin
* Fix (delete) comment for AO_and_full (x86)
* Fix block_all_signals compilation in 'strict ANSI' mode
* Fix missing .exe for test filenames in Makefile (MinGW)
* Fix missing printed value names (test_stack)
* Implement fetch-CAS for s390[x] (gcc)
* Move libraries version info to the beginning of Makefile.am
* Refine documentation in Makefile.msft how to run all tests (MS VC)
* Refine README about library downloading
* Rename doc/README.txt to doc/README_details.txt
* Support AIX/ppc (gcc)
* Support CFLAGS_EXTRA to pass extra user-defined compiler flags (make)
* Support n32 ABI for mips64
* Update shared libraries version info for 7.4.6+ (to 1:4:0)
* Use 'inline code' format for commands in README.md
* Use LLD and SCD instructions on mips64
* Workaround 'resource leak' false positives in AO_malloc, add_elements
* Workaround 'uninitialized memory use' MemorySanitizer warning (test_atomic)
Also, includes 7.2h changes


== [7.4.4] 2016-05-24 ==

* Eliminate 'signed-to-unsigned value extension' compiler warning in malloc
* Eliminate 'variable set but not used' Cppcheck warnings in test_stack
* Fix GCC 5.x compatibility for AArch64 double-wide primitives
* Fix makefile preventing AO_pause undefined in libatomic_ops_gpl
* Fix missing casts to match printf format specifier in test_atomic
* Fix missing output folder on making auto-generated test files (Automake)
* Fix typo in configure.ac (in description of AO_ASM_X64_AVAILABLE)
* Minor fix of code alignment in mips AO_compare_and_swap
* Remove TODO file
* Restore contribution info in ChangeLog for authors not listed in git log
Also, includes 7.2g changes


== [7.4.2] 2014-05-02 ==

* Fix a typo in doc/README.txt (remove redundant "an" article)
* Update emails/links due to project site transition
Also, includes 7.2f changes


== [7.4.0] 2013-11-17 ==

* Add and/or/xor entries to list_atomic (tests)
* Add char/short/int/AO_double_t and dd_acquire cases to list_atomic (tests)
* Add compile-time assertion for size of 'standard' AO_double_t
* Add double_store pthread-based implementation and tests
* Add generalized CAS primitives of char/short/int size
* Add generalized atomic and/or/xor operations for char/short/int types
* Add generalized fetch_and_add_acquire/release (for ARMv6+)
* Add generic implementation of double_load primitives
* Add information about AO_ASSUME_VISTA to README_win32
* Add internal header containing only char/short/int/AO_t atomic loads
* Add load/store primitives generalization based on CAS
* Add lock-based implementation of char/short/int_fetch_compare_and_swap
* Add makefile rule to test list_atomic.template syntax (tests)
* Add missing 'const' in aligned-atomic XSIZE_load implementation
* Add missing double_compare_and_swap to generalization
* Add missing generalization of no-barrier CAS in template
* Add negative double-CAS test cases to test_atomic_include (tests)
* Add test_stack to Makefile.msft (tests)
* Adjust fprintf arguments type matching specifier in test_stack (tests)
* Adjust included filenames in atomic_ops_malloc and test_stack
* Adjust quotes in echo command of Makefile.msft (Win32)
* Always use 'mfence' for nop_full if target CPU supports SSE2 (gcc/x86)
* Better document configure THREADDLLIBS variable
* Cast away volatile on dereference in CAS-based generalization primitives
* Change policy regarding version numbers ("micro" part instead of "alpha")
* Convert README to Markdown format
* Define AO_NO_PTHREADS in configure if no pthreads (Win32 and VxWorks)
* Define AO_int_X operations for ARM and avr32
* Define double-wide ordered loads/stores for x86
* Define int_and/or/xor primitives in ao_t_is_int header
* Define nop_full as compiler barrier for pre-ARMv6 single-core case
* Do not duplicate BUILT_SOURCES entries in nobase_private_HEADERS (Makefile)
* Do not include standard_ao_double_t.h where double-CAS is unimplemented
* Do not report absence of meaningless nop, load and store in test_atomic
* Do not use deprecated AO_T and AO_TS_T (tests)
* Eliminate 'missing initializer' warning for AO_stack_t value initializer
* Eliminate 64-bit compiler warnings in atomic_ops_malloc
* Eliminate arithmetic shifts in double-CAS (gcc/arm, msftc/x86)
* Eliminate warning for fetch_and_add argument in test_atomic_include (tests)
* Enable Makefile.msft for Win64
* Enable build using toolchain without pthreads
* Enable double_compare_and_swap for non-cpp code (msftc/x86.h)
* Enable generalization of all variants of CAS via fetch_compare_and_swap
* Enable test_stack for pthreads-w32 and Win32 with native threads
* Fix generalized AO_char/short_compare_and_swap args (missing 'unsigned')
* Fix makefile sed rule for list_atomic (tests)
* Fix missing abort() usage in atomic_ops_malloc and tests on WinCE
* Generalize compare_double_and_swap_double using double_compare_and_swap
* Generalize double_load/store for x86_64 (GCC)
* Generate ao_t_is_int, 'loadstore' headers from templates
* Generate generalized AO_t load/store/fetch_and_add primitives from template
* Generate ordered_loads/stores_only headers from templates
* Group all X_acquire_release_volatile.h and X_[aligned_]atomic_load_store.h
* Implement and/or/xor, AO_double_load for ARM
* Implement atomic store using direct write by default on ARMv6+
* Implement char/short/int-wide primitives using GCC built-in atomic/sync
* Implement char/short/int_fetch_and_add for msftc/x86[_64] (Win32)
* Implement char/short_fetch_and_add, char/short_load for ARMv6+ (GCC)
* Implement char/short_store primitives at aligned addresses for ARM
* Implement compare_double_and_swap_double for SunCC/x86
* Implement double_load/store based on guaranteed x86 access atomicity
* Implement double_store for ARMv7 using LDREXD/STREXD
* Implement load/store via simple LDR/STR for ARMv6+ (msftc)
* Implement nop_full/write using 'dmb' instruction if available (gcc/arm)
* Improve debug printing in test_stack (tests)
* Log messages to stdout instead of stderr (tests)
* Make AO_ASSUME_VISTA also enables Win98 code in msftc/x86.h (Win32)
* Minimize gcc/generic-arithm template by factoring out barriers
* Move 'unsigned' keyword to XCTYPE in generalize-small template
* Move default compiler options to CFLAGS in Makefile.msft (Win32)
* Move definitions of ordered loads/stores to inner separate headers
* Move gcc-generic AO_t-wide primitives to generic-small/arithm headers
* Move generalized arithmetical primitives to 'generalize-arithm' template
* Optimize AO_spin manually to minimize compiler influence on its duration
* Parameterize list_atomic template with XSIZE (tests)
* Perform only few list reversals in test_malloc if AO based on pthreads
* Put autogen.sh to 'dist' package (Automake)
* Remote duplicate definition of test_and_set_acquire in generalize.h
* Remove X_aligned_atomic_load_store headers and template
* Remove duplicate AO_spin and AO_pause definition in atomic_ops_stack
* Remove gcc/x86_64.h eliminating code duplication of gcc/x86.h
* Remove nested AO_USE_PTHREAD_DEFS macro check in atomic_ops.h (gcc/arm)
* Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm)
* Remove store_full from msftc/arm.h in favor of generalized primitive
* Remove sunc/x86_64.h eliminating code duplication of sunc/x86.h
* Remove unsafe emulation-based implementation of double CAS (SunCC/x86_64)
* Remove useless 'perror' call in run_parallel.h (tests)
* Reorder AO_double_t union elements for AO_DOUBLE_T_INITIALIZER portability
* Replace atomic_load_store.template with atomic_load and atomic_store ones
* Replace some FIXME items with TODO in atomic_ops.c and sysdeps headers
* Specify fetch_and_add/sub1 result as unused in test_atomic (tests)
* Support AArch64 (64-bit ARM) target (GCC)
* Support ARMv8 target (gcc/arm)
* Test double_compare_and_swap in test_atomic (tests)
* Use AO_ prefix for internal functions in arm_v6.h, hppa.h
* Use __atomic GCC built-in to implement generic double-wide CAS
* Use built-in __sync CAS for double-CAS if AO_USE_SYNC_CAS_BUILTIN for x86
* Workaround GCC 4.4.3 warning reported for 'val' of list_atomic.c (tests)
Also, includes 7.2e changes


== [7.3alpha2] 2012-05-11 ==

* Add '-no-undefined' to LDFLAGS in src/Makefile.am
* Add AO_and, AO_xor atomic operations
* Add AO_fetch_compare_and_swap primitives
* Add and fill in AUTHORS, TODO files
* Add autogen.sh file
* Adjust AO_..._H macros in public headers
* Code refactoring of gcc/arm.h by introducing AO_ARM_HAVE_x macros
* Define AO macros for libatomic_ops version identification
* Do not define NDEBUG if '--enable-assertions' passed to configure
* Eliminate compiler warnings in various functions and macros
* Generalize AO_compare_and_swap primitives via AO_fetch_compare_and_swap
* Generalize acquire/release/full CAS primitives for MIPS
* Implement fetch_and_add, test_and_set primitives for MIPS
* Improve Makefile for MS VC++; pass '-W3' option to MS compiler
* Include ao_t_is_int.h from atomic_ops.h after first generalization pass
* Merge all Makefile.am files in src tree
* Minor code refactoring of atomic_ops.c, generic_pthread.h
* Minor configure build improvements (e.g., ensure proper autoconf version)
* Place only major per-release changes description to ChangeLog (this file)
* Recognize AO_PREFER_GENERALIZED macro to favor generalization over assembly
* Remove all auto-generated files except for generalize-small.h from the repo
* Remove duplicate doc/COPYING and empty NEWS files
* Replace atomic_ops_malloc static mmap-related empty functions with macros
* Replace pointer relational comparisons with non-pointer ones
* Require autoconf 2.61 instead of v2.64
* Show extra compiler warnings (GCC only)
* Turn off AO primitives inlining if AO_NO_INLINE defined
* Use __builtin_expect in CAS failure loop condition checks (GCC only)
Also, includes 7.2 changes


== [7.2i] 2017-12-21 ==

* Fix 'missing select.h', 'undefined sigprocmask' compiler errors (Hexagon)
* Fix AO_malloc for sizes near CHUNK_SIZE
* Fix typo in AO_REAL_NEXT_PTR comment


== [7.2h] 2017-05-17 ==

* Add 'clean' target to Makefile.msft
* Enable Makefile.msft for Win64
* Exclude 'check' from nmake all (Makefile.msft)
* Fix 'Cannot implement CAS_full on this architecture' build error (cris)
* Fix 'doc' files installation folder
* Fix (improve) AO_REQUIRE_CAS description in README
* Fix AO_SIZE_MAX definition (Linux/musl-gcc)
* Fix assertions style in test_atomic_include
* Fix size value wrap around in AO_malloc_large
* Fix test_atomic failure caused unaligned AO_double_t access (x86)
* Fix type of general AO_TS_INITIALIZER
* Fix typo in comments in gcc/arm.h
* Fix typos in 'error' pragma messages
* Workaround test_stack failure on AIX/ppc


== [7.2g] 2016-05-23 ==

* Add disclaimer to README to favor C11/C++14 atomics over libatomic_ops use
* Regenerate configure files using official libtool release (v2.4.2)
* Remove inclusion of acquire_release_volatile.h on MIPS
* Remove obsolete information from README about C++0x standard future
* Update links due to project site transition


== [7.2f] 2014-05-02 ==

* Fix a typo in doc/README.txt (remove redundant "an" article)
* Regenerate configure files by new automake (v1.14.1), libtool (v2.4.2.418)


== [7.2e] 2013-11-10 ==

* Fix (remove) invalid include of read_ordered.h for ARM
* Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1
* Fix AO_pause sleep delay for particular argument values (Win32)
* Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)
* Fix LDREXD/STREXD use for pre-Clang3.3/arm
* Fix README regarding _acquire_read barrier
* Fix XSIZE_load/store definition order in generalize-small template
* Fix asm constraint of CAS memory operand for gcc/alpha, clang-3.1/mips
* Fix asm constraints of primitives in sunc/x86.h
* Fix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64
* Fix compare_double_and_swap_double and double_ptr_storage for gcc/x32
* Fix compare_double_and_swap_double for clang3.0/x86 in PIC mode
* Fix compare_double_and_swap_double_full definition condition in emul_cas
* Fix generalize-small template adding missed CAS-based fetch_and_add
* Fix generalized fetch_and_add function
* Fix missing compiler barrier in nop_full for uniprocessor ARM
* Fix ordered_except_wr header inclusion for s390
* Fix return type of AO_int_X primitives defined in ao_t_is_int header
* Fix return type of char/short/int_load_read() in read_ordered.h
* Fix template-based headers regeneration order in src/Makefile
* Fix typos in ao_t_is_int, atomic_ops.h, generalize.h, msftc/arm.h comments
* Fix variable type to match printf format specifier in test_stack
* Fix visibility and initial value of 'dummy' variable in atomic_ops_stack
* Terminate tests with abort after error reported


== [7.2d] 2012-08-09 ==

* Fix AO_compare_double_and_swap_double_full for gcc-4.2.1/x86 in PIC mode
* Fix AO_compiler_barrier missing parentheses
* Fix missing 'unsigned' for generalized AO_char/short_fetch_and_add result


== [7.2] 2012-05-11 ==

* Add atomic_ops.pc.in and atomic_ops-uninstalled.pc.in to pkgconfig folder
* Define and use AO_PTRDIFF_T in tests for casts between pointer and integer
* Fix AO_compare_and_swap return type for s390 and PowerPC
* Fix AO_compare_double_and_swap_double_full for gcc/x86 (PIC mode)
* Fix AO_stack_push_release to workaround bug in clang-1.1/x86 compiler
* Fix AO_test_and_setXX in tests/list_atomic.template
* Fix AO_test_and_set_full (gcc/x86[_64].h) to work-around a bug in LLVM v2.7
* Fix AO_test_and_set_full on m68k
* Fix __ARM_ARCH_5__ macro handling for Android NDK (ARMv7)
* Fix configure for Cygwin, mingw-w64/32
* Fix configure to define __PIC__ macro explicitly if needed (GCC)
* Fix double_ptr_storage definition for GCC pre-v4 (x86_64)
* Fix for x32 by removing 'q' suffix in x86-64 instructions
* Fix generalization for IA-64 (regarding AO_or, AO_..._read/write primitives)
* Fix generalized AO_<type>_fetch_and_add() return type
* Fix test_atomic_include for the case of missing CAS primitive
* Fix test_malloc - allocate less memory in case of missing mmap
* Implement the basic atomic primitives for the hexagon CPU


== [7.2alpha6] 2011-06-14 ==

* Add missing AO_HAVE_ macros
* Add support of avr32 CPU
* Better support of various models of ARM
* Disable AO_compare_double_and_swap_double_full for SunCC x86 as not working
* Enable ARM Thumb-2 mode
* Fix AO_test_and_set_full for SunCC (x86)
* Fix bugs in tests
* Fix clobbers in AO_compare_and_swap_full (x86.h)
* Fix typos in identifiers and comments
* Improve AO_sync for PowerPC
* Improve make scripts (configure.ac)
* Make get_mmaped() in atomic_ops_malloc.c more portable
* Support Intel compiler
* Support NaCl target
* Suppress compiler warnings in various places
* Test more predefined macros (ARM, PowerPC)
* Use assembly code only for MS VC if available (x86_64)
* Use built-in __sync_bool_compare_and_swap if available (x86_64)
* Workaround bugs in LLVM GCC and SunCC regarding XCHG (x86, x86_64)


== [7.2alpha4] 2009-12-02 ==

* Fix typos in comments, identifiers and documentation
* Implement AO_compare_and_swap_full for SPARC
* Refine ARM-specific code
* Refine code and comments for MS VC
* Regenerate make scripts
* Share common code for all 32-bit CPUs (MS VC)
* Support DigitalMars and Watcom compilers
* Support MS VC for ARM (WinCE)
* Support SH CPU
* Support win32-pthreads
* Support x86 and x86_64 for SunCC compiler


== [7.2alpha2] 2009-05-27 ==

* Add MIPS support
* Add better support for m68k
* Add "const" to first parameter of load calls
* Add parentheses around address argument for various macros
* Add some platform-specific documentation to INSTALL
* Add untested 64-bit support for PowerPC
* Fix AO_compare_and_swap_double_acquire
* Fix AO_int_fetch_and_add_full (x86_64)
* Fix comments
* Fix s390 include paths
* Fix use of lwz instruction (PowerPC)
* Refine clobbers (PowerPC)
* Remove outdated info about Windows support in README
* Replace K&R-style function definition with ANSI C one
* add AO_compare_double_and_swap_double for ARMv6
* gcc/powerpc.h: Consider __NO_LWSYNC__


== [7.1] 2008-02-11 ==

* Add test_and_set, AO_double_compare_and_swap generalizations
* Conditionally add compare_double_and_swap_double (x86)
* Conditionally add compare_double_and_swap_double (x86)
* Fix AO_compare_double_and_swap_double_full (x86) for PIC mode
* Fix AO_load_acquire for PowerPC
* Fix double-width CAS (x86)
* Refine README (add more warnings about data dependencies)
* Refine double_ptr_storage type definition
* Support ARMv6+ in GCC
* Support ArmCC compiler
* Use _InterlockedExchangeAdd for MS VC (x86)


== [7.0] 2007-06-28 ==

* Add 64-bit version of AO_load_acquire for PowerPC (by Luca Barbato)
* Add support of x86 and x86_64 for MS VC
* Do not assume that "mfence" is always present (x86.h)
* Fix ARM AO_test_and_set_full
* Include windows.h (MS VC)
* Update README to reflect C++0x effort


== [1.2] 2006-07-11 ==

* Add prototypes to suppress compiler warnings
* Add simple VxWorks support
* Fix InterlockedCompareExchange proto usage
* Fix typos (ia64)
* Include all_acquire_release_volatile.h and all_atomic_load_store.h (ia64)
* Initial support for 64-bit targets
* Use "=q" for AO_test_and_set_full (x86)
* Use inline assembler to generate "mfence" and byte sized XCHG
* Use new intrinsics available in MSVC 2003 and MSVC 2005


== [1.1] 2005-09-27 ==

* Add and use read_ordered.h
* Change function naming from "byte" to "char"
* Fix AO_test_and_set for ARM; define AO_CAN_EMUL_CAS


== [1.0] 2005-03-21 ==

* Add atomic_ops primitives for different sized data
* Add compare_double_and_swap_double and compare_and_swap_double
* Add gcc/cris.h (originally comes from Hans-Peter Nilsson)
* Add gcc/m68k.h (contributed by Tony Mantler)
* Add gcc/powerpc.h (with help of Maged Michael, Doug Lea, Roger Hoover)
* Add initial support for atomic_ops for VC++/Windows/X86 and HP/UX
* Add minimal support for the Sun SPARC compiler
* Add support for platforms that require out-of-line assembly code
* Add support of int-wide operations on platforms with int-sized pointers
* Added libatomic_ops_gpl library with support for lock-free stack and malloc
* Change atomic_ops include file structure
* Change most platforms to use byte-wide test-and-set locations
* Define AO_CLEAR, __ldcw[_align] macros in gcc/hppa.h (by Carlos O'Donell)
* Fix various bugs
* Install under "atomic_ops" instead of "ao"
* Remove compiler_barrier workaround for gcc 3.4+
* Renamed various types to end in _t
* Replace AO_HAVE_NOP_FULL with AO_HAVE_nop_full (by Ranko Zivojnovic)
* Use autoconf, automake