Changeset 446 for EcnlProtoTool/trunk/prototool/src/elf.c
- Timestamp:
- Jul 21, 2020, 8:38:44 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/prototool/src/elf.c
r443 r446 38 38 #include <string.h> 39 39 #include <elf.h> 40 #include <ntshell/usrcmd.h> 41 42 extern int mrbc_main(int argc, char **argv); 43 extern int mrdb_main(int argc, char **argv); 44 extern int mruby_main(int argc, char **argv); 45 extern int mirb_main(int argc, char **argv); 46 extern int curl_main(int argc, char **argv); 47 extern int tcc_main(int argc, char **argv); 48 extern int vi_main(int argc, char **argv); 49 extern int openssl_main(int argc, char *argv[]); 50 extern int onitest_main(int argc, char **argv); 51 extern int tcp_echo_main(int argc, char **argv); 52 53 static const cmd_table_t cmdlist[] = { 54 {"mrbc", "mruby compiler executable", mrbc_main}, 55 {"mrdb","mruby debugger command", mrdb_main}, 56 {"mruby","mruby command", mruby_main}, 57 {"mirb", "Embeddable Interactive Ruby Shell", mirb_main}, 58 {"curl", "Command lines or scripts to transfer data", curl_main}, 59 {"tcc", "Tiny C compiler", tcc_main}, 60 {"vi", "Text editor", vi_main}, 61 {"openssl", "Cryptography and SSL/TLS Toolkit", openssl_main}, 62 {"onitest", "Onigumo Test", onitest_main}, 63 {"tcp_echo", "TCP echo server/client", tcp_echo_main}, 64 }; 65 const cmd_table_info_t cmd_table_info = { &cmdlist, sizeof(cmdlist) / sizeof(cmdlist[0]) }; 40 66 41 67 #define FVECT_SECT __attribute__ ((section (".proginf"))) … … 50 76 Elf32_Ehdr ehdr; 51 77 Elf32_Phdr phdr[3]; 52 Elf32_Shdr shdr[ 4];78 Elf32_Shdr shdr[5]; 53 79 Elf32_Shdr str_shdr; 54 char shstrtab[sizeof("\0.text\0.rodata\0.data\0.bss\0. shstrtab")];80 char shstrtab[sizeof("\0.text\0.rodata\0.data\0.bss\0.cmdlist\0.shstrtab")]; 55 81 } TProgInf; 56 82 … … 152 178 .sh_addralign = (Elf32_Word)8, 153 179 .sh_entsize = (Elf32_Word)0, 180 }, 181 { 182 .sh_name = (Elf32_Word)26, 183 .sh_type = (Elf32_Word)SHT_PROGBITS, 184 .sh_flags = (Elf32_Word)(SHF_ALLOC), 185 .sh_addr = (Elf32_Addr)&cmdlist, 186 .sh_offset = (Elf32_Off)&cmdlist/* - (Elf32_Off)&ProgInf*/, 187 .sh_size = (Elf32_Word)&cmdlist[sizeof(cmdlist) / sizeof(cmdlist[0])]/* - (Elf32_Off)&cmdlist*/, 188 .sh_link = (Elf32_Word)0, 189 .sh_info = (Elf32_Word)0, 190 .sh_addralign = (Elf32_Word)8, 191 .sh_entsize = (Elf32_Word)0, 154 192 } 155 193 }, 156 194 { 157 .sh_name = (Elf32_Word) 26,195 .sh_name = (Elf32_Word)35, 158 196 .sh_type = (Elf32_Word)SHT_STRTAB, 159 197 .sh_flags = (Elf32_Word)0, … … 166 204 .sh_entsize = (Elf32_Word)0, 167 205 }, 168 "\0.text\0.rodata\0.data\0.bss\0. shstrtab"206 "\0.text\0.rodata\0.data\0.bss\0.cmdlist\0.shstrtab" 169 207 };
Note:
See TracChangeset
for help on using the changeset viewer.