{"action":"created","issue":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/1905","repository_url":"https://api.github.com/repos/mbedmicro/mbed","labels_url":"https://api.github.com/repos/mbedmicro/mbed/issues/1905/labels{/name}","comments_url":"https://api.github.com/repos/mbedmicro/mbed/issues/1905/comments","events_url":"https://api.github.com/repos/mbedmicro/mbed/issues/1905/events","html_url":"https://github.com/mbedmicro/mbed/pull/1905","id":159783030,"number":1905,"title":"[rtos] Fixed registers clobbered SVC_Handler in IAR","user":{"login":"geky","id":1075160,"avatar_url":"https://avatars.githubusercontent.com/u/1075160?v=3","gravatar_id":"","url":"https://api.github.com/users/geky","html_url":"https://github.com/geky","followers_url":"https://api.github.com/users/geky/followers","following_url":"https://api.github.com/users/geky/following{/other_user}","gists_url":"https://api.github.com/users/geky/gists{/gist_id}","starred_url":"https://api.github.com/users/geky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geky/subscriptions","organizations_url":"https://api.github.com/users/geky/orgs","repos_url":"https://api.github.com/users/geky/repos","events_url":"https://api.github.com/users/geky/events{/privacy}","received_events_url":"https://api.github.com/users/geky/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-11T17:08:54Z","updated_at":"2016-06-12T13:17:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mbedmicro/mbed/pulls/1905","html_url":"https://github.com/mbedmicro/mbed/pull/1905","diff_url":"https://github.com/mbedmicro/mbed/pull/1905.diff","patch_url":"https://github.com/mbedmicro/mbed/pull/1905.patch"},"body":"The rtx SVC_Handler for IAR clobbers r0-r3 despite the number of\r\narguments. However, in the SVC calls, the __swi function is declared\r\nwith fewer arguments. IAR doesn't understand that the other registers are\r\nclobbered and stores variables in r0-r3 when multiple SVCs are\r\ndispatched in a single function.\r\n\r\nThis bug was noticed in osThreadExit, which hard-faults on IAR,\r\npreventing any threads from exiting."},"comment":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/comments/225431797","html_url":"https://github.com/mbedmicro/mbed/pull/1905#issuecomment-225431797","issue_url":"https://api.github.com/repos/mbedmicro/mbed/issues/1905","id":225431797,"user":{"login":"geky","id":1075160,"avatar_url":"https://avatars.githubusercontent.com/u/1075160?v=3","gravatar_id":"","url":"https://api.github.com/users/geky","html_url":"https://github.com/geky","followers_url":"https://api.github.com/users/geky/followers","following_url":"https://api.github.com/users/geky/following{/other_user}","gists_url":"https://api.github.com/users/geky/gists{/gist_id}","starred_url":"https://api.github.com/users/geky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geky/subscriptions","organizations_url":"https://api.github.com/users/geky/orgs","repos_url":"https://api.github.com/users/geky/repos","events_url":"https://api.github.com/users/geky/events{/privacy}","received_events_url":"https://api.github.com/users/geky/received_events","type":"User","site_admin":false},"created_at":"2016-06-12T13:17:33Z","updated_at":"2016-06-12T13:17:33Z","body":"Here is the relevant SVC call: https://github.com/mbedmicro/mbed/blob/master/rtos/rtx/TARGET_CORTEX_M/rt_CMSIS.c#L315\r\nHere is the relevant SVC handler: https://github.com/mbedmicro/mbed/blob/master/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S#L147"}}
{"actor":{"display_login":"geky"}}