Skip to content

Commit 8b11e95

Browse files
hctimyuxuanchen1997
authored andcommitted
Revert "[compiler-rt] Implement DumpAllRegisters for arm-linux and aarch64-linux (#99613)"
Summary: This reverts commit ef1c70d. Unfortunately broke the sanitizer buildbot(s), and the fix-forward didn't work. More details in #99613 Test Plan: Reviewers: Subscribers: Tasks: Tags: Differential Revision: https://phabricator.intern.facebook.com/D60250641
1 parent 5129cec commit 8b11e95

File tree

3 files changed

+2
-182
lines changed

3 files changed

+2
-182
lines changed

compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

Lines changed: 2 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -2172,118 +2172,15 @@ static const char *RegNumToRegName(int reg) {
21722172
return "ebp";
21732173
case REG_ESP:
21742174
return "esp";
2175-
# elif defined(__arm__)
2176-
# define REG_STR(reg) #reg
2177-
# define MAKE_CASE(N) \
2178-
case REG_R##N: \
2179-
return REG_STR(r##N)
2180-
MAKE_CASE(0);
2181-
MAKE_CASE(1);
2182-
MAKE_CASE(2);
2183-
MAKE_CASE(3);
2184-
MAKE_CASE(4);
2185-
MAKE_CASE(5);
2186-
MAKE_CASE(6);
2187-
MAKE_CASE(7);
2188-
MAKE_CASE(8);
2189-
MAKE_CASE(9);
2190-
MAKE_CASE(10);
2191-
MAKE_CASE(11);
2192-
MAKE_CASE(12);
2193-
case REG_R13:
2194-
return "sp";
2195-
case REG_R14:
2196-
return "lr";
2197-
case REG_R15:
2198-
return "pc";
2199-
# elif defined(__aarch64__)
2200-
# define REG_STR(reg) #reg
2201-
# define MAKE_CASE(N) \
2202-
case N: \
2203-
return REG_STR(x##N)
2204-
MAKE_CASE(0);
2205-
MAKE_CASE(1);
2206-
MAKE_CASE(2);
2207-
MAKE_CASE(3);
2208-
MAKE_CASE(4);
2209-
MAKE_CASE(5);
2210-
MAKE_CASE(6);
2211-
MAKE_CASE(7);
2212-
MAKE_CASE(8);
2213-
MAKE_CASE(9);
2214-
MAKE_CASE(10);
2215-
MAKE_CASE(11);
2216-
MAKE_CASE(12);
2217-
MAKE_CASE(13);
2218-
MAKE_CASE(14);
2219-
MAKE_CASE(15);
2220-
MAKE_CASE(16);
2221-
MAKE_CASE(17);
2222-
MAKE_CASE(18);
2223-
MAKE_CASE(19);
2224-
MAKE_CASE(20);
2225-
MAKE_CASE(21);
2226-
MAKE_CASE(22);
2227-
MAKE_CASE(23);
2228-
MAKE_CASE(24);
2229-
MAKE_CASE(25);
2230-
MAKE_CASE(26);
2231-
MAKE_CASE(27);
2232-
MAKE_CASE(28);
2233-
case 29:
2234-
return "fp";
2235-
case 30:
2236-
return "lr";
2237-
case 31:
2238-
return "sp";
22392175
# endif
2176+
# endif
22402177
default:
22412178
return NULL;
22422179
}
22432180
return NULL;
22442181
}
22452182

2246-
# if SANITIZER_LINUX && (defined(__arm__) || defined(__aarch64__))
2247-
static uptr GetArmRegister(ucontext_t *ctx, int RegNum) {
2248-
switch (RegNum) {
2249-
# if defined(__arm__)
2250-
# define MAKE_CASE(N) \
2251-
case REG_R##N: \
2252-
return ctx->uc_mcontext.arm_r##N
2253-
MAKE_CASE(0);
2254-
MAKE_CASE(1);
2255-
MAKE_CASE(2);
2256-
MAKE_CASE(3);
2257-
MAKE_CASE(4);
2258-
MAKE_CASE(5);
2259-
MAKE_CASE(6);
2260-
MAKE_CASE(7);
2261-
MAKE_CASE(8);
2262-
MAKE_CASE(9);
2263-
MAKE_CASE(10);
2264-
case REG_R11:
2265-
return ctx->uc_mcontext.arm_fp;
2266-
case REG_R12:
2267-
return ctx->uc_mcontext.arm_ip;
2268-
case REG_R13:
2269-
return ctx->uc_mcontext.arm_sp;
2270-
case REG_R14:
2271-
return ctx->uc_mcontext.arm_lr;
2272-
case REG_R15:
2273-
return ctx->uc_mcontext.arm_pc;
2274-
# elif defined(__aarch64__)
2275-
case 0 ... 30:
2276-
return ctx->uc_mcontext.regs[RegNum];
2277-
case 31:
2278-
return ctx->uc_mcontext.sp;
2279-
# endif
2280-
default:
2281-
return 0;
2282-
}
2283-
return 0;
2284-
}
2285-
# endif // SANITIZER_LINUX && (defined(__arm__) || defined(__aarch64__))
2286-
2183+
# if SANITIZER_LINUX
22872184
UNUSED
22882185
static void DumpSingleReg(ucontext_t *ctx, int RegNum) {
22892186
const char *RegName = RegNumToRegName(RegNum);
@@ -2292,12 +2189,6 @@ static void DumpSingleReg(ucontext_t *ctx, int RegNum) {
22922189
RegName, ctx->uc_mcontext.gregs[RegNum]);
22932190
# elif defined(__i386__)
22942191
Printf("%s = 0x%08x ", RegName, ctx->uc_mcontext.gregs[RegNum]);
2295-
# elif defined(__arm__)
2296-
Printf("%s%s = 0x%08zx ", internal_strlen(RegName) == 2 ? " " : "", RegName,
2297-
GetArmRegister(ctx, RegNum));
2298-
# elif defined(__aarch64__)
2299-
Printf("%s%s = 0x%016zx ", internal_strlen(RegName) == 2 ? " " : "", RegName,
2300-
GetArmRegister(ctx, RegNum));
23012192
# else
23022193
(void)RegName;
23032194
# endif
@@ -2345,35 +2236,6 @@ void SignalContext::DumpAllRegisters(void *context) {
23452236
DumpSingleReg(ucontext, REG_EBP);
23462237
DumpSingleReg(ucontext, REG_ESP);
23472238
Printf("\n");
2348-
# elif defined(__arm__)
2349-
Report("Register values:\n");
2350-
DumpSingleReg(ucontext, REG_R0);
2351-
DumpSingleReg(ucontext, REG_R1);
2352-
DumpSingleReg(ucontext, REG_R2);
2353-
DumpSingleReg(ucontext, REG_R3);
2354-
Printf("\n");
2355-
DumpSingleReg(ucontext, REG_R4);
2356-
DumpSingleReg(ucontext, REG_R5);
2357-
DumpSingleReg(ucontext, REG_R6);
2358-
DumpSingleReg(ucontext, REG_R7);
2359-
Printf("\n");
2360-
DumpSingleReg(ucontext, REG_R8);
2361-
DumpSingleReg(ucontext, REG_R9);
2362-
DumpSingleReg(ucontext, REG_R10);
2363-
DumpSingleReg(ucontext, REG_R11);
2364-
Printf("\n");
2365-
DumpSingleReg(ucontext, REG_R12);
2366-
DumpSingleReg(ucontext, REG_R13);
2367-
DumpSingleReg(ucontext, REG_R14);
2368-
DumpSingleReg(ucontext, REG_R15);
2369-
Printf("\n");
2370-
# elif defined(__aarch64__)
2371-
Report("Register values:\n");
2372-
for (int i = 0; i <= 31; ++i) {
2373-
DumpSingleReg(ucontext, i);
2374-
if (i % 4 == 3)
2375-
Printf("\n");
2376-
}
23772239
# else
23782240
(void)ucontext;
23792241
# endif

compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp

Lines changed: 0 additions & 23 deletions
This file was deleted.

compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)