Archive member included to satisfy reference by file (symbol) /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o (exit) /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) main.o (__do_copy_data) /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) main.o (__do_clear_bss) /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) main.o (malloc) Allocating common symbols Common symbol size file __brkval 0x2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) songs 0x21 main.o __flp 0x2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) Memory Configuration Name Origin Length Attributes text 0x0000000000000000 0x0000000000002000 xr data 0x0000000000800060 0x000000000000ffa0 rw !x eeprom 0x0000000000810000 0x0000000000010000 rw !x fuse 0x0000000000820000 0x0000000000000003 rw !x lock 0x0000000000830000 0x0000000000000400 rw !x signature 0x0000000000840000 0x0000000000000400 rw !x user_signatures 0x0000000000850000 0x0000000000000400 rw !x *default* 0x0000000000000000 0xffffffffffffffff Linker script and memory map LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o LOAD lcd.o LOAD comms.o LOAD main.o LOAD fifo.o START GROUP LOAD /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libm.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libattiny2313a.a END GROUP 0x0000000000002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 0x000000000000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 0x0000000000010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 [0x0000000000000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 .hash *(.hash) .dynsym *(.dynsym) .dynstr *(.dynstr) .gnu.version *(.gnu.version) .gnu.version_d *(.gnu.version_d) .gnu.version_r *(.gnu.version_r) .rel.init *(.rel.init) .rela.init *(.rela.init) .rel.text *(.rel.text) *(.rel.text.*) *(.rel.gnu.linkonce.t*) .rela.text *(.rela.text) *(.rela.text.*) *(.rela.gnu.linkonce.t*) .rel.fini *(.rel.fini) .rela.fini *(.rela.fini) .rel.rodata *(.rel.rodata) *(.rel.rodata.*) *(.rel.gnu.linkonce.r*) .rela.rodata *(.rela.rodata) *(.rela.rodata.*) *(.rela.gnu.linkonce.r*) .rel.data *(.rel.data) *(.rel.data.*) *(.rel.gnu.linkonce.d*) .rela.data *(.rela.data) *(.rela.data.*) *(.rela.gnu.linkonce.d*) .rel.ctors *(.rel.ctors) .rela.ctors *(.rela.ctors) .rel.dtors *(.rel.dtors) .rela.dtors *(.rela.dtors) .rel.got *(.rel.got) .rela.got *(.rela.got) .rel.bss *(.rel.bss) .rela.bss *(.rela.bss) .rel.plt *(.rel.plt) .rela.plt *(.rela.plt) .text 0x0000000000000000 0x65a *(.vectors) .vectors 0x0000000000000000 0x2a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o 0x0000000000000000 __vectors 0x0000000000000000 __vector_default *(.vectors) *(.progmem.gcc*) 0x000000000000002a . = ALIGN (0x2) 0x000000000000002a __trampolines_start = . *(.trampolines) .trampolines 0x000000000000002a 0x0 linker stubs *(.trampolines*) 0x000000000000002a __trampolines_end = . *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) 0x000000000000002a . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) 0x000000000000002a __ctors_start = . *(.ctors) 0x000000000000002a __ctors_end = . 0x000000000000002a __dtors_start = . *(.dtors) 0x000000000000002a __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) .init0 0x000000000000002a 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o 0x000000000000002a __init *(.init0) *(.init1) *(.init1) *(.init2) .init2 0x000000000000002a 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o *(.init2) *(.init3) *(.init3) *(.init4) .init4 0x0000000000000032 0x16 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) 0x0000000000000032 __do_copy_data .init4 0x0000000000000048 0x10 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) 0x0000000000000048 __do_clear_bss *(.init4) *(.init5) *(.init5) *(.init6) *(.init6) *(.init7) *(.init7) *(.init8) *(.init8) *(.init9) .init9 0x0000000000000058 0x4 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o *(.init9) *(.text) .text 0x000000000000005c 0x2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o 0x000000000000005c __vector_1 0x000000000000005c __vector_12 0x000000000000005c __bad_interrupt 0x000000000000005c __vector_6 0x000000000000005c __vector_3 0x000000000000005c __vector_11 0x000000000000005c __vector_13 0x000000000000005c __vector_17 0x000000000000005c __vector_19 0x000000000000005c __vector_5 0x000000000000005c __vector_4 0x000000000000005c __vector_9 0x000000000000005c __vector_2 0x000000000000005c __vector_15 0x000000000000005c __vector_8 0x000000000000005c __vector_14 0x000000000000005c __vector_10 0x000000000000005c __vector_16 0x000000000000005c __vector_18 0x000000000000005c __vector_20 .text 0x000000000000005e 0x1b8 lcd.o 0x0000000000000128 lcd_command 0x0000000000000136 lcd_data 0x0000000000000144 lcd_gotoxy 0x0000000000000150 lcd_getxy 0x0000000000000156 lcd_clrscr 0x000000000000015a lcd_home 0x000000000000015e lcd_putc 0x0000000000000180 lcd_puts 0x0000000000000196 lcd_puts_p 0x00000000000001b2 lcd_init .text 0x0000000000000216 0x0 comms.o .text 0x0000000000000216 0xe4 main.o 0x0000000000000216 add_song 0x000000000000025e clear_songs 0x0000000000000288 __vector_7 0x00000000000002d4 gpio_init 0x00000000000002e2 usart_init 0x00000000000002f4 handle_left_press 0x00000000000002f6 handle_right_press 0x00000000000002f8 handle_playpause_press .text 0x00000000000002fa 0xb6 fifo.o 0x00000000000002fa fifo_init 0x000000000000030c fifo_pop 0x0000000000000360 fifo_push .text 0x00000000000003b0 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text 0x00000000000003b0 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text 0x00000000000003b0 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text 0x00000000000003b0 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) 0x00000000000003b0 . = ALIGN (0x2) *(.text.*) .text.startup 0x00000000000003b0 0x64 main.o 0x00000000000003b0 main .text.libgcc.mul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.div 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.prologue 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.builtins 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.fmul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.fixed 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .text.libgcc.mul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.div 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.prologue 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.builtins 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.fmul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.fixed 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .text.libgcc.mul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc.div 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc.prologue 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc.builtins 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc.fmul 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.libgcc.fixed 0x0000000000000414 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .text.avr-libc 0x0000000000000414 0x242 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) 0x0000000000000414 malloc 0x0000000000000544 free 0x0000000000000656 . = ALIGN (0x2) *(.fini9) .fini9 0x0000000000000656 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) 0x0000000000000656 exit 0x0000000000000656 _exit *(.fini9) *(.fini8) *(.fini8) *(.fini7) *(.fini7) *(.fini6) *(.fini6) *(.fini5) *(.fini5) *(.fini4) *(.fini4) *(.fini3) *(.fini3) *(.fini2) *(.fini2) *(.fini1) *(.fini1) *(.fini0) .fini0 0x0000000000000656 0x4 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) *(.fini0) 0x000000000000065a _etext = . .data 0x0000000000800060 0x1a load address 0x000000000000065a 0x0000000000800060 PROVIDE (__data_start, .) *(.data) .data 0x0000000000800060 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .data 0x0000000000800060 0x0 lcd.o .data 0x0000000000800060 0x0 comms.o .data 0x0000000000800060 0x4 main.o 0x0000000000800060 selected_song 0x0000000000800062 display_song .data 0x0000000000800064 0x0 fifo.o .data 0x0000000000800064 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .data 0x0000000000800064 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .data 0x0000000000800064 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .data 0x0000000000800064 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) 0x0000000000800064 __malloc_heap_end 0x0000000000800066 __malloc_heap_start 0x0000000000800068 __malloc_margin *(.data*) *(.rodata) *(.rodata*) .rodata.str1.1 0x000000000080006a 0x10 main.o *(.gnu.linkonce.d*) 0x000000000080007a . = ALIGN (0x2) 0x000000000080007a _edata = . 0x000000000080007a PROVIDE (__data_end, .) .bss 0x000000000080007a 0x5d 0x000000000080007a PROVIDE (__bss_start, .) *(.bss) .bss 0x000000000080007a 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .bss 0x000000000080007a 0x0 lcd.o .bss 0x000000000080007a 0x0 comms.o .bss 0x000000000080007a 0x0 main.o .bss 0x000000000080007a 0x38 fifo.o .bss 0x00000000008000b2 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_exit.o) .bss 0x00000000008000b2 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_copy_data.o) .bss 0x00000000008000b2 0x0 /usr/lib/gcc/avr/5.4.0/avr25/tiny-stack/libgcc.a(_clear_bss.o) .bss 0x00000000008000b2 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) *(.bss*) *(COMMON) COMMON 0x00000000008000b2 0x21 main.o 0x00000000008000b2 songs COMMON 0x00000000008000d3 0x4 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) 0x00000000008000d3 __brkval 0x00000000008000d5 __flp 0x00000000008000d7 PROVIDE (__bss_end, .) 0x000000000000065a __data_load_start = LOADADDR (.data) 0x0000000000000674 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00000000008000d7 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) 0x00000000008000d7 _end = . 0x00000000008000d7 PROVIDE (__heap_start, .) .eeprom 0x0000000000810000 0x0 *(.eeprom*) 0x0000000000810000 __eeprom_end = . .fuse *(.fuse) *(.lfuse) *(.hfuse) *(.efuse) .lock *(.lock*) .signature *(.signature*) .user_signatures *(.user_signatures*) .stab 0x0000000000000000 0x1efc *(.stab) .stab 0x0000000000000000 0x1008 lcd.o .stab 0x0000000000001008 0x30c comms.o 0x4e0 (size before relaxing) .stab 0x0000000000001314 0x78c main.o 0x978 (size before relaxing) .stab 0x0000000000001aa0 0x45c fifo.o 0x5f4 (size before relaxing) .stabstr 0x0000000000000000 0x12b5 *(.stabstr) .stabstr 0x0000000000000000 0x12b5 lcd.o .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment 0x0000000000000000 0x11 *(.comment) .comment 0x0000000000000000 0x11 lcd.o 0x12 (size before relaxing) .comment 0x0000000000000011 0x12 comms.o .comment 0x0000000000000011 0x12 main.o .comment 0x0000000000000011 0x12 fifo.o .comment 0x0000000000000011 0x12 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/libc.a(malloc.o) .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .note.gnu.build-id *(.note.gnu.build-id) .debug *(.debug) .line *(.line) .debug_srcinfo *(.debug_srcinfo) .debug_sfnames *(.debug_sfnames) .debug_aranges *(.debug_aranges) .debug_pubnames *(.debug_pubnames) .debug_info 0x0000000000000000 0x456 *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x0000000000000000 0x456 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .debug_abbrev 0x0000000000000000 0x41b *(.debug_abbrev) .debug_abbrev 0x0000000000000000 0x41b /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .debug_line 0x0000000000000000 0x1a *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x0000000000000000 0x1a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .debug_frame *(.debug_frame) .debug_str 0x0000000000000000 0x17b *(.debug_str) .debug_str 0x0000000000000000 0x17b /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr25/tiny-stack/crtattiny2313a.o .debug_loc *(.debug_loc) .debug_macinfo *(.debug_macinfo) .debug_weaknames *(.debug_weaknames) .debug_funcnames *(.debug_funcnames) .debug_typenames *(.debug_typenames) .debug_varnames *(.debug_varnames) .debug_pubtypes *(.debug_pubtypes) .debug_ranges *(.debug_ranges) .debug_macro *(.debug_macro) OUTPUT(sd-reader.out elf32-avr) LOAD linker stubs