{"action":"created","issue":{"url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/29","labels_url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/29/comments","events_url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/29/events","html_url":"https://github.com/AOSC-Dev/autobuild3/issues/29","id":90919249,"number":29,"title":"Debug archives","user":{"login":"Arthur2e5","id":6459309,"avatar_url":"https://avatars.githubusercontent.com/u/6459309?v=3","gravatar_id":"","url":"https://api.github.com/users/Arthur2e5","html_url":"https://github.com/Arthur2e5","followers_url":"https://api.github.com/users/Arthur2e5/followers","following_url":"https://api.github.com/users/Arthur2e5/following{/other_user}","gists_url":"https://api.github.com/users/Arthur2e5/gists{/gist_id}","starred_url":"https://api.github.com/users/Arthur2e5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Arthur2e5/subscriptions","organizations_url":"https://api.github.com/users/Arthur2e5/orgs","repos_url":"https://api.github.com/users/Arthur2e5/repos","events_url":"https://api.github.com/users/Arthur2e5/events{/privacy}","received_events_url":"https://api.github.com/users/Arthur2e5/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/AOSC-Dev/autobuild3/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/AOSC-Dev/autobuild3/labels/investigating","name":"investigating","color":"f7c6c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2015-06-25T10:14:08Z","updated_at":"2015-06-25T15:16:52Z","closed_at":null,"body":"We need to specify a way to make debug archives. Currently we are quite sure that in some earlier process, like in stripping, we will dump the debug stuffs to `/usr/lib/debug/path/to/orig/elf.dbg`, but we are not yet sure how we should dump the symbols.\r\n\r\nThere are currently two ways of making debugs. We can actually make them in parallel.\r\n\r\n```Bash\r\nif [ \"$CROSS\" ]; then\r\n  abtryexe eu-make-debug-archive &&\r\n  # Haven't figured out how eu-make-debug-archive works yet.\r\nelse\r\n  # debhelper: dh_debug (perl): sub make_debug\r\n  abtryexe objcopy &&\r\n  dump_debug(){ objcopy --only-keep-debug --compress-debug-sections \"$SRCDIR\"{,/usr/lib/debug}/\"$1\"; }\r\nfi || abicu \"No candidate for dump_debug.\" || dump_debug(){ true; }\r\n````\r\n\r\n## Issue Metadata\r\nDepends: #7\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/comments/115289416","html_url":"https://github.com/AOSC-Dev/autobuild3/issues/29#issuecomment-115289416","issue_url":"https://api.github.com/repos/AOSC-Dev/autobuild3/issues/29","id":115289416,"user":{"login":"Arthur2e5","id":6459309,"avatar_url":"https://avatars.githubusercontent.com/u/6459309?v=3","gravatar_id":"","url":"https://api.github.com/users/Arthur2e5","html_url":"https://github.com/Arthur2e5","followers_url":"https://api.github.com/users/Arthur2e5/followers","following_url":"https://api.github.com/users/Arthur2e5/following{/other_user}","gists_url":"https://api.github.com/users/Arthur2e5/gists{/gist_id}","starred_url":"https://api.github.com/users/Arthur2e5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Arthur2e5/subscriptions","organizations_url":"https://api.github.com/users/Arthur2e5/orgs","repos_url":"https://api.github.com/users/Arthur2e5/repos","events_url":"https://api.github.com/users/Arthur2e5/events{/privacy}","received_events_url":"https://api.github.com/users/Arthur2e5/received_events","type":"User","site_admin":false},"created_at":"2015-06-25T15:16:52Z","updated_at":"2015-06-25T15:16:52Z","body":"My English reading ability seems to be dropping a lot. Read http://llvm.org/docs/GoldPlugin.html and http://llvm.org/docs/LinkTimeOptimization.html lots of times but still unable to figure out what clang would do to statics with gold-based LTO.\r\n\r\nGCC is still safe, as shown in a TODO in https://gcc.gnu.org/wiki/LinkTimeOptimization .\r\n> Currently, GIMPLE is generated internally by the compiler and emitted inside *special sections* as binary content. This permits the LTO front end (lto1) read and reconstitute the internal representation that was generated from the original source code.\r\n\r\nBtw for huge stuffs like chrome, the GCC doc tells us to use `-fwhopr` instead.\r\n"}}