Function is __sync_sub_and_fetch_4 and it is called from 
ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const:

   0x00018a18 <+0>:     stw rp,-14(sp)
   0x00018a1c <+4>:     ldo 140(sp),sp
   0x00018a20 <+8>:     stw r7,-a4(sp)
   0x00018a24 <+12>:    ldo -fc(sp),r7
   0x00018a28 <+16>:    stw r13,-bc(sp)
   0x00018a2c <+20>:    copy r25,r13
   0x00018a30 <+24>:    copy r26,r25
   0x00018a34 <+28>:    stw r12,-b8(sp)
   0x00018a38 <+32>:    copy r7,r26
   0x00018a3c <+36>:    stw r11,-b4(sp)
   0x00018a40 <+40>:    copy r19,r11
   0x00018a44 <+44>:    stw r10,-b0(sp)
   0x00018a48 <+48>:    copy r24,r10
   0x00018a4c <+52>:    stw r9,-ac(sp)
   0x00018a50 <+56>:    stw r8,-a8(sp)
   0x00018a54 <+60>:    stw r3,-94(sp)
   0x00018a58 <+64>:    stw r19,-20(sp)
   0x00018a5c <+68>:    stw r14,-c0(sp)
   0x00018a60 <+72>:    stw r6,-a0(sp)
   0x00018a64 <+76>:    stw r5,-9c(sp)
   0x00018a68 <+80>:    stw r4,-98(sp)
   0x00018a6c <+84>:    b,l 0x1fd28 
