diff options
Diffstat (limited to 'libunwindstack/tests/RegsTest.cpp')
-rw-r--r-- | libunwindstack/tests/RegsTest.cpp | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/libunwindstack/tests/RegsTest.cpp b/libunwindstack/tests/RegsTest.cpp index 7c063739d..8b2f6c83f 100644 --- a/libunwindstack/tests/RegsTest.cpp +++ b/libunwindstack/tests/RegsTest.cpp | |||
@@ -96,48 +96,48 @@ TEST_F(RegsTest, regs64) { | |||
96 | 96 | ||
97 | TEST_F(RegsTest, rel_pc) { | 97 | TEST_F(RegsTest, rel_pc) { |
98 | RegsArm64 arm64; | 98 | RegsArm64 arm64; |
99 | ASSERT_EQ(0xcU, arm64.GetAdjustedPc(0x10, elf_.get())); | 99 | ASSERT_EQ(4U, arm64.GetPcAdjustment(0x10, elf_.get())); |
100 | ASSERT_EQ(0x0U, arm64.GetAdjustedPc(0x4, elf_.get())); | 100 | ASSERT_EQ(4U, arm64.GetPcAdjustment(0x4, elf_.get())); |
101 | ASSERT_EQ(0x3U, arm64.GetAdjustedPc(0x3, elf_.get())); | 101 | ASSERT_EQ(0U, arm64.GetPcAdjustment(0x3, elf_.get())); |
102 | ASSERT_EQ(0x2U, arm64.GetAdjustedPc(0x2, elf_.get())); | 102 | ASSERT_EQ(0U, arm64.GetPcAdjustment(0x2, elf_.get())); |
103 | ASSERT_EQ(0x1U, arm64.GetAdjustedPc(0x1, elf_.get())); | 103 | ASSERT_EQ(0U, arm64.GetPcAdjustment(0x1, elf_.get())); |
104 | ASSERT_EQ(0x0U, arm64.GetAdjustedPc(0x0, elf_.get())); | 104 | ASSERT_EQ(0U, arm64.GetPcAdjustment(0x0, elf_.get())); |
105 | 105 | ||
106 | RegsX86 x86; | 106 | RegsX86 x86; |
107 | ASSERT_EQ(0xffU, x86.GetAdjustedPc(0x100, elf_.get())); | 107 | ASSERT_EQ(1U, x86.GetPcAdjustment(0x100, elf_.get())); |
108 | ASSERT_EQ(0x1U, x86.GetAdjustedPc(0x2, elf_.get())); | 108 | ASSERT_EQ(1U, x86.GetPcAdjustment(0x2, elf_.get())); |
109 | ASSERT_EQ(0x0U, x86.GetAdjustedPc(0x1, elf_.get())); | 109 | ASSERT_EQ(1U, x86.GetPcAdjustment(0x1, elf_.get())); |
110 | ASSERT_EQ(0x0U, x86.GetAdjustedPc(0x0, elf_.get())); | 110 | ASSERT_EQ(0U, x86.GetPcAdjustment(0x0, elf_.get())); |
111 | 111 | ||
112 | RegsX86_64 x86_64; | 112 | RegsX86_64 x86_64; |
113 | ASSERT_EQ(0xffU, x86_64.GetAdjustedPc(0x100, elf_.get())); | 113 | ASSERT_EQ(1U, x86_64.GetPcAdjustment(0x100, elf_.get())); |
114 | ASSERT_EQ(0x1U, x86_64.GetAdjustedPc(0x2, elf_.get())); | 114 | ASSERT_EQ(1U, x86_64.GetPcAdjustment(0x2, elf_.get())); |
115 | ASSERT_EQ(0x0U, x86_64.GetAdjustedPc(0x1, elf_.get())); | 115 | ASSERT_EQ(1U, x86_64.GetPcAdjustment(0x1, elf_.get())); |
116 | ASSERT_EQ(0x0U, x86_64.GetAdjustedPc(0x0, elf_.get())); | 116 | ASSERT_EQ(0U, x86_64.GetPcAdjustment(0x0, elf_.get())); |
117 | 117 | ||
118 | RegsMips mips; | 118 | RegsMips mips; |
119 | ASSERT_EQ(0x8U, mips.GetAdjustedPc(0x10, elf_.get())); | 119 | ASSERT_EQ(8U, mips.GetPcAdjustment(0x10, elf_.get())); |
120 | ASSERT_EQ(0x0U, mips.GetAdjustedPc(0x8, elf_.get())); | 120 | ASSERT_EQ(8U, mips.GetPcAdjustment(0x8, elf_.get())); |
121 | ASSERT_EQ(0x7U, mips.GetAdjustedPc(0x7, elf_.get())); | 121 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x7, elf_.get())); |
122 | ASSERT_EQ(0x6U, mips.GetAdjustedPc(0x6, elf_.get())); | 122 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x6, elf_.get())); |
123 | ASSERT_EQ(0x5U, mips.GetAdjustedPc(0x5, elf_.get())); | 123 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x5, elf_.get())); |
124 | ASSERT_EQ(0x4U, mips.GetAdjustedPc(0x4, elf_.get())); | 124 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x4, elf_.get())); |
125 | ASSERT_EQ(0x3U, mips.GetAdjustedPc(0x3, elf_.get())); | 125 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x3, elf_.get())); |
126 | ASSERT_EQ(0x2U, mips.GetAdjustedPc(0x2, elf_.get())); | 126 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x2, elf_.get())); |
127 | ASSERT_EQ(0x1U, mips.GetAdjustedPc(0x1, elf_.get())); | 127 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x1, elf_.get())); |
128 | ASSERT_EQ(0x0U, mips.GetAdjustedPc(0x0, elf_.get())); | 128 | ASSERT_EQ(0U, mips.GetPcAdjustment(0x0, elf_.get())); |
129 | 129 | ||
130 | RegsMips64 mips64; | 130 | RegsMips64 mips64; |
131 | ASSERT_EQ(0x8U, mips64.GetAdjustedPc(0x10, elf_.get())); | 131 | ASSERT_EQ(8U, mips64.GetPcAdjustment(0x10, elf_.get())); |
132 | ASSERT_EQ(0x0U, mips64.GetAdjustedPc(0x8, elf_.get())); | 132 | ASSERT_EQ(8U, mips64.GetPcAdjustment(0x8, elf_.get())); |
133 | ASSERT_EQ(0x7U, mips64.GetAdjustedPc(0x7, elf_.get())); | 133 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x7, elf_.get())); |
134 | ASSERT_EQ(0x6U, mips64.GetAdjustedPc(0x6, elf_.get())); | 134 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x6, elf_.get())); |
135 | ASSERT_EQ(0x5U, mips64.GetAdjustedPc(0x5, elf_.get())); | 135 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x5, elf_.get())); |
136 | ASSERT_EQ(0x4U, mips64.GetAdjustedPc(0x4, elf_.get())); | 136 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x4, elf_.get())); |
137 | ASSERT_EQ(0x3U, mips64.GetAdjustedPc(0x3, elf_.get())); | 137 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x3, elf_.get())); |
138 | ASSERT_EQ(0x2U, mips64.GetAdjustedPc(0x2, elf_.get())); | 138 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x2, elf_.get())); |
139 | ASSERT_EQ(0x1U, mips64.GetAdjustedPc(0x1, elf_.get())); | 139 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x1, elf_.get())); |
140 | ASSERT_EQ(0x0U, mips64.GetAdjustedPc(0x0, elf_.get())); | 140 | ASSERT_EQ(0U, mips64.GetPcAdjustment(0x0, elf_.get())); |
141 | } | 141 | } |
142 | 142 | ||
143 | TEST_F(RegsTest, rel_pc_arm) { | 143 | TEST_F(RegsTest, rel_pc_arm) { |
@@ -145,34 +145,34 @@ TEST_F(RegsTest, rel_pc_arm) { | |||
145 | 145 | ||
146 | // Check fence posts. | 146 | // Check fence posts. |
147 | elf_->FakeSetLoadBias(0); | 147 | elf_->FakeSetLoadBias(0); |
148 | ASSERT_EQ(3U, arm.GetAdjustedPc(0x5, elf_.get())); | 148 | ASSERT_EQ(2U, arm.GetPcAdjustment(0x5, elf_.get())); |
149 | ASSERT_EQ(4U, arm.GetAdjustedPc(0x4, elf_.get())); | 149 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x4, elf_.get())); |
150 | ASSERT_EQ(3U, arm.GetAdjustedPc(0x3, elf_.get())); | 150 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x3, elf_.get())); |
151 | ASSERT_EQ(2U, arm.GetAdjustedPc(0x2, elf_.get())); | 151 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x2, elf_.get())); |
152 | ASSERT_EQ(1U, arm.GetAdjustedPc(0x1, elf_.get())); | 152 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x1, elf_.get())); |
153 | ASSERT_EQ(0U, arm.GetAdjustedPc(0x0, elf_.get())); | 153 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x0, elf_.get())); |
154 | 154 | ||
155 | elf_->FakeSetLoadBias(0x100); | 155 | elf_->FakeSetLoadBias(0x100); |
156 | ASSERT_EQ(0xffU, arm.GetAdjustedPc(0xff, elf_.get())); | 156 | ASSERT_EQ(0U, arm.GetPcAdjustment(0xff, elf_.get())); |
157 | ASSERT_EQ(0x103U, arm.GetAdjustedPc(0x105, elf_.get())); | 157 | ASSERT_EQ(2U, arm.GetPcAdjustment(0x105, elf_.get())); |
158 | ASSERT_EQ(0x104U, arm.GetAdjustedPc(0x104, elf_.get())); | 158 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x104, elf_.get())); |
159 | ASSERT_EQ(0x103U, arm.GetAdjustedPc(0x103, elf_.get())); | 159 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x103, elf_.get())); |
160 | ASSERT_EQ(0x102U, arm.GetAdjustedPc(0x102, elf_.get())); | 160 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x102, elf_.get())); |
161 | ASSERT_EQ(0x101U, arm.GetAdjustedPc(0x101, elf_.get())); | 161 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x101, elf_.get())); |
162 | ASSERT_EQ(0x100U, arm.GetAdjustedPc(0x100, elf_.get())); | 162 | ASSERT_EQ(0U, arm.GetPcAdjustment(0x100, elf_.get())); |
163 | 163 | ||
164 | // Check thumb instructions handling. | 164 | // Check thumb instructions handling. |
165 | elf_->FakeSetLoadBias(0); | 165 | elf_->FakeSetLoadBias(0); |
166 | memory_->SetData32(0x2000, 0); | 166 | memory_->SetData32(0x2000, 0); |
167 | ASSERT_EQ(0x2003U, arm.GetAdjustedPc(0x2005, elf_.get())); | 167 | ASSERT_EQ(2U, arm.GetPcAdjustment(0x2005, elf_.get())); |
168 | memory_->SetData32(0x2000, 0xe000f000); | 168 | memory_->SetData32(0x2000, 0xe000f000); |
169 | ASSERT_EQ(0x2001U, arm.GetAdjustedPc(0x2005, elf_.get())); | 169 | ASSERT_EQ(4U, arm.GetPcAdjustment(0x2005, elf_.get())); |
170 | 170 | ||
171 | elf_->FakeSetLoadBias(0x400); | 171 | elf_->FakeSetLoadBias(0x400); |
172 | memory_->SetData32(0x2100, 0); | 172 | memory_->SetData32(0x2100, 0); |
173 | ASSERT_EQ(0x2503U, arm.GetAdjustedPc(0x2505, elf_.get())); | 173 | ASSERT_EQ(2U, arm.GetPcAdjustment(0x2505, elf_.get())); |
174 | memory_->SetData32(0x2100, 0xf111f111); | 174 | memory_->SetData32(0x2100, 0xf111f111); |
175 | ASSERT_EQ(0x2501U, arm.GetAdjustedPc(0x2505, elf_.get())); | 175 | ASSERT_EQ(4U, arm.GetPcAdjustment(0x2505, elf_.get())); |
176 | } | 176 | } |
177 | 177 | ||
178 | TEST_F(RegsTest, elf_invalid) { | 178 | TEST_F(RegsTest, elf_invalid) { |
@@ -188,27 +188,27 @@ TEST_F(RegsTest, elf_invalid) { | |||
188 | 188 | ||
189 | regs_arm.set_pc(0x1500); | 189 | regs_arm.set_pc(0x1500); |
190 | EXPECT_EQ(0x500U, invalid_elf->GetRelPc(regs_arm.pc(), &map_info)); | 190 | EXPECT_EQ(0x500U, invalid_elf->GetRelPc(regs_arm.pc(), &map_info)); |
191 | EXPECT_EQ(0x4fcU, regs_arm.GetAdjustedPc(0x500U, invalid_elf)); | 191 | EXPECT_EQ(4U, regs_arm.GetPcAdjustment(0x500U, invalid_elf)); |
192 | 192 | ||
193 | regs_arm64.set_pc(0x1600); | 193 | regs_arm64.set_pc(0x1600); |
194 | EXPECT_EQ(0x600U, invalid_elf->GetRelPc(regs_arm64.pc(), &map_info)); | 194 | EXPECT_EQ(0x600U, invalid_elf->GetRelPc(regs_arm64.pc(), &map_info)); |
195 | EXPECT_EQ(0x600U, regs_arm64.GetAdjustedPc(0x600U, invalid_elf)); | 195 | EXPECT_EQ(0U, regs_arm64.GetPcAdjustment(0x600U, invalid_elf)); |
196 | 196 | ||
197 | regs_x86.set_pc(0x1700); | 197 | regs_x86.set_pc(0x1700); |
198 | EXPECT_EQ(0x700U, invalid_elf->GetRelPc(regs_x86.pc(), &map_info)); | 198 | EXPECT_EQ(0x700U, invalid_elf->GetRelPc(regs_x86.pc(), &map_info)); |
199 | EXPECT_EQ(0x700U, regs_x86.GetAdjustedPc(0x700U, invalid_elf)); | 199 | EXPECT_EQ(0U, regs_x86.GetPcAdjustment(0x700U, invalid_elf)); |
200 | 200 | ||
201 | regs_x86_64.set_pc(0x1800); | 201 | regs_x86_64.set_pc(0x1800); |
202 | EXPECT_EQ(0x800U, invalid_elf->GetRelPc(regs_x86_64.pc(), &map_info)); | 202 | EXPECT_EQ(0x800U, invalid_elf->GetRelPc(regs_x86_64.pc(), &map_info)); |
203 | EXPECT_EQ(0x800U, regs_x86_64.GetAdjustedPc(0x800U, invalid_elf)); | 203 | EXPECT_EQ(0U, regs_x86_64.GetPcAdjustment(0x800U, invalid_elf)); |
204 | 204 | ||
205 | regs_mips.set_pc(0x1900); | 205 | regs_mips.set_pc(0x1900); |
206 | EXPECT_EQ(0x900U, invalid_elf->GetRelPc(regs_mips.pc(), &map_info)); | 206 | EXPECT_EQ(0x900U, invalid_elf->GetRelPc(regs_mips.pc(), &map_info)); |
207 | EXPECT_EQ(0x900U, regs_mips.GetAdjustedPc(0x900U, invalid_elf)); | 207 | EXPECT_EQ(0U, regs_mips.GetPcAdjustment(0x900U, invalid_elf)); |
208 | 208 | ||
209 | regs_mips64.set_pc(0x1a00); | 209 | regs_mips64.set_pc(0x1a00); |
210 | EXPECT_EQ(0xa00U, invalid_elf->GetRelPc(regs_mips64.pc(), &map_info)); | 210 | EXPECT_EQ(0xa00U, invalid_elf->GetRelPc(regs_mips64.pc(), &map_info)); |
211 | EXPECT_EQ(0xa00U, regs_mips64.GetAdjustedPc(0xa00U, invalid_elf)); | 211 | EXPECT_EQ(0U, regs_mips64.GetPcAdjustment(0xa00U, invalid_elf)); |
212 | } | 212 | } |
213 | 213 | ||
214 | TEST_F(RegsTest, arm_set_from_raw) { | 214 | TEST_F(RegsTest, arm_set_from_raw) { |