{"action":"closed","issue":{"url":"https://api.github.com/repos/antirez/redis/issues/6348","repository_url":"https://api.github.com/repos/antirez/redis","labels_url":"https://api.github.com/repos/antirez/redis/issues/6348/labels{/name}","comments_url":"https://api.github.com/repos/antirez/redis/issues/6348/comments","events_url":"https://api.github.com/repos/antirez/redis/issues/6348/events","html_url":"https://github.com/antirez/redis/issues/6348","id":486956043,"node_id":"MDU6SXNzdWU0ODY5NTYwNDM=","number":6348,"title":"aarch64 architecture supported the utcontext debug dump","user":{"login":"jaredzhu","id":19207687,"node_id":"MDQ6VXNlcjE5MjA3Njg3","avatar_url":"https://avatars1.githubusercontent.com/u/19207687?v=4","gravatar_id":"","url":"https://api.github.com/users/jaredzhu","html_url":"https://github.com/jaredzhu","followers_url":"https://api.github.com/users/jaredzhu/followers","following_url":"https://api.github.com/users/jaredzhu/following{/other_user}","gists_url":"https://api.github.com/users/jaredzhu/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredzhu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredzhu/subscriptions","organizations_url":"https://api.github.com/users/jaredzhu/orgs","repos_url":"https://api.github.com/users/jaredzhu/repos","events_url":"https://api.github.com/users/jaredzhu/events{/privacy}","received_events_url":"https://api.github.com/users/jaredzhu/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-08-29T13:23:29Z","updated_at":"2019-09-02T02:18:18Z","closed_at":"2019-09-02T02:18:18Z","author_association":"NONE","body":"I found the src/debug.c do not support aarch64 dump utcontex debug info. \r\nso i made the patch to support it.\r\nIs it can merge to the mainline redis?\r\n\r\n\r\n\r\nThe following is the patch content:\r\n> \r\ndiff --git a/src/debug.c b/src/debug.c\r\nindex 1ec7c49..ebaaee2 100644\r\n--- a/src/debug.c\r\n+++ b/src/debug.c\r\n@@ -1058,6 +1058,34 @@ void logRegisters(ucontext_t *uc) {\r\n         (unsigned long) uc->uc_mcontext.mc_cs\r\n     );\r\n     logStackContent((void**)uc->uc_mcontext.mc_rsp);\r\n+#elif defined(\\_\\_aarch64\\_\\_) /* Linux AArch64 */\r\n\\+    serverLog(LL_WARNING,\r\n\\+\t      \"\\n\"\r\n\\+\t      \"X18:%016lx X19:%016lx\\nX20:%016lx X21:%016lx\\n\"\r\n\\+\t      \"X22:%016lx X23:%016lx\\nX24:%016lx X25:%016lx\\n\"\r\n\\+\t      \"X26:%016lx X27:%016lx\\nX28:%016lx X29:%016lx\\n\"\r\n\\+\t      \"X30:%016lx\\n\"\r\n\\+\t      \"pc:%016lx sp:%016lx\\npstate:%016lx fault_address:%016lx\\n\",\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[18],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[19],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[20],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[21],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[22],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[23],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[24],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[25],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[26],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[27],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[28],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[29],\r\n\\+\t      (unsigned long) uc->uc_mcontext.regs[30],\r\n\\+\t      (unsigned long) uc->uc_mcontext.pc,\r\n\\+\t      (unsigned long) uc->uc_mcontext.sp,\r\n\\+\t      (unsigned long) uc->uc_mcontext.pstate,\r\n\\+\t      (unsigned long) uc->uc_mcontext.fault_address\r\n\\+\t\t      );\r\n\\+\t      logStackContent((void**)uc->uc_mcontext.sp);\r\n #else\r\n     serverLog(LL_WARNING,\r\n         \"  Dumping of registers not supported for this OS/arch\");\r\n\r\n"}}
{"actor":{"display_login":"jaredzhu"}}