1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
/**
*
* Witchcraft Compiler Collection
*
* Author: Jonathan Brossard - endrazine@gmail.com
*
*******************************************************************************
* The MIT License (MIT)
* Copyright (c) 2016 Jonathan Brossard
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*******************************************************************************
*
*/
/**
*
* Generated with:
* find /bin/ /sbin/ /usr/sbin/|while read mama; do readelf -S $mama 2>/dev/null|grep "\[" -A 1|sed s#"\[.*\]"#"\nKOALA\n"#gi|tr -d "\n"|sed s#"KOALA"#"\n"#gi|sed s#"[WAX]\{1,3\}"##g|awk '{print "{\"" $1 "\", " $9 "}," }'|grep "[0-9]" ; done|sort -u
*
*/
typedef struct assoc_nametoalign_t{
char *name;
unsigned int alignment;
}assoc_nametoalign_t;
assoc_nametoalign_t nametoalign[] = {
{".bss", 32},
{".comment", 1},
{".ctors", 8},
{".data", 32},
{".data.rel.ro", 32},
{".debug_abbrev", 1},
{".debug_aranges", 16},
{".debug_info", 1},
{".debug_line", 1},
{".debug_loc", 1},
{".debug_macinfo", 1},
{".debug_macro", 1},
{".debug_pubnames", 1},
{".debug_pubtypes", 1},
{".debug_ranges", 16},
{".debug_str", 0},
{".dtors", 8},
{".dynamic", 8},
{".dynstr", 1},
{".dynsym", 8},
{".eh_frame", 8},
{".eh_frame_hdr", 4},
{".fini", 4},
{".fini_array", 8},
{".gcc_except_table", 4},
{".gnu.hash", 8},
{".gnu.version", 2},
{".gnu.version_r", 8},
{".gnu_debuglink", 1},
{".got", 8},
{".got.plt", 8},
{".hash", 8},
{".init", 4},
{".init_array", 8},
{".interp", 1},
{".jcr", 8},
{".modinfo", 16},
{".module_license", 1},
{".note.BI-tag", 4},
{".note.gnu.build-id", 4},
{".plt", 16},
{".plt.got", 8},
{".rel.dyn", 4},
{".rel.plt", 4},
{".rela.dyn", 8},
{".rela.plt", 8},
{".rodata", 32},
{".rsrc", 1}, // Microsoft Windows's resources
{".shstrtab", 1},
{".strtab", 1},
{".symtab", 8},
{".tbss", 0},
{".tdata", 0},
#ifdef __LP64__ // Generic 64b
{".text", 16},
#else // Generic 32b
{".text", 4},
#endif
{"__cmd", 32},
{"__debug", 8},
{"__libc_atexit", 8},
{"__libc_freeres_fn", 16},
{"__libc_freeres_pt", 16},
{"__libc_freeres_pt", 8},
{"__libc_subfreeres", 8},
{"__libc_thread_fre", 16},
{"__libc_thread_sub", 8},
{"pl_arch", 64},
};
|