daveruiz / doom-nano

A 3d raycast engine for Arduino
296 stars 65 forks source link

reduce size by removing gfx font #3

Closed 5014r15 closed 4 years ago

5014r15 commented 5 years ago

Hey First of all - very impressive work! I analyzed the compiled files with avr-readelf.exe and fond this line that looked strange:

98: 00000fb0  1280 OBJECT  LOCAL  DEFAULT    2 _ZL4font

It comes from adafruit gfx library. By removing the 5x7 font in the c file the code now fills 28726 bytes (93%) instead of 30006 (97%) =>1280 bytes less!!!

Here is the full dump from readelf: ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Atmel AVR 8-bit microcontroller Version: 0x1 Entry point address: 0x0 Start of program headers: 52 (bytes into file) Start of section headers: 153008 (bytes into file) Flags: 0x5, avr:5 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 3 Size of section headers: 40 (bytes) Number of section headers: 17 Section header string table index: 14

Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .data PROGBITS 00800100 00753c 00008e 00 WA 0 0 1 [ 2] .text PROGBITS 00000000 000094 0074a8 00 AX 0 0 2 [ 3] .bss NOBITS 0080018e 0075ca 00029f 00 WA 0 0 1 [ 4] .comment PROGBITS 00000000 0075ca 000011 01 MS 0 0 1 [ 5] .note.gnu.avr.dev NOTE 00000000 0075dc 000040 00 0 0 4 [ 6] .debug_aranges PROGBITS 00000000 007620 0001d0 00 0 0 8 [ 7] .debug_info PROGBITS 00000000 0077f0 00a512 00 0 0 1 [ 8] .debug_abbrev PROGBITS 00000000 011d02 001ec9 00 0 0 1 [ 9] .debug_line PROGBITS 00000000 013bcb 00378c 00 0 0 1 [10] .debug_frame PROGBITS 00000000 017358 000d50 00 0 0 4 [11] .debug_str PROGBITS 00000000 0180a8 002264 00 0 0 1 [12] .debug_loc PROGBITS 00000000 01a30c 007a12 00 0 0 1 [13] .debug_ranges PROGBITS 00000000 021d1e 000a58 00 0 0 1 [14] .shstrtab STRTAB 00000000 0254fa 0000b4 00 0 0 1 [15] .symtab SYMTAB 00000000 022778 001600 10 16 123 4 [16] .strtab STRTAB 00000000 023d78 001782 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000094 0x00000000 0x00000000 0x074a8 0x074a8 R E 0x2 LOAD 0x00753c 0x00800100 0x000074a8 0x0008e 0x0008e RW 0x1 LOAD 0x0075ca 0x0080018e 0x0080018e 0x00000 0x0029f RW 0x1

Section to Segment mapping: Segment Sections... 00 .text 01 .data 02 .bss

There is no dynamic section in this file.

There are no relocations in this file.

The decoding of unwind sections for machine type Atmel AVR 8-bit microcontroller is not currently supported.

