1 #include <inttypes.h>
2 #include <stdint.h>
3 #include <stdio.h>
4 
5 struct BlockProfileInfo {
6   uint64_t Counter;
7   const char *const BlockName;
8 } __attribute__((aligned(8)));
9 
10 extern const struct BlockProfileInfo *__Sz_block_profile_info;
11 
12 static const char SubzeroLogo[] =
13     "\n"
14     "\n"
15     "__________________________________________________________________________"
16     "____________________________\n"
17     " _____/\\\\\\\\\\\\\\\\\\\\\\__________________/"
18     "\\\\\\_______________________________________________________________\n"
19     "  "
20     "___/\\\\\\/////////\\\\\\_______________\\/"
21     "\\\\\\_______________________________________________________________\n"
22     "   "
23     "__\\//\\\\\\______\\///________________\\/"
24     "\\\\\\_______________________________________________________________\n"
25     "    "
26     "___\\////\\\\\\__________/\\\\\\____/\\\\\\_\\/\\\\\\_________/"
27     "\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\___/\\\\/\\\\\\\\\\\\\\____/"
28     "\\\\\\\\\\____\n"
29     "     "
30     "______\\////\\\\\\______\\/\\\\\\___\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\__\\///"
31     "////\\\\\\/____/\\\\\\/////\\\\\\_\\/\\\\\\/////\\\\\\_/\\\\\\///"
32     "\\\\\\__\n"
33     "      "
34     "_________\\////\\\\\\___\\/\\\\\\___\\/\\\\\\_\\/\\\\\\////\\\\\\______/"
35     "\\\\\\/_____/\\\\\\\\\\\\\\\\\\\\\\__\\/\\\\\\__\\///__/\\\\\\__\\//"
36     "\\\\\\_\n"
37     "       "
38     "__/\\\\\\______\\//\\\\\\__\\/\\\\\\___\\/\\\\\\_\\/\\\\\\__\\/\\\\\\____/"
39     "\\\\\\/______\\//\\\\///////___\\/\\\\\\_______\\//\\\\\\__/\\\\\\__\n"
40     "        "
41     "_\\///\\\\\\\\\\\\\\\\\\\\\\/___\\//\\\\\\\\\\\\\\\\\\__\\/"
42     "\\\\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\\\\\\\\__\\//\\\\\\\\\\\\\\\\\\\\_\\/"
43     "\\\\\\________\\///\\\\\\\\\\/___\n"
44     "         "
45     "___\\///////////______\\/////////___\\/////////___\\///////////____\\/////"
46     "/////__\\///___________\\/////_____\n"
47     "          "
48     "__________________________________________________________________________"
49     "____________________________\n"
50     "\n"
51     "\n";
52 
53 void __Sz_profile_summary() {
54   printf("%s", SubzeroLogo);
55   for (const struct BlockProfileInfo **curr = &__Sz_block_profile_info;
56        *curr != NULL; ++curr) {
57     printf("%" PRIu64 "\t%s\n", (*curr)->Counter, (*curr)->BlockName);
58   }
59   fflush(stdout);
60 }
61