OLD | NEW |
1 // Copyright (c) 2010, Google Inc. | 1 // Copyright (c) 2010, Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 .Append(96, 0) // more space | 363 .Append(96, 0) // more space |
364 | 364 |
365 .D32(return_address1) // actual return address | 365 .D32(return_address1) // actual return address |
366 // frame 1 | 366 // frame 1 |
367 .Mark(&frame1_sp) | 367 .Mark(&frame1_sp) |
368 .Append(32, 0) // space | 368 .Append(32, 0) // space |
369 | 369 |
370 .D32(0xF0000000) // more junk | 370 .D32(0xF0000000) // more junk |
371 .D32(0x0000000D) | 371 .D32(0x0000000D) |
372 | 372 |
373 .Append(96, 0) // more space | 373 .Append(136, 0) // more space |
374 | 374 |
375 .D32(return_address2) // actual return address | 375 .D32(return_address2) // actual return address |
376 // (won't be found) | 376 // (won't be found) |
377 // frame 2 | 377 // frame 2 |
378 .Mark(&frame2_sp) | 378 .Mark(&frame2_sp) |
379 .Append(32, 0); // end of stack | 379 .Append(32, 0); // end of stack |
380 RegionFromSection(); | 380 RegionFromSection(); |
381 | 381 |
382 raw_context.iregs[MD_CONTEXT_ARM_REG_PC] = 0x40005510; | 382 raw_context.iregs[MD_CONTEXT_ARM_REG_PC] = 0x40005510; |
383 raw_context.iregs[MD_CONTEXT_ARM_REG_SP] = stack_section.start().Value(); | 383 raw_context.iregs[MD_CONTEXT_ARM_REG_SP] = stack_section.start().Value(); |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 ASSERT_EQ((StackFrameARM::CONTEXT_VALID_PC | | 965 ASSERT_EQ((StackFrameARM::CONTEXT_VALID_PC | |
966 StackFrameARM::CONTEXT_VALID_LR | | 966 StackFrameARM::CONTEXT_VALID_LR | |
967 StackFrameARM::RegisterValidFlag(MD_CONTEXT_ARM_REG_IOS_FP) | | 967 StackFrameARM::RegisterValidFlag(MD_CONTEXT_ARM_REG_IOS_FP) | |
968 StackFrameARM::CONTEXT_VALID_SP), | 968 StackFrameARM::CONTEXT_VALID_SP), |
969 frame2->context_validity); | 969 frame2->context_validity); |
970 EXPECT_EQ(return_address2, frame2->context.iregs[MD_CONTEXT_ARM_REG_PC]); | 970 EXPECT_EQ(return_address2, frame2->context.iregs[MD_CONTEXT_ARM_REG_PC]); |
971 EXPECT_EQ(0U, frame2->context.iregs[MD_CONTEXT_ARM_REG_LR]); | 971 EXPECT_EQ(0U, frame2->context.iregs[MD_CONTEXT_ARM_REG_LR]); |
972 EXPECT_EQ(frame2_sp.Value(), frame2->context.iregs[MD_CONTEXT_ARM_REG_SP]); | 972 EXPECT_EQ(frame2_sp.Value(), frame2->context.iregs[MD_CONTEXT_ARM_REG_SP]); |
973 EXPECT_EQ(0U, frame2->context.iregs[MD_CONTEXT_ARM_REG_IOS_FP]); | 973 EXPECT_EQ(0U, frame2->context.iregs[MD_CONTEXT_ARM_REG_IOS_FP]); |
974 } | 974 } |
OLD | NEW |