{"action":"created","issue":{"url":"https://api.github.com/repos/m4b/faerie/issues/105","repository_url":"https://api.github.com/repos/m4b/faerie","labels_url":"https://api.github.com/repos/m4b/faerie/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/m4b/faerie/issues/105/comments","events_url":"https://api.github.com/repos/m4b/faerie/issues/105/events","html_url":"https://github.com/m4b/faerie/pull/105","id":534310487,"node_id":"MDExOlB1bGxSZXF1ZXN0MzUwMjQxNDM5","number":105,"title":"Support for custom permissions for custom sections.","user":{"login":"kitlith","id":7027737,"node_id":"MDQ6VXNlcjcwMjc3Mzc=","avatar_url":"https://avatars3.githubusercontent.com/u/7027737?v=4","gravatar_id":"","url":"https://api.github.com/users/kitlith","html_url":"https://github.com/kitlith","followers_url":"https://api.github.com/users/kitlith/followers","following_url":"https://api.github.com/users/kitlith/following{/other_user}","gists_url":"https://api.github.com/users/kitlith/gists{/gist_id}","starred_url":"https://api.github.com/users/kitlith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kitlith/subscriptions","organizations_url":"https://api.github.com/users/kitlith/orgs","repos_url":"https://api.github.com/users/kitlith/repos","events_url":"https://api.github.com/users/kitlith/events{/privacy}","received_events_url":"https://api.github.com/users/kitlith/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":22,"created_at":"2019-12-06T23:42:44Z","updated_at":"2019-12-17T21:34:15Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/m4b/faerie/pulls/105","html_url":"https://github.com/m4b/faerie/pull/105","diff_url":"https://github.com/m4b/faerie/pull/105.diff","patch_url":"https://github.com/m4b/faerie/pull/105.patch"},"body":"I'm not sure how any of this translates over to the mach file format, so I haven't touched it yet.\r\n\r\nFixes #104 , though I haven't tested it yet.\r\n\r\nA different approach may be needed, as this is kinda just mirroring the SectionBuilder for ELF."},"comment":{"url":"https://api.github.com/repos/m4b/faerie/issues/comments/566758935","html_url":"https://github.com/m4b/faerie/pull/105#issuecomment-566758935","issue_url":"https://api.github.com/repos/m4b/faerie/issues/105","id":566758935,"node_id":"MDEyOklzc3VlQ29tbWVudDU2Njc1ODkzNQ==","user":{"login":"kitlith","id":7027737,"node_id":"MDQ6VXNlcjcwMjc3Mzc=","avatar_url":"https://avatars3.githubusercontent.com/u/7027737?v=4","gravatar_id":"","url":"https://api.github.com/users/kitlith","html_url":"https://github.com/kitlith","followers_url":"https://api.github.com/users/kitlith/followers","following_url":"https://api.github.com/users/kitlith/following{/other_user}","gists_url":"https://api.github.com/users/kitlith/gists{/gist_id}","starred_url":"https://api.github.com/users/kitlith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kitlith/subscriptions","organizations_url":"https://api.github.com/users/kitlith/orgs","repos_url":"https://api.github.com/users/kitlith/repos","events_url":"https://api.github.com/users/kitlith/events{/privacy}","received_events_url":"https://api.github.com/users/kitlith/received_events","type":"User","site_admin":false},"created_at":"2019-12-17T21:34:15Z","updated_at":"2019-12-17T21:34:15Z","author_association":"NONE","body":"> I find it hard to believe you can’t write self modifying code on mach though, but maybe.\r\n\r\nThis is representable in *executable* files, just not in *object* files, which is what this library targets. It actually makes sense -- there's no need to embed this information in the object file when what really matters is the final link, when the linker will have all the information on what segments go where from the linker script/arguments. So all we need is a way to embed information in the object file that the linker will pay attention to (LC_LINKER_OPTION) or tell the user to add stuff to a linker script.\r\n\r\nWays to proceed:\r\n - LC_LINKER_OPTION + `-segprot segname max_prot init_prot` to embed segment permissions into the object file. Should, in theory, work, but may need more than just the one option for the segment to actually work.\r\n - Have some way to specify segment names (probably a no-op for elf) for the above and/or for people writing their own linker scripts/calling out to a linker and adding options. For the latter, these options should no-op for mach-o (as they currently implicitly are).\r\n - other currently unknown mach/linker magic?\r\n - Just accept that there are going to be features that do not translate between elf and mach-o, so there should be executable dependent apis. (meh, but I would have originally expected completely seperate libraries, so I don't consider it too bad)\r\n - Abandon this PR. (I don't actually need it because i'm manually writing out the program headers *anyway*, who cares about mismatches between section headers and program headers)"}}
{"actor":{"display_login":"kitlith"}}