#include #include #include struct BlockProfileInfo { uint64_t Counter; const char *const BlockName; } __attribute__((aligned(8))); extern const struct BlockProfileInfo *__Sz_block_profile_info; static const char SubzeroLogo[] = "\n" "\n" "__________________________________________________________________________" "____________________________\n" " _____/\\\\\\\\\\\\\\\\\\\\\\__________________/" "\\\\\\_______________________________________________________________\n" " " "___/\\\\\\/////////\\\\\\_______________\\/" "\\\\\\_______________________________________________________________\n" " " "__\\//\\\\\\______\\///________________\\/" "\\\\\\_______________________________________________________________\n" " " "___\\////\\\\\\__________/\\\\\\____/\\\\\\_\\/\\\\\\_________/" "\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\___/\\\\/\\\\\\\\\\\\\\____/" "\\\\\\\\\\____\n" " " "______\\////\\\\\\______\\/\\\\\\___\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\__\\///" "////\\\\\\/____/\\\\\\/////\\\\\\_\\/\\\\\\/////\\\\\\_/\\\\\\///" "\\\\\\__\n" " " "_________\\////\\\\\\___\\/\\\\\\___\\/\\\\\\_\\/\\\\\\////\\\\\\______/" "\\\\\\/_____/\\\\\\\\\\\\\\\\\\\\\\__\\/\\\\\\__\\///__/\\\\\\__\\//" "\\\\\\_\n" " " "__/\\\\\\______\\//\\\\\\__\\/\\\\\\___\\/\\\\\\_\\/\\\\\\__\\/\\\\\\____/" "\\\\\\/______\\//\\\\///////___\\/\\\\\\_______\\//\\\\\\__/\\\\\\__\n" " " "_\\///\\\\\\\\\\\\\\\\\\\\\\/___\\//\\\\\\\\\\\\\\\\\\__\\/" "\\\\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\\\\\\\\__\\//\\\\\\\\\\\\\\\\\\\\_\\/" "\\\\\\________\\///\\\\\\\\\\/___\n" " " "___\\///////////______\\/////////___\\/////////___\\///////////____\\/////" "/////__\\///___________\\/////_____\n" " " "__________________________________________________________________________" "____________________________\n" "\n" "\n"; void __Sz_profile_summary() { printf("%s", SubzeroLogo); for (const struct BlockProfileInfo **curr = &__Sz_block_profile_info; *curr != NULL; ++curr) { printf("%" PRIu64 "\t%s\n", (*curr)->Counter, (*curr)->BlockName); } fflush(stdout); }