{"id":13896735,"url":"https://github.com/jcmvbkbc/avr-flash-vtbl","last_synced_at":"2026-01-20T10:02:04.202Z","repository":{"id":147852912,"uuid":"79539826","full_name":"jcmvbkbc/avr-flash-vtbl","owner":"jcmvbkbc","description":"AVR-GCC plugin that puts vtbls into program memory","archived":false,"fork":false,"pushed_at":"2020-02-29T20:04:19.000Z","size":10,"stargazers_count":30,"open_issues_count":0,"forks_count":2,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-25T02:33:17.496Z","etag":null,"topics":["avr-gcc","cplusplus"],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jcmvbkbc.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2017-01-20T08:15:10.000Z","updated_at":"2024-05-27T09:50:02.000Z","dependencies_parsed_at":"2023-04-20T00:06:13.584Z","dependency_job_id":null,"html_url":"https://github.com/jcmvbkbc/avr-flash-vtbl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jcmvbkbc/avr-flash-vtbl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcmvbkbc%2Favr-flash-vtbl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcmvbkbc%2Favr-flash-vtbl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcmvbkbc%2Favr-flash-vtbl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcmvbkbc%2Favr-flash-vtbl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcmvbkbc","download_url":"https://codeload.github.com/jcmvbkbc/avr-flash-vtbl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcmvbkbc%2Favr-flash-vtbl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265611088,"owners_count":23797809,"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":["avr-gcc","cplusplus"],"created_at":"2024-08-06T18:03:07.193Z","updated_at":"2026-01-20T10:02:04.194Z","avatar_url":"https://github.com/jcmvbkbc.png","language":"Makefile","funding_links":[],"categories":["Makefile"],"sub_categories":[],"readme":"This is a super minimalistic GCC plugin that makes avr-g++ put tables of\nvitual functions into the program memory saving RAM. It is meant to be\nbuilt as a plugin for the existing avr-g++ and modify its default behavior\nwhen loaded. It is loaded into the compiler during compilation step. It\nhas no effect at linking step. Libraries that define classes which vtables\nare intended to be placed into flash must be compiled with this plugin.\n\nBuilding.\n\nTo build this plugin you need avr-g++ with plugins directory installed\nand the host gcc. You may also need to install additional headers not\nprovided by the gcc, like gmp.h\n\nWhen building for linux run\n\n  make\n\nin the current directory.\n\nWhen building for windows-hosted compiler using mingw toolchain run\n\n  make HOST_GCC=x86_64-w64-mingw32 GCCPLUGINS_DIR=\u003cfull-path-to-win-avr-gcc-plugin-dir\u003e\n\nin the current directory. Make sure the HOST_GCC matches gcc that was\nused to build the target compiler, otherwise plugin build will fail at\nlinking step b/o missing symbols.\n\nUsing.\n\nInvoke avr-g++ for compilation with additional parameter\n\n  -fplugin=\u003cfull-path-to\u003e/avr-flash-vtbl.so\n\nMore info.\n\nhttps://habrahabr.ru/company/amperka/blog/264041\n\nMore technical info.\n\nThis plugin merely adds __flash attribute to the C++ vtable and vtable\npointer types. The rest is taken care of by the existing address space\nmachinery of the gcc and flash address space support of the AVR backend.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcmvbkbc%2Favr-flash-vtbl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcmvbkbc%2Favr-flash-vtbl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcmvbkbc%2Favr-flash-vtbl/lists"}