{"action":"created","issue":{"url":"https://api.github.com/repos/df8oe/UHSDR/issues/1672","repository_url":"https://api.github.com/repos/df8oe/UHSDR","labels_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1672/labels{/name}","comments_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1672/comments","events_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1672/events","html_url":"https://github.com/df8oe/UHSDR/pull/1672","id":396089209,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQyMzg5NTkz","number":1672,"title":"Added enable/disable asserts into release/debug builds.","user":{"login":"m-chichikalov","id":23377892,"node_id":"MDQ6VXNlcjIzMzc3ODky","avatar_url":"https://avatars2.githubusercontent.com/u/23377892?v=4","gravatar_id":"","url":"https://api.github.com/users/m-chichikalov","html_url":"https://github.com/m-chichikalov","followers_url":"https://api.github.com/users/m-chichikalov/followers","following_url":"https://api.github.com/users/m-chichikalov/following{/other_user}","gists_url":"https://api.github.com/users/m-chichikalov/gists{/gist_id}","starred_url":"https://api.github.com/users/m-chichikalov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-chichikalov/subscriptions","organizations_url":"https://api.github.com/users/m-chichikalov/orgs","repos_url":"https://api.github.com/users/m-chichikalov/repos","events_url":"https://api.github.com/users/m-chichikalov/events{/privacy}","received_events_url":"https://api.github.com/users/m-chichikalov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2019-01-04T22:30:11Z","updated_at":"2019-01-05T11:30:10Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/df8oe/UHSDR/pulls/1672","html_url":"https://github.com/df8oe/UHSDR/pull/1672","diff_url":"https://github.com/df8oe/UHSDR/pull/1672.diff","patch_url":"https://github.com/df8oe/UHSDR/pull/1672.patch"},"body":"- Asserts were not working because assert_failed() was empty. Updated to stuck there on the exceptions.\r\n\r\n- Added ability to include asserts in build when it's explicitly specified by mention DEBUG=1"},"comment":{"url":"https://api.github.com/repos/df8oe/UHSDR/issues/comments/451647641","html_url":"https://github.com/df8oe/UHSDR/pull/1672#issuecomment-451647641","issue_url":"https://api.github.com/repos/df8oe/UHSDR/issues/1672","id":451647641,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTY0NzY0MQ==","user":{"login":"db4ple","id":17237769,"node_id":"MDQ6VXNlcjE3MjM3NzY5","avatar_url":"https://avatars3.githubusercontent.com/u/17237769?v=4","gravatar_id":"","url":"https://api.github.com/users/db4ple","html_url":"https://github.com/db4ple","followers_url":"https://api.github.com/users/db4ple/followers","following_url":"https://api.github.com/users/db4ple/following{/other_user}","gists_url":"https://api.github.com/users/db4ple/gists{/gist_id}","starred_url":"https://api.github.com/users/db4ple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/db4ple/subscriptions","organizations_url":"https://api.github.com/users/db4ple/orgs","repos_url":"https://api.github.com/users/db4ple/repos","events_url":"https://api.github.com/users/db4ple/events{/privacy}","received_events_url":"https://api.github.com/users/db4ple/received_events","type":"User","site_admin":false},"created_at":"2019-01-05T11:30:10Z","updated_at":"2019-01-05T11:30:10Z","author_association":"CONTRIBUTOR","body":"In fact, our makefile is kind of wrong in its approach for libraries.  \r\nIt turns out, that combining --specs=nano.specs and -lnosys is a neat trick. --specs=nano.specs brings in libc_nano, which expects us to provide implementations for a set of system calls. And -lnosys just contains (mostly dummy) implementations of just that. So in our case, we have to it this way. But I think, after looking into nano.specs and nosys.specs, the right way is to throw out -lc (which brings in the \"big\" standard libc\" and -lnosys and use --specs=nano.specs AND --specs=nosys,specs.\r\n\r\nThis brings in -lc_nano and -lnosys and produces a binary. I haven't tested it on the device,, but it links and I see no reason why it should not work, since we have been relying on libc_nano.a and libnosys.a before. (the -lc was obviously not used, if we just use --specs=nosys.specs the resulting binary gets larger than before as it now really uses the content of the standard libc.a ). Size of the binary is about as before, so I guess it results in more or less the same binary.\r\n\r\nI have to admit, that I did not fully understood the specs approach before looking into the .specs files. You can see there that nosys.specs has a conditional expression depending on the use of nano.specs (i.e. information set in nano.specs).  \r\n\r\nSo what comes out of this: We can through out -lc and -lnosys and bring in --specs=nosys.specs after (looks like the order is relevant) --specs=nano.specs and we are as good as before.\r\n\r\n"}}
{"actor":{"display_login":"db4ple"}}