Archive member included to satisfy reference by file (symbol) /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o (exit) Discarded input sections .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o .text 0x0000000000000000 0x0 1602LCD_char_display.o .data 0x0000000000000000 0x0 1602LCD_char_display.o .bss 0x0000000000000000 0x0 1602LCD_char_display.o .text.cmd_lcd 0x0000000000000000 0x2 1602LCD_char_display.o .text 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .data 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .bss 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.mul 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.div 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.prologue 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.builtins 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.fmul 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) .text.libgcc.fixed 0x0000000000000000 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) Memory Configuration Name Origin Length Attributes text 0x0000000000000000 0x0000000000008000 xr data 0x0000000000800100 0x0000000000000800 rw !x eeprom 0x0000000000810000 0x0000000000000400 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 Address of section .data set to 0x800100 LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o LOAD 1602LCD_char_display.o START GROUP LOAD /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a LOAD /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libatmega328p.a END GROUP 0x0000000000000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0 [0x0000000000800100] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800060 [0x0000000000008000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x20000 [0x0000000000000800] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 [0x0000000000000400] __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 0xfe *(.vectors) .vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o 0x0000000000000000 __vectors 0x0000000000000000 __vector_default *(.vectors) *(.progmem.gcc*) 0x0000000000000068 . = ALIGN (0x2) 0x0000000000000068 __trampolines_start = . *(.trampolines) .trampolines 0x0000000000000068 0x0 linker stubs *(.trampolines*) 0x0000000000000068 __trampolines_end = . *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) 0x0000000000000068 . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) 0x0000000000000068 __ctors_start = . *(.ctors) 0x0000000000000068 __ctors_end = . 0x0000000000000068 __dtors_start = . *(.dtors) 0x0000000000000068 __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) .init0 0x0000000000000068 0x0 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o 0x0000000000000068 __init *(.init0) *(.init1) *(.init1) *(.init2) .init2 0x0000000000000068 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o *(.init2) *(.init3) *(.init3) *(.init4) *(.init4) *(.init5) *(.init5) *(.init6) *(.init6) *(.init7) *(.init7) *(.init8) *(.init8) *(.init9) .init9 0x0000000000000074 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o *(.init9) *(.text) .text 0x000000000000007c 0x4 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o 0x000000000000007c __vector_22 0x000000000000007c __vector_1 0x000000000000007c __vector_24 0x000000000000007c __vector_12 0x000000000000007c __bad_interrupt 0x000000000000007c __vector_6 0x000000000000007c __vector_3 0x000000000000007c __vector_23 0x000000000000007c __vector_25 0x000000000000007c __vector_11 0x000000000000007c __vector_13 0x000000000000007c __vector_17 0x000000000000007c __vector_19 0x000000000000007c __vector_7 0x000000000000007c __vector_5 0x000000000000007c __vector_4 0x000000000000007c __vector_9 0x000000000000007c __vector_2 0x000000000000007c __vector_21 0x000000000000007c __vector_15 0x000000000000007c __vector_8 0x000000000000007c __vector_14 0x000000000000007c __vector_10 0x000000000000007c __vector_16 0x000000000000007c __vector_18 0x000000000000007c __vector_20 0x0000000000000080 . = ALIGN (0x2) *(.text.*) .text.init_lcd 0x0000000000000080 0x32 1602LCD_char_display.o 0x0000000000000080 init_lcd .text.startup.main 0x00000000000000b2 0x48 1602LCD_char_display.o 0x00000000000000b2 main 0x00000000000000fa . = ALIGN (0x2) *(.fini9) .fini9 0x00000000000000fa 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) 0x00000000000000fa exit 0x00000000000000fa _exit *(.fini9) *(.fini8) *(.fini8) *(.fini7) *(.fini7) *(.fini6) *(.fini6) *(.fini5) *(.fini5) *(.fini4) *(.fini4) *(.fini3) *(.fini3) *(.fini2) *(.fini2) *(.fini1) *(.fini1) *(.fini0) .fini0 0x00000000000000fa 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) *(.fini0) 0x00000000000000fe _etext = . .data 0x0000000000800100 0x0 load address 0x00000000000000fe [!provide] PROVIDE (__data_start, .) *(.data) *(.data*) *(.gnu.linkonce.d*) *(.rodata) *(.rodata*) *(.gnu.linkonce.r*) 0x0000000000800100 . = ALIGN (0x2) 0x0000000000800100 _edata = . [!provide] PROVIDE (__data_end, .) .bss 0x0000000000800100 0x0 [!provide] PROVIDE (__bss_start, .) *(.bss) *(.bss*) *(COMMON) [!provide] PROVIDE (__bss_end, .) 0x00000000000000fe __data_load_start = LOADADDR (.data) 0x00000000000000fe __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0000000000800100 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) 0x0000000000800100 _end = . [!provide] 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 0x654 *(.stab) .stab 0x0000000000000000 0x654 1602LCD_char_display.o 0x684 (size before relaxing) .stabstr 0x0000000000000000 0xcee *(.stabstr) .stabstr 0x0000000000000000 0xcee 1602LCD_char_display.o .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment 0x0000000000000000 0x11 *(.comment) .comment 0x0000000000000000 0x11 1602LCD_char_display.o 0x12 (size before relaxing) .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 .note.gnu.avr.deviceinfo 0x0000000000000000 0x40 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.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 0x5f4 *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x0000000000000000 0x5f4 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o .debug_abbrev 0x0000000000000000 0x5a2 *(.debug_abbrev) .debug_abbrev 0x0000000000000000 0x5a2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.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/avr5/crtatmega328p.o .debug_frame *(.debug_frame) .debug_str 0x0000000000000000 0x208 *(.debug_str) .debug_str 0x0000000000000000 0x208 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.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(1602LCD_char_display.elf elf32-avr) LOAD linker stubs