Symbol table '.symtab' contains 352 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00800100 0 SECTION LOCAL DEFAULT 1 2: 00000000 0 SECTION LOCAL DEFAULT 2 3: 0080018e 0 SECTION LOCAL DEFAULT 3 4: 00000000 0 SECTION LOCAL DEFAULT 4 5: 00000000 0 SECTION LOCAL DEFAULT 5 6: 00000000 0 SECTION LOCAL DEFAULT 6 7: 00000000 0 SECTION LOCAL DEFAULT 7 8: 00000000 0 SECTION LOCAL DEFAULT 8 9: 00000000 0 SECTION LOCAL DEFAULT 9 10: 00000000 0 SECTION LOCAL DEFAULT 10 11: 00000000 0 SECTION LOCAL DEFAULT 11 12: 00000000 0 SECTION LOCAL DEFAULT 12 13: 00000000 0 SECTION LOCAL DEFAULT 13 14: 00000000 0 FILE LOCAL DEFAULT ABS 15: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H 16: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 17: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 18: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 19: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg 20: 00000570 26 OBJECT LOCAL DEFAULT 2 _ZZ12setupDisplayvE3c 21: 000002b0 704 OBJECT LOCAL DEFAULT 2 _ZL12splash1_data 22: 000000d0 480 OBJECT LOCAL DEFAULT 2 _ZL12splash2_data 23: 008001f4 1 OBJECT LOCAL DEFAULT 3 _ZN8SPIClass11initialized 24: 000000cc 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 25: 000000c8 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 26: 000000c4 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 27: 000000c0 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 28: 000000bd 3 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 29: 000000ba 3 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 30: 000000b4 6 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be 31: 008001fc 1 OBJECT LOCAL DEFAULT 3 scene 32: 00000595 423 OBJECT LOCAL DEFAULT 2 _ZL13bmp_logo_bits 33: 0000058a 11 OBJECT LOCAL DEFAULT 2 _ZZ9loopIntrovE3c 34: 008001fb 1 OBJECT LOCAL DEFAULT 3 exit_scene 35: 008001f5 4 OBJECT LOCAL DEFAULT 3 lastFrameTime 36: 00800100 4 OBJECT LOCAL DEFAULT 1 delta 37: 008001fa 1 OBJECT LOCAL DEFAULT 3 flash_screen 38: 000007bc 32 OBJECT LOCAL DEFAULT 2 _ZL17bmp_fireball_mask 39: 000007dc 32 OBJECT LOCAL DEFAULT 2 _ZL17bmp_fireball_bits 40: 000007fc 640 OBJECT LOCAL DEFAULT 2 _ZL12bmp_imp_mask 41: 00000a7c 640 OBJECT LOCAL DEFAULT 2 _ZL12bmp_imp_bits 42: 0000073c 64 OBJECT LOCAL DEFAULT 2 _ZL14bmp_items_mask 43: 0000077c 64 OBJECT LOCAL DEFAULT 2 _ZL14bmp_items_bits 44: 00000dfc 60 OBJECT LOCAL DEFAULT 2 _ZL13bmp_fire_bits 45: 00000d7c 128 OBJECT LOCAL DEFAULT 2 _ZL12bmp_gun_mask 46: 00000cfc 128 OBJECT LOCAL DEFAULT 2 _ZL12bmp_gun_bits 47: 00000e3b 3 OBJECT LOCAL DEFAULT 2 _ZZ9renderHudvE3c 48: 00000e38 3 OBJECT LOCAL DEFAULT 2 _ZZ9renderHudvE3c_0 49: 008001f9 1 OBJECT LOCAL DEFAULT 3 invert_screen 50: 00000000 0 FILE LOCAL DEFAULT ABS malloc.c 51: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H 52: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 53: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 54: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 55: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg 56: 00000000 0 FILE LOCAL DEFAULT ABS 57: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H 58: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 59: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 60: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 61: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg 62: 000068e8 262 FUNC LOCAL DEFAULT 2 _GLOBALI_65535_0_doom_n 63: 0080010a 18 OBJECT LOCAL DEFAULT 1 _ZTV14HardwareSerial 64: 0080041c 12 OBJECT LOCAL DEFAULT 3 Wire 65: 0080011c 18 OBJECT LOCAL DEFAULT 1 _ZTV7TwoWire 66: 0000408a 384 FUNC LOCAL DEFAULT 2 _Z15detectCollisionPKhP6C 67: 00000000 0 FILE LOCAL DEFAULT ABS 68: 0000003e 0 NOTYPE LOCAL DEFAULT ABS __SP_H 69: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 70: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 71: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 72: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg__ 73: 00001d0c 20 FUNC LOCAL DEFAULT 2 _Z17Serial0_availablev 74: 00001d20 68 FUNC LOCAL DEFAULT 2 _ZN14HardwareSerial17tx 75: 00002500 20 FUNC LOCAL DEFAULT 2 twi_stop 76: 00002514 80 FUNC LOCAL DEFAULT 2 twi_transmit 77: 0080023d 1 OBJECT LOCAL DEFAULT 3 twi_txBufferLength 78: 0080021d 32 OBJECT LOCAL DEFAULT 3 twi_txBuffer 79: 008001fd 32 OBJECT LOCAL DEFAULT 3 _ZN7TwoWire8rxBufferE 80: 0080025f 1 OBJECT LOCAL DEFAULT 3 twi_rxBufferIndex 81: 0080023f 32 OBJECT LOCAL DEFAULT 3 twi_rxBuffer 82: 0080023e 1 OBJECT LOCAL DEFAULT 3 twi_txBufferIndex 83: 00000ed6 128 OBJECT LOCAL DEFAULT 2 _ZL8gradient 84: 00000ece 8 OBJECT LOCAL DEFAULT 2 _ZL8bit_mask 85: 000068ca 30 FUNC LOCAL DEFAULT 2 _GLOBALsub_D_display 86: 00000e3e 144 OBJECT LOCAL DEFAULT 2 _ZL8bmp_font 87: 00000000 0 FILE LOCAL DEFAULT ABS 88: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H 89: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 90: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 91: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 92: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg 93: 000034e8 82 FUNC LOCAL DEFAULT 2 turnOffPWM 94: 0000353a 74 FUNC LOCAL DEFAULT 2 micros 95: 000014c0 5 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13067di 96: 000014b8 8 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD130621d 97: 000014b0 8 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD130621d 98: 00000fb0 1280 OBJECT LOCAL DEFAULT 2 _ZL4font 99: 00000f9c 20 OBJECT LOCAL DEFAULT 2 digital_pin_to_timer_PGM 100: 00000f6a 10 OBJECT LOCAL DEFAULT 2 port_to_input_PGM 101: 00000000 0 FILE LOCAL DEFAULT ABS _clear_bss.o 102: 00001c16 0 NOTYPE LOCAL DEFAULT 2 .do_clear_bss_start 103: 00001c14 0 NOTYPE LOCAL DEFAULT 2 .do_clear_bss_loop 104: 00000000 0 FILE LOCAL DEFAULT ABS 105: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H 106: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L 107: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG 108: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg 109: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg 110: 00800428 1 OBJECT LOCAL DEFAULT 3 timer0_fract 111: 00000000 0 FILE LOCAL DEFAULT ABS _divmodhi4.o 112: 000071ac 0 NOTYPE LOCAL DEFAULT 2 divmodhi4_neg1 113: 000071b4 0 NOTYPE LOCAL DEFAULT 2 __divmodhi4_neg2 114: 000071ba 0 NOTYPE LOCAL DEFAULT 2 divmodhi4_exit 115: 00000000 0 FILE LOCAL DEFAULT ABS _udivmodsi4.o 116: 000071e2 0 NOTYPE LOCAL DEFAULT 2 udivmodsi4_ep 117: 000071c8 0 NOTYPE LOCAL DEFAULT 2 udivmodsi4_loop 118: 00000000 0 FILE LOCAL DEFAULT ABS _udivmodhi4.o 119: 00007216 0 NOTYPE LOCAL DEFAULT 2 udivmodhi4_ep 120: 00007208 0 NOTYPE LOCAL DEFAULT 2 udivmodhi4_loop 121: 00000000 0 FILE LOCAL DEFAULT ABS _exit.o 122: 000074a6 0 NOTYPE LOCAL DEFAULT 2 stop_program 123: 0080033e 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire9txAddressE 124: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_22 125: 00002a00 2 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass14endTransact 126: 00800264 4 OBJECT GLOBAL HIDDEN 3 timer0_overflow_count 127: 00800190 2 OBJECT GLOBAL HIDDEN 3 twi_onSlaveTransmit.lto_p 128: 008002f7 32 OBJECT GLOBAL HIDDEN 3 twi_masterBuffer.lto_priv 129: 000070ba 140 FUNC GLOBAL DEFAULT 2 sqrt 130: 00003226 68 FUNC GLOBAL HIDDEN 2 _Z8drawTextaaPK19FlashS 131: 00000f56 10 OBJECT GLOBAL HIDDEN 2 port_to_mode_PGM 132: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_1 133: 000020de 114 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13drawFa 134: 00002386 378 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD13069dra 135: 00007146 0 NOTYPE GLOBAL DEFAULT 2 fp_mpack_finite 136: 0080012e 44 OBJECT GLOBAL HIDDEN 1 _ZTV16Adafruit_SSD1306 137: 0000ffa0 0 NOTYPE GLOBAL DEFAULT ABS DATA_REGION_LENGTH 138: 00006c2a 8 FUNC GLOBAL DEFAULT 2 divsf3 139: 00800260 4 OBJECT GLOBAL HIDDEN 3 timer0_millis 140: 00006f0e 34 FUNC GLOBAL DEFAULT 2 fp_round 141: 00001cd8 28 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial4peekE 142: 00006d0e 14 FUNC GLOBAL DEFAULT 2 fixsfsi 143: 00006f58 68 FUNC GLOBAL DEFAULT 2 __fp_split3 144: 00007200 40 NOTYPE GLOBAL HIDDEN 2 udivmodhi4 145: 00001c3e 84 FUNC GLOBAL HIDDEN 2 _ZN5Print5writeEPKhj 146: 00003172 180 FUNC GLOBAL HIDDEN 2 _Z8drawCharaac 147: 000045c8 86 FUNC GLOBAL HIDDEN 2 _Z8drawTextaai.constprop. 148: 000000b4 0 NOTYPE GLOBAL DEFAULT 2 trampolines_start 149: 00006df4 72 FUNC GLOBAL DEFAULT 2 fp_cmp 150: 008002f6 1 OBJECT GLOBAL HIDDEN 3 twi_slarw.lto_priv.81 151: 000074a8 0 NOTYPE GLOBAL DEFAULT 2 _etext 152: 00004418 362 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130619ss 153: 00001f40 218 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawLin 154: 008001d6 30 OBJECT GLOBAL HIDDEN 3 player 155: 00003108 106 FUNC GLOBAL HIDDEN 2 _Z9drawPixelaabb 156: 00001cf4 24 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial9avail 157: 00006a58 14 FUNC GLOBAL DEFAULT 2 subsf3 158: 00003e94 82 FUNC GLOBAL HIDDEN 2 digitalRead 159: 00002b90 604 FUNC GLOBAL DEFAULT 2 __vector_24 160: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_12 161: 000070ba 0 NOTYPE GLOBAL DEFAULT 2 sqrtf 162: 00001d64 154 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial5write 163: 00001c3a 0 NOTYPE GLOBAL DEFAULT 2 bad_interrupt 164: 00800192 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire14rxBufferLeng 165: 00002150 114 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13drawFa 166: 00007536 0 NOTYPE GLOBAL DEFAULT ABS data_load_end 167: 00002e8c 18 FUNC GLOBAL HIDDEN 2 _Z10input_firev 168: 00006a04 52 FUNC GLOBAL DEFAULT 2 utoa_ncheck 169: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_6 170: 00007234 304 FUNC GLOBAL DEFAULT 2 malloc 171: 00002a10 198 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130616ss 172: 00002586 40 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire4readEv 173: 00001e56 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13invert 174: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 lesf2 175: 00006a38 32 FUNC GLOBAL DEFAULT 2 strrev 176: 000014c5 1824 OBJECT GLOBAL HIDDEN 2 _ZL11sto_level_1.lto_priv 177: 00800106 2 OBJECT GLOBAL DEFAULT 1 malloc_heap_start 178: 0000420a 64 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130612cl 179: 00006ebc 86 FUNC GLOBAL DEFAULT 2 fp_rempio2 180: 000000b4 0 NOTYPE GLOBAL DEFAULT 2 trampolines_end 181: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_3 182: 00006f9c 14 FUNC GLOBAL DEFAULT 2 __fp_zero 183: 00003ee6 94 FUNC GLOBAL HIDDEN 2 digitalWrite 184: 0000713a 8 FUNC GLOBAL DEFAULT 2 square 185: 00003f44 120 FUNC GLOBAL HIDDEN 2 pinMode 186: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 nesf2 187: 000069ee 22 FUNC GLOBAL DEFAULT 2 itoa_ncheck 188: 00000f74 20 OBJECT GLOBAL HIDDEN 2 digital_pin_to_port_PGM 189: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_23 190: 000074a8 0 NOTYPE GLOBAL DEFAULT ABS data_load_start 191: 00001bea 0 NOTYPE GLOBAL DEFAULT 2 dtors_end 192: 0080042d 0 NOTYPE GLOBAL DEFAULT 3 bss_end 193: 000025ae 16 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire9availableEv 194: 008003dd 63 OBJECT GLOBAL HIDDEN 3 display 195: 00000400 0 NOTYPE GLOBAL DEFAULT ABS LOCK_REGION_LENGTH 196: 00007476 10 FUNC GLOBAL DEFAULT 2 abort 197: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_25 198: 00800429 2 OBJECT GLOBAL DEFAULT 3 brkval 199: 000021e4 24 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX14writeF 200: 0080031a 1 OBJECT GLOBAL HIDDEN 3 twi_sendStop.lto_priv.79 201: 0080033f 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire14txBufferLeng 202: 00002682 432 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX5writeEh 203: 00006c52 220 FUNC GLOBAL DEFAULT 2 divsf3x 204: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_11 205: 00001c92 30 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial17avai 206: 00002054 138 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8fillRec 207: 00001bea 0 NOTYPE WEAK DEFAULT 2 init 208: 00002566 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire16onReceiveSer 209: 0000715e 14 FUNC GLOBAL DEFAULT 2 __fp_norm2 210: 00002dec 160 FUNC GLOBAL HIDDEN 2 _Z15coords_distanceP6Coor 211: 00003a2c 1128 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawCha 212: 00006faa 0 NOTYPE GLOBAL DEFAULT 2 gtsf2 213: 00001e42 20 FUNC GLOBAL HIDDEN 2 _Z14serialEventRunv 214: 0000470e 188 FUNC GLOBAL HIDDEN 2 _Z14updatePositionPKhP6Co 215: 00001dfe 68 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial5flush 216: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_13 217: 00002832 136 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613dr 218: 00006ff0 0 NOTYPE GLOBAL DEFAULT 2 __mulsf3_pse 219: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_17 220: 00006e48 6 FUNC GLOBAL DEFAULT 2 fp_nan 221: 00002950 76 FUNC GLOBAL DEFAULT 2 __vector_19 222: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_7 223: 00006e3c 12 FUNC GLOBAL DEFAULT 2 fp_inf 224: 0000748e 22 NOTYPE GLOBAL HIDDEN 2 do_global_dtors 225: 00800340 157 OBJECT GLOBAL HIDDEN 3 Serial 226: 00006c20 10 FUNC GLOBAL DEFAULT 2 cos 227: 00001c0c 16 NOTYPE GLOBAL HIDDEN 2 do_clear_bss 228: 00800194 2 OBJECT GLOBAL HIDDEN 3 display_buf 229: 00810000 0 NOTYPE GLOBAL DEFAULT 4 eeprom_end 230: 00000f88 20 OBJECT GLOBAL HIDDEN 2 digital_pin_to_bit_mask_P 231: 00800196 64 OBJECT GLOBAL HIDDEN 3 zbuffer 232: 00006fea 210 FUNC GLOBAL DEFAULT 2 mulsf3x 233: 0000461e 134 FUNC GLOBAL HIDDEN 2 _Z13create_entityhhhhh.co 234: 0000709e 16 FUNC GLOBAL DEFAULT 2 sin 235: 00800104 2 OBJECT GLOBAL DEFAULT 1 malloc_heap_end 236: 0000267e 4 FUNC GLOBAL HIDDEN 2 cxa_pure_virtual 237: 00006b58 134 FUNC GLOBAL DEFAULT 2 atan2 238: 00002ed8 96 FUNC GLOBAL HIDDEN 2 _Z9updateHudv 239: 00006d7e 0 NOTYPE GLOBAL DEFAULT 2 __floatsisf 240: 00000000 0 NOTYPE WEAK DEFAULT UND _Z11serialEventv 241: 00000000 0 NOTYPE GLOBAL DEFAULT 2 vectors 242: 0080018e 2 OBJECT GLOBAL HIDDEN 3 twi_onSlaveReceive.lto_pr 243: 0080018e 0 NOTYPE GLOBAL DEFAULT 1 data_end 244: 0080031d 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire13txBufferInde 245: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 eqsf2 246: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8endWrit 247: 00000000 0 NOTYPE WEAK DEFAULT 2 vector_default 248: 00007194 40 NOTYPE GLOBAL HIDDEN 2 divmodhi4 249: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_5 250: 000021c4 32 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13writeF 251: 00800268 140 OBJECT GLOBAL HIDDEN 3 entity 252: 00002adc 180 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613in 253: 00000400 0 NOTYPE GLOBAL DEFAULT ABS SIGNATURE_REGION_LENGTH 254: 00007228 12 NOTYPE GLOBAL HIDDEN 2 tablejump2 255: 00800318 1 OBJECT GLOBAL HIDDEN 3 twi_masterBufferIndex.lto 256: 00001be6 0 NOTYPE GLOBAL DEFAULT 2 ctors_start 257: 00001bf6 22 NOTYPE GLOBAL HIDDEN 2 do_copy_data 258: 00006e4e 78 FUNC GLOBAL DEFAULT 2 fp_powser 259: 00006c16 10 FUNC GLOBAL DEFAULT 2 cmpsf2 260: 00006eaa 14 FUNC GLOBAL DEFAULT 2 fp_pscB 261: 00006f68 0 NOTYPE GLOBAL DEFAULT 2 __fp_splitA 262: 0080018e 0 NOTYPE GLOBAL DEFAULT 3 bss_start 263: 00007480 14 FUNC GLOBAL DEFAULT 2 memset 264: 0000485e 8300 FUNC GLOBAL DEFAULT 2 main 265: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 ltsf2 266: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_4 267: 00003584 624 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD13067dis 268: 000028ba 150 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613dr 269: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10startW 270: 00007142 28 FUNC GLOBAL DEFAULT 2 fp_mpack 271: 00006f30 40 FUNC GLOBAL DEFAULT 2 __fp_sinus 272: 00006fc4 8 FUNC GLOBAL DEFAULT 2 mulsf3 273: 00000000 0 NOTYPE WEAK DEFAULT ABS heap_end 274: 00002564 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire16onRequestSer 275: 000038c2 362 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130621dr 276: 00006fb4 16 FUNC GLOBAL DEFAULT 2 inverse 277: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_9 278: 00003fbc 116 FUNC GLOBAL HIDDEN 2 delay 279: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_2 280: 00001e82 190 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawRec 281: 00002618 94 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5writeEh 282: 00006a88 204 FUNC GLOBAL DEFAULT 2 addsf3x 283: 00000400 0 NOTYPE GLOBAL DEFAULT ABS USER_SIGNATURE_REGION_L 284: 00006bb8 94 FUNC GLOBAL DEFAULT 2 atan 285: 00006faa 10 FUNC GLOBAL DEFAULT 2 gesf2 286: 0000424a 278 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10drawBi 287: 0000716c 40 FUNC GLOBAL DEFAULT 2 fp_powsodd 288: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_21 289: 00004360 184 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire15endTransmiss 290: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_15 291: 00002a02 14 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass8transferEh 292: 00000f60 10 OBJECT GLOBAL HIDDEN 2 port_to_output_PGM 293: 00006e9c 14 FUNC GLOBAL DEFAULT 2 __fp_pscA 294: 0080031b 1 OBJECT GLOBAL HIDDEN 3 twi_state.lto_priv.78 295: 00002568 30 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire4peekEv 296: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5flushEv 297: 0080042d 0 NOTYPE GLOBAL DEFAULT 4 heap_start 298: 00800319 1 OBJECT GLOBAL HIDDEN 3 twi_error.lto_priv.85 299: 00002676 2 FUNC GLOBAL HIDDEN 2 _ZN5Print5flushEv 300: 0000326a 638 FUNC GLOBAL HIDDEN 2 _Z10drawSpriteaaPKhS0_iih 301: 00001be8 0 NOTYPE GLOBAL DEFAULT 2 dtors_start 302: 00001be8 0 NOTYPE GLOBAL DEFAULT 2 __ctors_end 303: 000008ff 0 NOTYPE WEAK DEFAULT ABS stack 304: 00002214 14 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10writeP 305: 000025be 90 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5writeEPKhj 306: 0080018e 0 NOTYPE GLOBAL DEFAULT 1 _edata 307: 0080042d 0 NOTYPE GLOBAL DEFAULT 4 _end 308: 00004048 66 FUNC GLOBAL HIDDEN 2 _Z10getBlockAtPKhhh.part. 309: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_8 310: 00006c58 0 NOTYPE GLOBAL DEFAULT 2 __divsf3_pse 311: 0080031e 32 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire8txBufferE 312: 0000748e 0 NOTYPE WEAK HIDDEN 2 exit 313: 00002ad6 6 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass16beginTransa 314: 00006d7a 122 FUNC GLOBAL DEFAULT 2 floatunsisf 315: 00007194 0 NOTYPE GLOBAL HIDDEN 2 _div 316: 00001cb0 40 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial4readE 317: 0080042b 2 OBJECT GLOBAL DEFAULT 3 flp 318: 000071bc 68 NOTYPE GLOBAL HIDDEN 2 udivmodsi4 319: 008002f5 1 OBJECT GLOBAL HIDDEN 3 twi_inRepStart.lto_priv.8 320: 008002f4 1 OBJECT GLOBAL HIDDEN 3 num_entities 321: 00002222 356 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX9writeLi 322: 00006d1c 94 FUNC GLOBAL DEFAULT 2 fixunssfsi 323: 00010000 0 NOTYPE GLOBAL DEFAULT ABS EEPROM_REGION_LENGTH 324: 0000748e 0 NOTYPE GLOBAL HIDDEN 2 _exit 325: 00800317 1 OBJECT GLOBAL HIDDEN 3 twi_masterBufferLength.lt 326: 00800193 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire13rxBufferInde 327: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_14 328: 00001c3a 0 NOTYPE WEAK DEFAULT 2 vector_10 329: 00004582 70 FUNC GLOBAL HIDDEN 2 _Z10fadeScreenhb.constpro 330: 000047ca 148 FUNC GLOBAL DEFAULT 2 vector_16 331: 00800100 0 NOTYPE GLOBAL DEFAULT 1 __data_start 332: 0000299c 100 FUNC GLOBAL DEFAULT 2 vector_18 333: 00000003 0 NOTYPE GLOBAL DEFAULT ABS FUSE_REGION_LENGTH 334: 00020000 0 NOTYPE GLOBAL DEFAULT ABS TEXT_REGION_LENGTH 335: 000037f4 206 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130621dr 336: 00800108 2 OBJECT GLOBAL DEFAULT 1 malloc_margin 337: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_20 338: 00004030 24 FUNC GLOBAL HIDDEN 2 millis 339: 00006a5a 0 NOTYPE GLOBAL DEFAULT 2 addsf3 340: 00006a06 0 NOTYPE GLOBAL DEFAULT 2 utoa_common 341: 00002678 6 FUNC GLOBAL HIDDEN 2 _ZN5Print17availableForWr 342: 0000201a 58 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10fillSc 343: 000046a4 106 FUNC GLOBAL HIDDEN 2 _Z12removeEntityjb.constp 344: 00001e58 42 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX11setRot 345: 00002e9e 58 FUNC GLOBAL HIDDEN 2 _Z16getGradientPixelhhh.p 346: 00002f38 464 FUNC GLOBAL HIDDEN 2 _Z17translateIntoViewP6Co 347: 00007364 274 FUNC GLOBAL DEFAULT 2 free 348: 0080031c 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire12transmitting 349: 000021fc 24 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX14writeF 350: 00006f9e 0 NOTYPE GLOBAL DEFAULT 2 fp_szero 351: 00001c1c 22 NOTYPE GLOBAL HIDDEN 2 __do_global_ctors

No version information found in this file.

Displaying notes found at file offset 0x000075dc with length 0x00000040: Owner Data size Description AVR 0x0000002d NT_VERSION (version)

daveruiz commented 5 years ago

Interesting... I suspected the compiler was including more stuff than desired, but I had no idea how to check it. I appreciate a lot your research. I hope to get some time to research a bit more in improve this. Has been a while since the last update :(

miracoli commented 4 years ago

This would also be resolved by #4