<QVector<CustomPropertyDefinition>::QVector(QVector<CustomPropertyDefinition> 
const&)>,rp
   0x00018a70 <+88>:    copy ret0,r9
   0x00018a74 <+92>:    ldw 0(r7),r12
   0x00018a78 <+96>:    ldw 4(r12),ret0
   0x00018a7c <+100>:   ldw c(r12),r8
   0x00018a80 <+104>:   add,l r12,r8,r3
   0x00018a84 <+108>:   shladd,l ret0,3,r8,r8
   0x00018a88 <+112>:   stw r3,4(r7)
   0x00018a8c <+116>:   add,l r12,r8,r8
   0x00018a90 <+120>:   ldi 1,ret0
   0x00018a94 <+124>:   stw r8,8(r7)
   0x00018a98 <+128>:   copy r11,r19
   0x00018a9c <+132>:   cmpb,= r8,r3,0x18ad0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+184>
   0x00018aa0 <+136>:   stw ret0,c(r7)
   0x00018aa4 <+140>:   ldw 0(r13),r6
   0x00018aa8 <+144>:   copy ret0,r14
   0x00018aac <+148>:   ldw 4(r6),r5
   0x00018ab0 <+152>:   ldw 0(r3),ret0
   0x00018ab4 <+156>:   ldw 4(ret0),r20
   0x00018ab8 <+160>:   cmpb,= r5,r20,0x18cac 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+660>
   0x00018abc <+164>:   copy r19,r4
   0x00018ac0 <+168>:   ldo 8(r3),r3
   0x00018ac4 <+172>:   stw r14,c(r7)
   0x00018ac8 <+176>:   cmpb,<> r8,r3,0x18ab0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+152>
   0x00018acc <+180>:   stw r3,4(r7)
   0x00018ad0 <+184>:   ldw 0(r12),ret0
   0x00018ad4 <+188>:   cmpib,= 0,ret0,0x18f58 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+1344>
   0x00018ad8 <+192>:   copy r19,r4
   0x00018adc <+196>:   cmpib,= -1,ret0,0x18af4 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+220>
   0x00018ae0 <+200>:   ldi 1,r25
   0x00018ae4 <+204>:   b,l 0x22a78 <__sync_sub_and_fetch_4>,rp
   0x00018ae8 <+208>:   copy r12,r26
   0x00018aec <+212>:   cmpib,= 0,ret0,0x18f54 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+1340>
   0x00018af0 <+216>:   copy r4,r19
   0x00018af4 <+220>:   b,l 0x16880 <DESKTOPPARSER()>,rp
   0x00018af8 <+224>:   copy r19,r4
   0x00018afc <+228>:   ldb 8(ret0),ret0
   0x00018b00 <+232>:   cmpib,= 0,ret0,0x18c98 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+640>
   0x00018b04 <+236>:   copy r4,r19
   0x00018b08 <+240>:   copy r19,r4
   0x00018b0c <+244>:   b,l 0x16880 <DESKTOPPARSER()>,rp
   0x00018b10 <+248>:   ldo -110(sp),r3
   0x00018b14 <+252>:   ldw 4(ret0),r21
   0x00018b18 <+256>:   stw r0,-134(sp)
   0x00018b1c <+260>:   ldi 2,ret0
   0x00018b20 <+264>:   ldo -138(sp),r20
   0x00018b24 <+268>:   stw ret0,-138(sp)
   0x00018b28 <+272>:   copy r4,r19
   0x00018b2c <+276>:   copy r7,ret0
   0x00018b30 <+280>:   stw r0,-130(sp)
   0x00018b34 <+284>:   copy r19,r4
   0x00018b38 <+288>:   copy r20,r26
   0x00018b3c <+292>:   stw r0,-12c(sp)
   0x00018b40 <+296>:   b,l 0x12db4,rp
   0x00018b44 <+300>:   stw r21,-128(sp)
   0x00018b48 <+304>:   ldw 0(r7),r5
   0x00018b4c <+308>:   copy r4,r19
   0x00018b50 <+312>:   addil L%0,dp,r1
   0x00018b54 <+316>:   ldw 6b4(r1),r26
   0x00018b58 <+320>:   copy r3,ret0
   0x00018b5c <+324>:   ldi 1d,r25
   0x00018b60 <+328>:   b,l 0x12c64,rp
   0x00018b64 <+332>:   copy r19,r4
   0x00018b68 <+336>:   copy r4,r19
   0x00018b6c <+340>:   copy r3,r25
   0x00018b70 <+344>:   copy r5,r26
   0x00018b74 <+348>:   b,l 0x12b84,rp
   0x00018b78 <+352>:   copy r19,r4
   0x00018b7c <+356>:   ldw 0(r3),r26
   0x00018b80 <+360>:   copy r4,r19
   0x00018b84 <+364>:   ldw 0(r26),ret0
   0x00018b88 <+368>:   cmpib,= 0,ret0,0x18bac 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+404>
   0x00018b8c <+372>:   copy r19,r4
   0x00018b90 <+376>:   cmpiclr,<> -1,ret0,r0
   0x00018b94 <+380>:   b,l,n 0x18bc0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+424>,r0
   0x00018b98 <+384>:   b,l 0x22a78 <__sync_sub_and_fetch_4>,rp
   0x00018b9c <+388>:   ldi 1,r25
   0x00018ba0 <+392>:   cmpib,<> 0,ret0,0x18bc0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+424>
   0x00018ba4 <+396>:   copy r4,r19
   0x00018ba8 <+400>:   copy r19,r4
   0x00018bac <+404>:   ldi 4,r24
   0x00018bb0 <+408>:   ldw 0(r3),r26
   0x00018bb4 <+412>:   b,l 0x13004,rp
   0x00018bb8 <+416>:   ldi 2,r25
   0x00018bbc <+420>:   copy r4,r19
   0x00018bc0 <+424>:   ldw 0(r7),r26
   0x00018bc4 <+428>:   ldb 14(r26),ret0
   0x00018bc8 <+432>:   cmpib,<> 0,ret0,0x18fc4 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+1452>
   0x00018bcc <+436>:   ldi 20,r25
   0x00018bd0 <+440>:   ldw 0(r13),ret0
   0x00018bd4 <+444>:   ldi 0,r23
   0x00018bd8 <+448>:   ldw c(ret0),r25
   0x00018bdc <+452>:   copy r7,r26
   0x00018be0 <+456>:   ldw 4(ret0),r24
   0x00018be4 <+460>:   add,l ret0,r25,r25
   0x00018be8 <+464>:   b,l 0x12bf4,rp
   0x00018bec <+468>:   copy r19,r4
   0x00018bf0 <+472>:   ldw 0(r7),r26
   0x00018bf4 <+476>:   copy r4,r19
   0x00018bf8 <+480>:   ldb 14(r26),ret0
   0x00018bfc <+484>:   cmpib,<> 0,ret0,0x18fac 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+1428>
   0x00018c00 <+488>:   copy r26,r5
   0x00018c04 <+492>:   addil L%0,dp,r1
   0x00018c08 <+496>:   ldo -124(sp),r3
   0x00018c0c <+500>:   ldw 6b8(r1),r26
   0x00018c10 <+504>:   copy r3,ret0
   0x00018c14 <+508>:   ldi 19,r25
   0x00018c18 <+512>:   b,l 0x12c64,rp
   0x00018c1c <+516>:   copy r19,r4
   0x00018c20 <+520>:   copy r4,r19
   0x00018c24 <+524>:   copy r3,r25
   0x00018c28 <+528>:   copy r5,r26
   0x00018c2c <+532>:   b,l 0x12b84,rp
   0x00018c30 <+536>:   copy r19,r4
   0x00018c34 <+540>:   ldw 0(r3),r26
   0x00018c38 <+544>:   copy r4,r19
   0x00018c3c <+548>:   ldw 0(r26),ret0
   0x00018c40 <+552>:   cmpib,= 0,ret0,0x18c64 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+588>
   0x00018c44 <+556>:   copy r19,r4
   0x00018c48 <+560>:   cmpiclr,<> -1,ret0,r0
   0x00018c4c <+564>:   b,l,n 0x18c78 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+608>,r0
   0x00018c50 <+568>:   b,l 0x22a78 <__sync_sub_and_fetch_4>,rp
   0x00018c54 <+572>:   ldi 1,r25
   0x00018c58 <+576>:   cmpib,<> 0,ret0,0x18c78 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+608>
   0x00018c5c <+580>:   copy r4,r19
   0x00018c60 <+584>:   copy r19,r4
   0x00018c64 <+588>:   ldi 4,r24
   0x00018c68 <+592>:   ldw 0(r3),r26
   0x00018c6c <+596>:   b,l 0x13004,rp
   0x00018c70 <+600>:   ldi 2,r25
   0x00018c74 <+604>:   copy r4,r19
   0x00018c78 <+608>:   ldw 0(r7),r26
   0x00018c7c <+612>:   ldb 14(r26),ret0
   0x00018c80 <+616>:   cmpiclr,= 0,ret0,r0
   0x00018c84 <+620>:   b,l,n 0x18f98 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+1408>,r0
   0x00018c88 <+624>:   copy r19,r4
   0x00018c8c <+628>:   b,l 0x13054,rp
   0x00018c90 <+632>:   copy r7,r26
   0x00018c94 <+636>:   copy r4,r19
   0x00018c98 <+640>:   copy r10,r25
   0x00018c9c <+644>:   b,l 0x12a54,rp
   0x00018ca0 <+648>:   copy r9,r26
   0x00018ca4 <+652>:   b,l 0x18cf0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) 
