|
Lines 81-88
Link Here
|
| 81 |
{ UInt cia, r1, lr; \ |
81 |
{ UInt cia, r1, lr; \ |
| 82 |
__asm__ __volatile__( \ |
82 |
__asm__ __volatile__( \ |
| 83 |
"mflr 0;" /* r0 = lr */ \ |
83 |
"mflr 0;" /* r0 = lr */ \ |
| 84 |
"bl m_libcassert_get_ip;" /* lr = pc */ \ |
84 |
"bl 0f;" /* lr = pc */ \ |
| 85 |
"m_libcassert_get_ip:\n" \ |
85 |
"0:\n" \ |
| 86 |
"mflr %0;" /* %0 = pc */ \ |
86 |
"mflr %0;" /* %0 = pc */ \ |
| 87 |
"mtlr 0;" /* restore lr */ \ |
87 |
"mtlr 0;" /* restore lr */ \ |
| 88 |
"mr %1,1;" /* %1 = r1 */ \ |
88 |
"mr %1,1;" /* %1 = r1 */ \ |
|
Lines 100-107
Link Here
|
| 100 |
{ ULong cia, r1, lr; \ |
100 |
{ ULong cia, r1, lr; \ |
| 101 |
__asm__ __volatile__( \ |
101 |
__asm__ __volatile__( \ |
| 102 |
"mflr 0;" /* r0 = lr */ \ |
102 |
"mflr 0;" /* r0 = lr */ \ |
| 103 |
"bl .m_libcassert_get_ip;" /* lr = pc */ \ |
103 |
"bl 0f;" /* lr = pc */ \ |
| 104 |
".m_libcassert_get_ip:\n" \ |
104 |
"0:\n" \ |
| 105 |
"mflr %0;" /* %0 = pc */ \ |
105 |
"mflr %0;" /* %0 = pc */ \ |
| 106 |
"mtlr 0;" /* restore lr */ \ |
106 |
"mtlr 0;" /* restore lr */ \ |
| 107 |
"mr %1,1;" /* %1 = r1 */ \ |
107 |
"mr %1,1;" /* %1 = r1 */ \ |