{"id":13420805,"url":"https://github.com/blanham/liballoc","last_synced_at":"2025-03-15T07:31:36.613Z","repository":{"id":12484998,"uuid":"15154334","full_name":"blanham/liballoc","owner":"blanham","description":"liballoc - a memory allocator for hobbyist operating systems","archived":false,"fork":false,"pushed_at":"2020-12-04T03:44:44.000Z","size":127,"stargazers_count":189,"open_issues_count":0,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-07-31T22:56:41.126Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blanham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-13T03:57:31.000Z","updated_at":"2024-07-20T01:07:12.000Z","dependencies_parsed_at":"2022-08-09T09:15:19.501Z","dependency_job_id":null,"html_url":"https://github.com/blanham/liballoc","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blanham%2Fliballoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blanham%2Fliballoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blanham%2Fliballoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blanham%2Fliballoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blanham","download_url":"https://codeload.github.com/blanham/liballoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243701222,"owners_count":20333614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-07-30T22:01:41.742Z","updated_at":"2025-03-15T07:31:36.363Z","avatar_url":"https://github.com/blanham.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","C"],"sub_categories":[],"readme":"liballoc - a small memory allocator\n===================================\n\nThis is liballoc, a memory allocator for hobby operating systems, originally\nwritten by Durand. According to the original page for liballoc it was released\ninto the public domain, but the copy I have contains the 3 clause BSD license.\n\nliballoc.c/h are the original release of liballoc taken from the spoon tarball\nwhile liballoc_1_1.c/h are later versions found by detective work using Google.\n\nUsing liballoc\n==============\n\nThere are 4 functions which you need to implement on your system:\n\n\tint   liballoc_lock();\n\tint   liballoc_unlock();\n\tvoid* liballoc_alloc(int);\n\tint   liballoc_free(void*,int);\n\n1) Have a look at liballoc.h for information about what each function is \nsupposed to do.\n\n\n2) Have a look at linux.c for an example of how to implement the library \non linux. \n\n\nNOTE: There are two ways to build the library:\n\n    1) Compile the library with a new system file. For example, I've\n\t   left linux.c with the default distribution. It gets compiled\n\t   directly into the liballoc_linux.so file.\n\n\t2) Implement the functions in your application and then just\n\t   link against the default liballoc.so library when you compile\n\t   your app.\n\n\nQuick Start\n===========\n\nYou can simply type: \"make linux\" to build the linux shared\nlibrary.  Thereafter, you can link it directly into your applications\nduring build or afterwards by export the LD_PRELOAD environment\nvariable. \n\n\nTo run bash with the library, for example:\n\n    LD_PRELOAD=/full/path/to/liballoc.so bash\n\n\nThe above command will pre-link the library into the application,\nessentially replacing the default malloc/free calls at runtime. It's\nquite cool.\n\n\nOriginally by:\nDurand Miller\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblanham%2Fliballoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblanham%2Fliballoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblanham%2Fliballoc/lists"}