{"id":23129844,"url":"https://github.com/ksherlock/omf_surgeon","last_synced_at":"2026-01-28T13:02:16.397Z","repository":{"id":267157642,"uuid":"679479729","full_name":"ksherlock/omf_surgeon","owner":"ksherlock","description":"OMF Surgeon","archived":false,"fork":false,"pushed_at":"2025-11-26T18:15:20.000Z","size":91,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-24T16:21:15.199Z","etag":null,"topics":["apple-iigs","appleiigs","iigs","omf"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ksherlock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-17T00:13:46.000Z","updated_at":"2025-07-03T20:00:50.000Z","dependencies_parsed_at":"2024-12-08T18:46:01.947Z","dependency_job_id":null,"html_url":"https://github.com/ksherlock/omf_surgeon","commit_stats":null,"previous_names":["ksherlock/omf_surgeon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ksherlock/omf_surgeon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksherlock%2Fomf_surgeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksherlock%2Fomf_surgeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksherlock%2Fomf_surgeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksherlock%2Fomf_surgeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksherlock","download_url":"https://codeload.github.com/ksherlock/omf_surgeon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksherlock%2Fomf_surgeon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28845768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T12:37:07.070Z","status":"ssl_error","status_checked_at":"2026-01-28T12:37:06.657Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-iigs","appleiigs","iigs","omf"],"created_at":"2024-12-17T10:11:10.316Z","updated_at":"2026-01-28T13:02:16.393Z","avatar_url":"https://github.com/ksherlock.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"OMF Surgeon\n-----------\n\n```\nomf_surgeon [-hv] scriptfile infile outfile\n```\n\ncopies `infile` to `outfile`, using `scriptfile` to make modifications.\n\n`infile` and `outfile` are OMF object files.\n\nScript File\n-----------\n\n\n```\nfile          ::= segment* ; \n\nsegment       ::= 'segment' label_or_star `{` statement* '}' ;\n\nstatement     ::= alias_stmt \n                | delete_stmt\n                | strong_stmt\n                | weak_stmt\n                | kind_stmt\n                | loadname_stmt\n                ;\n\nalias_stmt    ::= 'alias' label_list ';' ;\ndelete_stmt   ::= 'delete' ';' ;\nkind_stmt     ::= 'kind' number ';' ;\nloadname_stmt ::= 'loadname' label ';' ;\nstrong_stmt   ::= 'strong' label_list ';' ;\nweak_stmt     ::= 'weak' label_list ';' ;\n\n\nlabel         ::= [A-Za-z_~][A-Za-z0-9_~]* | '\"' [^\"]+ '\"' ;\nlabel_list    ::= label [ ',' label ]* ;\nlabel_or_star ::= label | '*' ;\nnumber        ::= '$' [0-9A-F]+ | '%' [01][01_]* | [0-9]+  ;\n\n\n\n```\n* `#` starts a comment (terminated by the end of the line).\n\n* segment name comparison is case sensitive.  if there is no match, the wildcard (`*`) segment, if any, will be used.\n\n* `alias` will add a public `GLOBAL` entry at the start of the segment. (*c.f.* ORCA/M's `ENTRY` statement)\n\n* `delete` will delete the segment (ie, it won't be copied to the new file).\n\n* `strong` will convert all soft references to hard references.  If there are no references, a `STRONG` entry will be added to the end of the segment.\n\n* `weak` will convert all hard references to soft references and delete any `STRONG` entries.\n\n* `kind` will set the segment header kind field.\n\n* `loadname` will set the segment header loadname field (padded with ' ' to 10 characters).\n\n\n\nExamples:\n\n```\n# this will delete all segments (outfile will be empty).\n\nsegment * {\n  delete;\n}\n\n```\n\n```\n# this will mark the segment as code, static, private ($4000), reload ($0400)\n\nsegment \"~GLOBALS\" {\n  kind $4400;\n}\n```\n\n\n```\n# bcmp will be added as an alias for memcmp.\nsegment \"memcmp\" {\n  alias bcmp;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksherlock%2Fomf_surgeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksherlock%2Fomf_surgeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksherlock%2Fomf_surgeon/lists"}