Archive member included to satisfy reference by file (symbol) /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o (exit) /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) test.o (__do_clear_bss) Allocating common symbols Common symbol size file recvbuffer 0x20 test.o sendbuffer 0x80 test.o USBInitState 0x1 usb.o Memory Configuration Name Origin Length Attributes text 0x0000000000000000 0x0000000000010000 xr data 0x0000000000800060 0x000000000000ffa0 rw !x eeprom 0x0000000000810000 0x0000000000010000 rw !x fuse 0x0000000000820000 0x0000000000000400 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 Address of section .data set to 0x800100 LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o LOAD test.o LOAD usb.o LOAD SPIPrinting.o START GROUP LOAD /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/libm.a LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/libc.a LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/libatmega32u2.a END GROUP .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 0xbd8 *(.vectors) .vectors 0x0000000000000000 0x74 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o 0x0000000000000000 __vectors 0x0000000000000000 __vector_default *(.vectors) *(.progmem.gcc*) 0x0000000000000074 . = ALIGN (0x2) 0x0000000000000074 __trampolines_start = . *(.trampolines) .trampolines 0x0000000000000074 0x0 linker stubs *(.trampolines*) 0x0000000000000074 __trampolines_end = . *(.progmem*) .progmem.data 0x0000000000000074 0xc4 usb.o 0x0000000000000138 . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) 0x0000000000000138 __ctors_start = . *(.ctors) 0x0000000000000138 __ctors_end = . 0x0000000000000138 __dtors_start = . *(.dtors) 0x0000000000000138 __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) .init0 0x0000000000000138 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o 0x0000000000000138 __init *(.init0) *(.init1) *(.init1) *(.init2) .init2 0x0000000000000138 0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o *(.init2) *(.init3) *(.init3) *(.init4) .init4 0x0000000000000144 0x10 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) 0x0000000000000144 __do_clear_bss *(.init4) *(.init5) *(.init5) *(.init6) *(.init6) *(.init7) *(.init7) *(.init8) *(.init8) *(.init9) .init9 0x0000000000000154 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o *(.init9) *(.text) .text 0x000000000000015c 0x4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o 0x000000000000015c __vector_22 0x000000000000015c __vector_28 0x000000000000015c __vector_1 0x000000000000015c __vector_24 0x000000000000015c __bad_interrupt 0x000000000000015c __vector_6 0x000000000000015c __vector_3 0x000000000000015c __vector_23 0x000000000000015c __vector_25 0x000000000000015c __vector_13 0x000000000000015c __vector_17 0x000000000000015c __vector_19 0x000000000000015c __vector_7 0x000000000000015c __vector_27 0x000000000000015c __vector_5 0x000000000000015c __vector_4 0x000000000000015c __vector_9 0x000000000000015c __vector_2 0x000000000000015c __vector_21 0x000000000000015c __vector_15 0x000000000000015c __vector_8 0x000000000000015c __vector_26 0x000000000000015c __vector_14 0x000000000000015c __vector_10 0x000000000000015c __vector_16 0x000000000000015c __vector_18 0x000000000000015c __vector_20 .text 0x0000000000000160 0x0 test.o .text 0x0000000000000160 0x9ee usb.o 0x0000000000000174 USB_ZeroPrescaler 0x0000000000000180 USB_Init 0x00000000000001ac __vector_11 0x0000000000000202 HandleWSControl 0x000000000000088e __vector_12 .text 0x0000000000000b4e 0x0 SPIPrinting.o .text 0x0000000000000b4e 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text 0x0000000000000b4e 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) 0x0000000000000b4e . = ALIGN (0x2) *(.text.*) .text.startup 0x0000000000000b4e 0x86 test.o 0x0000000000000b4e main .text.libgcc.mul 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.div 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.prologue 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.builtins 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.fmul 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.fixed 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .text.libgcc.mul 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc.div 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc.prologue 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc.builtins 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc.fmul 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) .text.libgcc.fixed 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) 0x0000000000000bd4 . = ALIGN (0x2) *(.fini9) .fini9 0x0000000000000bd4 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) 0x0000000000000bd4 exit 0x0000000000000bd4 _exit *(.fini9) *(.fini8) *(.fini8) *(.fini7) *(.fini7) *(.fini6) *(.fini6) *(.fini5) *(.fini5) *(.fini4) *(.fini4) *(.fini3) *(.fini3) *(.fini2) *(.fini2) *(.fini1) *(.fini1) *(.fini0) .fini0 0x0000000000000bd4 0x4 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) *(.fini0) 0x0000000000000bd8 _etext = . .data 0x0000000000800100 0x0 load address 0x0000000000000bd8 0x0000000000800100 PROVIDE (__data_start, .) *(.data) .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o .data 0x0000000000800100 0x0 test.o .data 0x0000000000800100 0x0 usb.o .data 0x0000000000800100 0x0 SPIPrinting.o .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) 0x0000000000800100 . = ALIGN (0x2) 0x0000000000800100 _edata = . 0x0000000000800100 PROVIDE (__data_end, .) .bss 0x0000000000800100 0xa5 0x0000000000800100 PROVIDE (__bss_start, .) *(.bss) .bss 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.o .bss 0x0000000000800100 0x0 test.o .bss 0x0000000000800100 0x4 usb.o 0x0000000000800100 triggerep .bss 0x0000000000800104 0x0 SPIPrinting.o .bss 0x0000000000800104 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_exit.o) .bss 0x0000000000800104 0x0 /usr/lib/gcc/avr/4.9.2/avr35/libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) COMMON 0x0000000000800104 0xa0 test.o 0x0000000000800104 recvbuffer 0x0000000000800124 sendbuffer COMMON 0x00000000008001a4 0x1 usb.o 0x00000000008001a4 USBInitState 0x00000000008001a5 PROVIDE (__bss_end, .) 0x0000000000000bd8 __data_load_start = LOADADDR (.data) 0x0000000000000bd8 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00000000008001a5 0x0 0x00000000008001a5 PROVIDE (__noinit_start, .) *(.noinit*) 0x00000000008001a5 PROVIDE (__noinit_end, .) 0x00000000008001a5 _end = . 0x00000000008001a5 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 0x2028 *(.stab) .stab 0x0000000000000000 0x6cc test.o .stab 0x00000000000006cc 0x168c usb.o 0x18a8 (size before relaxing) .stab 0x0000000000001d58 0x2d0 SPIPrinting.o 0x4ec (size before relaxing) .stabstr 0x0000000000000000 0x1235 *(.stabstr) .stabstr 0x0000000000000000 0x1235 test.o .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment 0x0000000000000000 0x11 *(.comment) .comment 0x0000000000000000 0x11 test.o 0x12 (size before relaxing) .comment 0x0000000000000011 0x12 usb.o .comment 0x0000000000000011 0x12 SPIPrinting.o .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr35/crtatmega32u2.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 *(.debug_info .gnu.linkonce.wi.*) .debug_abbrev *(.debug_abbrev) .debug_line *(.debug_line .debug_line.* .debug_line_end) .debug_frame *(.debug_frame) .debug_str *(.debug_str) .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(program.elf elf32-avr) LOAD linker stubs