1 .cpu cortex-m4 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 4 9 .eabi_attribute 34, 1 10 .eabi_attribute 18, 4 11 .file "simple-speck.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.get_key,"ax",%progbits 16 .align 1 17 .global get_key 18 .arch armv7e-m 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu softvfp 24 get_key: 25 .LVL0: 26 .LFB0: 27 .file 1 "simple-speck.c" 1:simple-speck.c **** #include "hal.h" 2:simple-speck.c **** #include 3:simple-speck.c **** #include 4:simple-speck.c **** 5:simple-speck.c **** #include "simpleserial.h" 6:simple-speck.c **** #include "speck.h" 7:simple-speck.c **** 8:simple-speck.c **** u8 gkey[8] = {0x00}; 9:simple-speck.c **** u8 rand_data[8] = {0x00}; 10:simple-speck.c **** 11:simple-speck.c **** uint8_t get_key(uint8_t* k, uint8_t len) { 28 .loc 1 11 42 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 12:simple-speck.c **** simpleserial_put('o', 8, gkey); 32 .loc 1 12 2 view .LVU1 11:simple-speck.c **** simpleserial_put('o', 8, gkey); 33 .loc 1 11 42 is_stmt 0 view .LVU2 34 0000 08B5 push {r3, lr} 35 .LCFI0: 36 .cfi_def_cfa_offset 8 37 .cfi_offset 3, -8 38 .cfi_offset 14, -4 39 .loc 1 12 2 view .LVU3 40 0002 034A ldr r2, .L2 41 0004 0821 movs r1, #8 42 .LVL1: 43 .loc 1 12 2 view .LVU4 44 0006 6F20 movs r0, #111 45 .LVL2: 46 .loc 1 12 2 view .LVU5 47 0008 FFF7FEFF bl simpleserial_put 48 .LVL3: 13:simple-speck.c **** return 0x00; 49 .loc 1 13 2 is_stmt 1 view .LVU6 14:simple-speck.c **** } 50 .loc 1 14 1 is_stmt 0 view .LVU7 51 000c 0020 movs r0, #0 52 000e 08BD pop {r3, pc} 53 .L3: 54 .align 2 55 .L2: 56 0010 00000000 .word .LANCHOR0 57 .cfi_endproc 58 .LFE0: 60 .section .text.reset,"ax",%progbits 61 .align 1 62 .global reset 63 .syntax unified 64 .thumb 65 .thumb_func 66 .fpu softvfp 68 reset: 69 .LVL4: 70 .LFB4: 15:simple-speck.c **** 16:simple-speck.c **** uint8_t set_key(uint8_t* key, uint8_t len) { 17:simple-speck.c **** memcpy(gkey, key, 8); 18:simple-speck.c **** int sum = 0; 19:simple-speck.c **** for(int i=0; i < 8; i++) { 20:simple-speck.c **** sum += key[i]; 21:simple-speck.c **** } 22:simple-speck.c **** // initialize random value 23:simple-speck.c **** srand(sum); 24:simple-speck.c **** for(int i=0; i < 8; i++) { 25:simple-speck.c **** rand_data[i] = rand() & 0xFF; 26:simple-speck.c **** } 27:simple-speck.c **** return 0x00; 28:simple-speck.c **** } 29:simple-speck.c **** 30:simple-speck.c **** uint8_t get_pt(uint8_t* pt, uint8_t len) { 31:simple-speck.c **** /********************************** 32:simple-speck.c **** * Start user-specific code here. */ 33:simple-speck.c **** trigger_high(); 34:simple-speck.c **** 35:simple-speck.c **** // Only for testing purposes 36:simple-speck.c **** volatile uint8_t testing_output[] = {0x42, 0x41, 0x41, 0x41,0x41, 0x41, 0x41, 0x41, 0x41, 0 37:simple-speck.c **** 38:simple-speck.c **** 39:simple-speck.c **** trigger_low(); 40:simple-speck.c **** /* End user-specific code here. * 41:simple-speck.c **** ********************************/ 42:simple-speck.c **** simpleserial_put('r', 16, testing_output); 43:simple-speck.c **** 44:simple-speck.c **** return 0x00; 45:simple-speck.c **** } 46:simple-speck.c **** 47:simple-speck.c **** 48:simple-speck.c **** uint8_t encrypt_block(uint8_t* pt, uint8_t len) { 49:simple-speck.c **** 50:simple-speck.c **** trigger_high(); // TRIGGER START 51:simple-speck.c **** 52:simple-speck.c **** u8 key[8] = {0x00}; 53:simple-speck.c **** memcpy(key, gkey, 8); // copy the globally set encryption key 54:simple-speck.c **** u8 ct[4] = {0x00}; 55:simple-speck.c **** Speck3264_EncryptBlock(pt, key, ct, rand_data); // the encryption happens here 56:simple-speck.c **** 57:simple-speck.c **** trigger_low(); // TRIGGER STOP 58:simple-speck.c **** 59:simple-speck.c **** simpleserial_put('c', 4, ct); 60:simple-speck.c **** return 0x00; 61:simple-speck.c **** } 62:simple-speck.c **** 63:simple-speck.c **** 64:simple-speck.c **** uint8_t reset(uint8_t* x, uint8_t len) { 71 .loc 1 64 40 is_stmt 1 view -0 72 .cfi_startproc 73 @ args = 0, pretend = 0, frame = 0 74 @ frame_needed = 0, uses_anonymous_args = 0 65:simple-speck.c **** simpleserial_put('r', 0, NULL); 75 .loc 1 65 2 view .LVU9 64:simple-speck.c **** simpleserial_put('r', 0, NULL); 76 .loc 1 64 40 is_stmt 0 view .LVU10 77 0000 08B5 push {r3, lr} 78 .LCFI1: 79 .cfi_def_cfa_offset 8 80 .cfi_offset 3, -8 81 .cfi_offset 14, -4 82 .loc 1 65 2 view .LVU11 83 0002 0022 movs r2, #0 84 0004 1146 mov r1, r2 85 .LVL5: 86 .loc 1 65 2 view .LVU12 87 0006 7220 movs r0, #114 88 .LVL6: 89 .loc 1 65 2 view .LVU13 90 0008 FFF7FEFF bl simpleserial_put 91 .LVL7: 66:simple-speck.c **** // Reset key here if needed 67:simple-speck.c **** return 0x00; 92 .loc 1 67 2 is_stmt 1 view .LVU14 68:simple-speck.c **** } 93 .loc 1 68 1 is_stmt 0 view .LVU15 94 000c 0020 movs r0, #0 95 000e 08BD pop {r3, pc} 96 .cfi_endproc 97 .LFE4: 99 .section .text.set_key,"ax",%progbits 100 .align 1 101 .global set_key 102 .syntax unified 103 .thumb 104 .thumb_func 105 .fpu softvfp 107 set_key: 108 .LVL8: 109 .LFB1: 16:simple-speck.c **** memcpy(gkey, key, 8); 110 .loc 1 16 44 is_stmt 1 view -0 111 .cfi_startproc 112 @ args = 0, pretend = 0, frame = 0 113 @ frame_needed = 0, uses_anonymous_args = 0 17:simple-speck.c **** int sum = 0; 114 .loc 1 17 5 view .LVU17 16:simple-speck.c **** memcpy(gkey, key, 8); 115 .loc 1 16 44 is_stmt 0 view .LVU18 116 0000 38B5 push {r3, r4, r5, lr} 117 .LCFI2: 118 .cfi_def_cfa_offset 16 119 .cfi_offset 3, -16 120 .cfi_offset 4, -12 121 .cfi_offset 5, -8 122 .cfi_offset 14, -4 17:simple-speck.c **** int sum = 0; 123 .loc 1 17 5 view .LVU19 124 0002 0D4A ldr r2, .L10 125 0004 0368 ldr r3, [r0] @ unaligned 126 0006 1360 str r3, [r2] @ unaligned 127 0008 4368 ldr r3, [r0, #4] @ unaligned 128 000a 5360 str r3, [r2, #4] @ unaligned 18:simple-speck.c **** for(int i=0; i < 8; i++) { 129 .loc 1 18 5 is_stmt 1 view .LVU20 130 .LVL9: 19:simple-speck.c **** sum += key[i]; 131 .loc 1 19 5 view .LVU21 132 .LBB2: 19:simple-speck.c **** sum += key[i]; 133 .loc 1 19 9 view .LVU22 19:simple-speck.c **** sum += key[i]; 134 .loc 1 19 20 view .LVU23 135 000c 421E subs r2, r0, #1 136 000e C31D adds r3, r0, #7 137 .LBE2: 18:simple-speck.c **** for(int i=0; i < 8; i++) { 138 .loc 1 18 9 is_stmt 0 view .LVU24 139 0010 0020 movs r0, #0 140 .LVL10: 141 .L6: 142 .LBB3: 20:simple-speck.c **** } 143 .loc 1 20 9 is_stmt 1 discriminator 3 view .LVU25 20:simple-speck.c **** } 144 .loc 1 20 19 is_stmt 0 discriminator 3 view .LVU26 145 0012 12F8011F ldrb r1, [r2, #1]! @ zero_extendqisi2 146 .LVL11: 19:simple-speck.c **** sum += key[i]; 147 .loc 1 19 20 discriminator 3 view .LVU27 148 0016 9A42 cmp r2, r3 20:simple-speck.c **** } 149 .loc 1 20 13 discriminator 3 view .LVU28 150 0018 0844 add r0, r0, r1 151 .LVL12: 19:simple-speck.c **** sum += key[i]; 152 .loc 1 19 26 is_stmt 1 discriminator 3 view .LVU29 19:simple-speck.c **** sum += key[i]; 153 .loc 1 19 20 discriminator 3 view .LVU30 154 001a FAD1 bne .L6 155 .LBE3: 23:simple-speck.c **** for(int i=0; i < 8; i++) { 156 .loc 1 23 5 view .LVU31 157 001c FFF7FEFF bl srand 158 .LVL13: 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 159 .loc 1 24 5 view .LVU32 160 .LBB4: 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 161 .loc 1 24 9 view .LVU33 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 162 .loc 1 24 20 view .LVU34 163 0020 064D ldr r5, .L10+4 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 164 .loc 1 24 13 is_stmt 0 view .LVU35 165 0022 0024 movs r4, #0 166 .LVL14: 167 .L7: 25:simple-speck.c **** } 168 .loc 1 25 9 is_stmt 1 discriminator 3 view .LVU36 25:simple-speck.c **** } 169 .loc 1 25 24 is_stmt 0 discriminator 3 view .LVU37 170 0024 FFF7FEFF bl rand 171 .LVL15: 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 172 .loc 1 24 26 discriminator 3 view .LVU38 173 0028 0134 adds r4, r4, #1 174 .LVL16: 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 175 .loc 1 24 20 discriminator 3 view .LVU39 176 002a 082C cmp r4, #8 25:simple-speck.c **** } 177 .loc 1 25 22 discriminator 3 view .LVU40 178 002c 05F8010B strb r0, [r5], #1 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 179 .loc 1 24 26 is_stmt 1 discriminator 3 view .LVU41 180 .LVL17: 24:simple-speck.c **** rand_data[i] = rand() & 0xFF; 181 .loc 1 24 20 discriminator 3 view .LVU42 182 0030 F8D1 bne .L7 183 .LBE4: 27:simple-speck.c **** } 184 .loc 1 27 5 view .LVU43 28:simple-speck.c **** 185 .loc 1 28 1 is_stmt 0 view .LVU44 186 0032 0020 movs r0, #0 187 0034 38BD pop {r3, r4, r5, pc} 188 .LVL18: 189 .L11: 28:simple-speck.c **** 190 .loc 1 28 1 view .LVU45 191 0036 00BF .align 2 192 .L10: 193 0038 00000000 .word .LANCHOR0 194 003c 08000000 .word .LANCHOR0+8 195 .cfi_endproc 196 .LFE1: 198 .section .rodata.str1.1,"aMS",%progbits,1 199 .LC0: 200 0000 42414141 .ascii "BAAAAAAAAAAAAAAA\000" 200 41414141 200 41414141 200 41414141 200 00 201 .section .text.get_pt,"ax",%progbits 202 .align 1 203 .global get_pt 204 .syntax unified 205 .thumb 206 .thumb_func 207 .fpu softvfp 209 get_pt: 210 .LVL19: 211 .LFB2: 30:simple-speck.c **** /********************************** 212 .loc 1 30 42 is_stmt 1 view -0 213 .cfi_startproc 214 @ args = 0, pretend = 0, frame = 16 215 @ frame_needed = 0, uses_anonymous_args = 0 33:simple-speck.c **** 216 .loc 1 33 2 view .LVU47 30:simple-speck.c **** /********************************** 217 .loc 1 30 42 is_stmt 0 view .LVU48 218 0000 7FB5 push {r0, r1, r2, r3, r4, r5, r6, lr} 219 .LCFI3: 220 .cfi_def_cfa_offset 32 221 .cfi_offset 4, -16 222 .cfi_offset 5, -12 223 .cfi_offset 6, -8 224 .cfi_offset 14, -4 33:simple-speck.c **** 225 .loc 1 33 2 view .LVU49 226 0002 FFF7FEFF bl trigger_high 227 .LVL20: 36:simple-speck.c **** 228 .loc 1 36 9 is_stmt 1 view .LVU50 36:simple-speck.c **** 229 .loc 1 36 26 is_stmt 0 view .LVU51 230 0006 0B4B ldr r3, .L15 231 0008 6C46 mov r4, sp 232 000a 03F11002 add r2, r3, #16 233 000e 2646 mov r6, r4 234 .L13: 235 0010 1868 ldr r0, [r3] @ unaligned 236 0012 5968 ldr r1, [r3, #4] @ unaligned 237 0014 2546 mov r5, r4 238 0016 03C5 stmia r5!, {r0, r1} 239 0018 0833 adds r3, r3, #8 240 001a 9342 cmp r3, r2 241 001c 2C46 mov r4, r5 242 001e F7D1 bne .L13 39:simple-speck.c **** /* End user-specific code here. * 243 .loc 1 39 2 is_stmt 1 view .LVU52 244 0020 FFF7FEFF bl trigger_low 245 .LVL21: 42:simple-speck.c **** 246 .loc 1 42 2 view .LVU53 247 0024 3246 mov r2, r6 248 0026 1021 movs r1, #16 249 0028 7220 movs r0, #114 250 002a FFF7FEFF bl simpleserial_put 251 .LVL22: 44:simple-speck.c **** } 252 .loc 1 44 2 view .LVU54 45:simple-speck.c **** 253 .loc 1 45 1 is_stmt 0 view .LVU55 254 002e 0020 movs r0, #0 255 0030 04B0 add sp, sp, #16 256 .LCFI4: 257 .cfi_def_cfa_offset 16 258 @ sp needed 259 0032 70BD pop {r4, r5, r6, pc} 260 .L16: 261 .align 2 262 .L15: 263 0034 00000000 .word .LC0 264 .cfi_endproc 265 .LFE2: 267 .section .text.encrypt_block,"ax",%progbits 268 .align 1 269 .global encrypt_block 270 .syntax unified 271 .thumb 272 .thumb_func 273 .fpu softvfp 275 encrypt_block: 276 .LVL23: 277 .LFB3: 48:simple-speck.c **** 278 .loc 1 48 49 is_stmt 1 view -0 279 .cfi_startproc 280 @ args = 0, pretend = 0, frame = 16 281 @ frame_needed = 0, uses_anonymous_args = 0 50:simple-speck.c **** 282 .loc 1 50 5 view .LVU57 48:simple-speck.c **** 283 .loc 1 48 49 is_stmt 0 view .LVU58 284 0000 30B5 push {r4, r5, lr} 285 .LCFI5: 286 .cfi_def_cfa_offset 12 287 .cfi_offset 4, -12 288 .cfi_offset 5, -8 289 .cfi_offset 14, -4 290 0002 85B0 sub sp, sp, #20 291 .LCFI6: 292 .cfi_def_cfa_offset 32 48:simple-speck.c **** 293 .loc 1 48 49 view .LVU59 294 0004 0446 mov r4, r0 50:simple-speck.c **** 295 .loc 1 50 5 view .LVU60 296 0006 FFF7FEFF bl trigger_high 297 .LVL24: 52:simple-speck.c **** memcpy(key, gkey, 8); // copy the globally set encryption key 298 .loc 1 52 5 is_stmt 1 view .LVU61 53:simple-speck.c **** u8 ct[4] = {0x00}; 299 .loc 1 53 5 view .LVU62 300 000a 0B4B ldr r3, .L18 301 000c 1868 ldr r0, [r3] @ unaligned 302 000e 5968 ldr r1, [r3, #4] @ unaligned 303 0010 02AA add r2, sp, #8 304 0012 03C2 stmia r2!, {r0, r1} 54:simple-speck.c **** Speck3264_EncryptBlock(pt, key, ct, rand_data); // the encryption happens here 305 .loc 1 54 5 view .LVU63 55:simple-speck.c **** 306 .loc 1 55 5 is_stmt 0 view .LVU64 307 0014 0833 adds r3, r3, #8 308 0016 01AA add r2, sp, #4 309 0018 02A9 add r1, sp, #8 310 001a 2046 mov r0, r4 54:simple-speck.c **** Speck3264_EncryptBlock(pt, key, ct, rand_data); // the encryption happens here 311 .loc 1 54 8 view .LVU65 312 001c 0025 movs r5, #0 313 001e 0195 str r5, [sp, #4] 55:simple-speck.c **** 314 .loc 1 55 5 is_stmt 1 view .LVU66 315 0020 FFF7FEFF bl Speck3264_EncryptBlock 316 .LVL25: 57:simple-speck.c **** 317 .loc 1 57 5 view .LVU67 318 0024 FFF7FEFF bl trigger_low 319 .LVL26: 59:simple-speck.c **** return 0x00; 320 .loc 1 59 5 view .LVU68 321 0028 01AA add r2, sp, #4 322 002a 0421 movs r1, #4 323 002c 6320 movs r0, #99 324 002e FFF7FEFF bl simpleserial_put 325 .LVL27: 60:simple-speck.c **** } 326 .loc 1 60 5 view .LVU69 61:simple-speck.c **** 327 .loc 1 61 1 is_stmt 0 view .LVU70 328 0032 2846 mov r0, r5 329 0034 05B0 add sp, sp, #20 330 .LCFI7: 331 .cfi_def_cfa_offset 12 332 @ sp needed 333 0036 30BD pop {r4, r5, pc} 334 .LVL28: 335 .L19: 61:simple-speck.c **** 336 .loc 1 61 1 view .LVU71 337 .align 2 338 .L18: 339 0038 00000000 .word .LANCHOR0 340 .cfi_endproc 341 .LFE3: 343 .section .text.startup.main,"ax",%progbits 344 .align 1 345 .global main 346 .syntax unified 347 .thumb 348 .thumb_func 349 .fpu softvfp 351 main: 352 .LFB5: 69:simple-speck.c **** 70:simple-speck.c **** 71:simple-speck.c **** int main(void) { 353 .loc 1 71 16 is_stmt 1 view -0 354 .cfi_startproc 355 @ Volatile: function does not return. 356 @ args = 0, pretend = 0, frame = 0 357 @ frame_needed = 0, uses_anonymous_args = 0 72:simple-speck.c **** platform_init(); 358 .loc 1 72 5 view .LVU73 71:simple-speck.c **** platform_init(); 359 .loc 1 71 16 is_stmt 0 view .LVU74 360 0000 08B5 push {r3, lr} 361 .LCFI8: 362 .cfi_def_cfa_offset 8 363 .cfi_offset 3, -8 364 .cfi_offset 14, -4 365 .loc 1 72 5 view .LVU75 366 0002 FFF7FEFF bl platform_init 367 .LVL29: 73:simple-speck.c **** init_uart(); 368 .loc 1 73 2 is_stmt 1 view .LVU76 369 0006 FFF7FEFF bl init_uart 370 .LVL30: 74:simple-speck.c **** trigger_setup(); 371 .loc 1 74 2 view .LVU77 372 000a FFF7FEFF bl trigger_setup 373 .LVL31: 75:simple-speck.c **** 76:simple-speck.c **** /* Uncomment this to get a HELLO message for debug */ 77:simple-speck.c **** /* 78:simple-speck.c **** putch('h'); 79:simple-speck.c **** putch('e'); 80:simple-speck.c **** putch('l'); 81:simple-speck.c **** putch('l'); 82:simple-speck.c **** putch('o'); 83:simple-speck.c **** putch('\n'); 84:simple-speck.c **** */ 85:simple-speck.c **** 86:simple-speck.c **** simpleserial_init(); 374 .loc 1 86 2 view .LVU78 375 000e FFF7FEFF bl simpleserial_init 376 .LVL32: 87:simple-speck.c **** simpleserial_addcmd('p', 16, get_pt); 377 .loc 1 87 2 view .LVU79 378 0012 0E4A ldr r2, .L22 379 0014 1021 movs r1, #16 380 0016 7020 movs r0, #112 381 0018 FFF7FEFF bl simpleserial_addcmd 382 .LVL33: 88:simple-speck.c **** simpleserial_addcmd('e', 4, encrypt_block); 383 .loc 1 88 2 view .LVU80 384 001c 0C4A ldr r2, .L22+4 385 001e 0421 movs r1, #4 386 0020 6520 movs r0, #101 387 0022 FFF7FEFF bl simpleserial_addcmd 388 .LVL34: 89:simple-speck.c **** simpleserial_addcmd('k', 4, get_key); 389 .loc 1 89 2 view .LVU81 390 0026 0B4A ldr r2, .L22+8 391 0028 0421 movs r1, #4 392 002a 6B20 movs r0, #107 393 002c FFF7FEFF bl simpleserial_addcmd 394 .LVL35: 90:simple-speck.c **** simpleserial_addcmd('s', 8, set_key); 395 .loc 1 90 2 view .LVU82 396 0030 094A ldr r2, .L22+12 397 0032 0821 movs r1, #8 398 0034 7320 movs r0, #115 399 0036 FFF7FEFF bl simpleserial_addcmd 400 .LVL36: 91:simple-speck.c **** simpleserial_addcmd('x', 0, reset); 401 .loc 1 91 2 view .LVU83 402 003a 084A ldr r2, .L22+16 403 003c 0021 movs r1, #0 404 003e 7820 movs r0, #120 405 0040 FFF7FEFF bl simpleserial_addcmd 406 .LVL37: 407 .L21: 92:simple-speck.c **** 93:simple-speck.c **** while(1) 408 .loc 1 93 2 discriminator 1 view .LVU84 94:simple-speck.c **** simpleserial_get(); 409 .loc 1 94 3 discriminator 1 view .LVU85 410 0044 FFF7FEFF bl simpleserial_get 411 .LVL38: 93:simple-speck.c **** simpleserial_get(); 412 .loc 1 93 7 discriminator 1 view .LVU86 413 0048 FCE7 b .L21 414 .L23: 415 004a 00BF .align 2 416 .L22: 417 004c 00000000 .word get_pt 418 0050 00000000 .word encrypt_block 419 0054 00000000 .word get_key 420 0058 00000000 .word set_key 421 005c 00000000 .word reset 422 .cfi_endproc 423 .LFE5: 425 .global rand_data 426 .global gkey 427 .bss 428 .set .LANCHOR0,. + 0 431 gkey: 432 0000 00000000 .space 8 432 00000000 435 rand_data: 436 0008 00000000 .space 8 436 00000000 437 .text 438 .Letext0: 439 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 440 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 441 .file 4 "deps//simpleserial/simpleserial.h" 442 .file 5 "deps//hal/stm32f3/stm32f3_hal.h" 443 .file 6 "deps//hal/hal.h" 444 .file 7 "speck.h" 445 .file 8 "/usr/arm-none-eabi/include/stdlib.h" 446 .file 9 "" DEFINED SYMBOLS *ABS*:0000000000000000 simple-speck.c /tmp/ccLR1Kpf.s:16 .text.get_key:0000000000000000 $t /tmp/ccLR1Kpf.s:24 .text.get_key:0000000000000000 get_key /tmp/ccLR1Kpf.s:56 .text.get_key:0000000000000010 $d /tmp/ccLR1Kpf.s:61 .text.reset:0000000000000000 $t /tmp/ccLR1Kpf.s:68 .text.reset:0000000000000000 reset /tmp/ccLR1Kpf.s:100 .text.set_key:0000000000000000 $t /tmp/ccLR1Kpf.s:107 .text.set_key:0000000000000000 set_key /tmp/ccLR1Kpf.s:193 .text.set_key:0000000000000038 $d /tmp/ccLR1Kpf.s:202 .text.get_pt:0000000000000000 $t /tmp/ccLR1Kpf.s:209 .text.get_pt:0000000000000000 get_pt /tmp/ccLR1Kpf.s:263 .text.get_pt:0000000000000034 $d /tmp/ccLR1Kpf.s:268 .text.encrypt_block:0000000000000000 $t /tmp/ccLR1Kpf.s:275 .text.encrypt_block:0000000000000000 encrypt_block /tmp/ccLR1Kpf.s:339 .text.encrypt_block:0000000000000038 $d /tmp/ccLR1Kpf.s:344 .text.startup.main:0000000000000000 $t /tmp/ccLR1Kpf.s:351 .text.startup.main:0000000000000000 main /tmp/ccLR1Kpf.s:417 .text.startup.main:000000000000004c $d /tmp/ccLR1Kpf.s:435 .bss:0000000000000008 rand_data /tmp/ccLR1Kpf.s:431 .bss:0000000000000000 gkey /tmp/ccLR1Kpf.s:432 .bss:0000000000000000 $d UNDEFINED SYMBOLS simpleserial_put srand rand trigger_high trigger_low Speck3264_EncryptBlock platform_init init_uart trigger_setup simpleserial_init simpleserial_addcmd simpleserial_get