const+728>,r0
   0x00018ca8 <+656>:   copy r9,ret0
   0x00018cac <+660>:   ldw c(r6),r25
   0x00018cb0 <+664>:   ldw c(ret0),r26
   0x00018cb4 <+668>:   copy r5,r24
   0x00018cb8 <+672>:   add,l r6,r25,r25
   0x00018cbc <+676>:   b,l 0x13144,rp
   0x00018cc0 <+680>:   add,l ret0,r26,r26
   0x00018cc4 <+684>:   cmpib,<> 0,ret0,0x18ac0 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+168>
   0x00018cc8 <+688>:   copy r4,r19
   0x00018ccc <+692>:   ldw 4(r3),ret0
   0x00018cd0 <+696>:   ldo -1(ret0),ret0
   0x00018cd4 <+700>:   cmpib,= -1,ret0,0x18cec 
<ServiceTypeDefinition::parseValue(QByteArray const&, QString const&) const+724>
   0x00018cd8 <+704>:   copy r19,r4
   0x00018cdc <+708>:   b,l 0x22a78 <__sync_sub_and_fetch_4>,rp
   0x00018ce0 <+712>:   ldi 1,r25

This is likely a gcc bug.  If the code falls through from the call at 
0x00018cbc, the argument register r26
for the call to __sync_sub_and_fetch_4 is not setup.

Dave
--
John David Anglin       dave.ang...@bell.net

Reply via email to