Archive member included because of file (symbol) /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o (exit) /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) obj/clock.o (__do_clear_bss) Memory Configuration Name Origin Length Attributes text 0x0000000000000000 0x0000000000020000 xr data 0x0000000000800060 0x000000000000ffa0 rw !x eeprom 0x0000000000810000 0x0000000000010000 rw !x *default* 0x0000000000000000 0xffffffffffffffff Linker script and memory map Address of section .data set to 0x800100 LOAD /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o LOAD obj/clock.o LOAD obj/main.o LOAD obj/task.o LOAD obj/twi.o LOAD obj/water.o LOAD /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a LOAD /usr/avr/lib/libm.a LOAD /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a LOAD /usr/avr/lib/libc.a LOAD /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a .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 0xad4 *(.vectors) .vectors 0x0000000000000000 0x8c /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o 0x0000000000000000 __vectors 0x0000000000000000 __vector_default *(.vectors) *(.progmem.gcc*) *(.progmem*) 0x000000000000008c . = ALIGN (0x2) 0x000000000000008c __trampolines_start = . *(.trampolines) .trampolines 0x000000000000008c 0x0 linker stubs *(.trampolines*) 0x000000000000008c __trampolines_end = . *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) 0x000000000000008c __ctors_start = . *(.ctors) 0x000000000000008c __ctors_end = . 0x000000000000008c __dtors_start = . *(.dtors) 0x000000000000008c __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) .init0 0x000000000000008c 0x0 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o 0x000000000000008c __init *(.init0) *(.init1) *(.init1) *(.init2) .init2 0x000000000000008c 0xc /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o *(.init2) *(.init3) *(.init3) *(.init4) .init4 0x0000000000000098 0x1c /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o 0x0000000000000098 __do_copy_data .init4 0x00000000000000b4 0x10 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) 0x00000000000000b4 __do_clear_bss *(.init4) *(.init5) *(.init5) *(.init6) *(.init6) *(.init7) *(.init7) *(.init8) *(.init8) *(.init9) .init9 0x00000000000000c4 0x8 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o *(.init9) *(.text) .text 0x00000000000000cc 0x4 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o 0x00000000000000cc __vector_22 0x00000000000000cc __vector_28 0x00000000000000cc __vector_1 0x00000000000000cc __vector_32 0x00000000000000cc __vector_34 0x00000000000000cc __vector_24 0x00000000000000cc __vector_12 0x00000000000000cc __bad_interrupt 0x00000000000000cc __vector_6 0x00000000000000cc __vector_31 0x00000000000000cc __vector_3 0x00000000000000cc __vector_23 0x00000000000000cc __vector_30 0x00000000000000cc __vector_25 0x00000000000000cc __vector_11 0x00000000000000cc __vector_13 0x00000000000000cc __vector_17 0x00000000000000cc __vector_19 0x00000000000000cc __vector_7 0x00000000000000cc __vector_27 0x00000000000000cc __vector_5 0x00000000000000cc __vector_4 0x00000000000000cc __vector_2 0x00000000000000cc __vector_21 0x00000000000000cc __vector_15 0x00000000000000cc __vector_29 0x00000000000000cc __vector_8 0x00000000000000cc __vector_26 0x00000000000000cc __vector_14 0x00000000000000cc __vector_10 0x00000000000000cc __vector_16 0x00000000000000cc __vector_18 0x00000000000000cc __vector_20 .text 0x00000000000000d0 0x3c obj/clock.o 0x00000000000000d0 Clock::Init() 0x00000000000000de __vector_9 .text 0x000000000000010c 0xe4 obj/main.o 0x000000000000010c led(void*, void*) 0x0000000000000116 main 0x0000000000000194 Twi_Receive(void*, void*) .text 0x00000000000001f0 0x394 obj/task.o 0x00000000000001f0 TaskManager::AddTask(void (*)(void*, void*), void*, void*, TaskManager::TASK_TYPE, unsigned short, TaskManager::PRIORITY) 0x00000000000002ce TaskManager::AddTaskInt(void (*)(void*, void*), void*, void*, TaskManager::TASK_TYPE, unsigned short, TaskManager::PRIORITY) 0x0000000000000394 TaskManager::ExecuteNextTask() 0x000000000000047c TaskManager::PostponeTask(void (*)(void*, void*), unsigned short) 0x00000000000004da TaskManager::PostponeTaskInt(void (*)(void*, void*), unsigned short) 0x0000000000000520 TaskManager::DeleteTask(void (*)(void*, void*)) 0x0000000000000560 TaskManager::Init() .text 0x0000000000000584 0x4f8 obj/twi.o 0x0000000000000584 TWI::Init(void*, void*) 0x00000000000005ca __vector_33 0x000000000000094e TWI::ReSend(void*, void*) 0x00000000000009c2 TWI::Send(unsigned char, unsigned char*, unsigned char) .text 0x0000000000000a7c 0x54 obj/water.o 0x0000000000000a7c Water::init(void*, void*) 0x0000000000000a8e Water::valveOff(void*, void*) 0x0000000000000a92 Water::pumpOn(void*, void*) 0x0000000000000a96 Water::pumpOff(void*, void*) 0x0000000000000a9a Water::checkLevel(void*, void*) 0x0000000000000aa0 Water::valveOn(void*, void*) .text 0x0000000000000ad0 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) .text 0x0000000000000ad0 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) 0x0000000000000ad0 . = ALIGN (0x2) *(.text.*) .text.libgcc 0x0000000000000ad0 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) .text.libgcc 0x0000000000000ad0 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) 0x0000000000000ad0 . = ALIGN (0x2) *(.fini9) .fini9 0x0000000000000ad0 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) 0x0000000000000ad0 exit 0x0000000000000ad0 _exit *(.fini9) *(.fini8) *(.fini8) *(.fini7) *(.fini7) *(.fini6) *(.fini6) *(.fini5) *(.fini5) *(.fini4) *(.fini4) *(.fini3) *(.fini3) *(.fini2) *(.fini2) *(.fini1) *(.fini1) *(.fini0) .fini0 0x0000000000000ad0 0x4 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) *(.fini0) 0x0000000000000ad4 _etext = . .data 0x0000000000800100 0x0 load address 0x0000000000000ad4 0x0000000000800100 PROVIDE (__data_start, .) *(.data) .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o .data 0x0000000000800100 0x0 obj/clock.o .data 0x0000000000800100 0x0 obj/main.o .data 0x0000000000800100 0x0 obj/task.o .data 0x0000000000800100 0x0 obj/twi.o .data 0x0000000000800100 0x0 obj/water.o .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) .data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) 0x0000000000800100 . = ALIGN (0x2) 0x0000000000800100 _edata = . 0x0000000000800100 PROVIDE (__data_end, .) .bss 0x0000000000800100 0xf2 0x0000000000800100 PROVIDE (__bss_start, .) *(.bss) .bss 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o .bss 0x0000000000800100 0x2 obj/clock.o 0x0000000000800100 Clock::ticks .bss 0x0000000000800102 0x0 obj/main.o .bss 0x0000000000800102 0xbb obj/task.o 0x0000000000800102 TaskManager::tasks 0x00000000008001b6 TaskManager::cur_priority 0x00000000008001b9 TaskManager::cur_tasks 0x00000000008001ba TaskManager::cpu_usage 0x00000000008001bb TaskManager::cur_done 0x00000000008001bc TaskManager::counter .bss 0x00000000008001bd 0x35 obj/twi.o 0x00000000008001bd TWI::out_cur_data_ptr 0x00000000008001be TWI::in_cur_data_ptr 0x00000000008001bf TWI::current_mode 0x00000000008001c1 TWI::in_packet 0x00000000008001d6 TWI::out_packet 0x00000000008001eb TWI::tmp_crc 0x00000000008001ec TWI::numRetries 0x00000000008001ed TWI::num_packs_sent 0x00000000008001ef TWI::lost_arbs 0x00000000008001f0 TWI::slave_nacks 0x00000000008001f1 TWI::slave_addr .bss 0x00000000008001f2 0x0 obj/water.o .bss 0x00000000008001f2 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) .bss 0x00000000008001f2 0x0 /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) 0x00000000008001f2 PROVIDE (__bss_end, .) 0x0000000000000ad4 __data_load_start = LOADADDR (.data) 0x0000000000000ad4 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00000000008001f2 0x0 0x00000000008001f2 PROVIDE (__noinit_start, .) *(.noinit*) 0x00000000008001f2 PROVIDE (__noinit_end, .) 0x00000000008001f2 _end = . 0x00000000008001f2 PROVIDE (__heap_start, .) .eeprom 0x0000000000810000 0x0 *(.eeprom*) 0x0000000000810000 __eeprom_end = . .stab *(.stab) .stabstr *(.stabstr) .stab.excl *(.stab.excl) .stab.exclstr *(.stab.exclstr) .stab.index *(.stab.index) .stab.indexstr *(.stab.indexstr) .comment *(.comment) .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_frame *(.debug_frame) .debug_str *(.debug_str) .debug_loc *(.debug_loc) .debug_macinfo *(.debug_macinfo) OUTPUT(bin/OnOff.elf elf32-avr) LOAD linker stubs Cross Reference Table Symbol File Clock::Init() obj/clock.o obj/main.o Clock::ticks obj/clock.o obj/task.o TWI::Init(void*, void*) obj/twi.o obj/main.o TWI::ReSend(void*, void*) obj/twi.o TWI::Send(unsigned char, unsigned char*, unsigned char) obj/twi.o TWI::current_mode obj/twi.o TWI::in_cur_data_ptr obj/twi.o TWI::in_packet obj/twi.o TWI::lost_arbs obj/twi.o TWI::numRetries obj/twi.o TWI::num_packs_sent obj/twi.o TWI::out_cur_data_ptr obj/twi.o TWI::out_packet obj/twi.o TWI::slave_addr obj/twi.o obj/main.o TWI::slave_nacks obj/twi.o TWI::tmp_crc obj/twi.o TaskManager::AddTask(void (*)(void*, void*), void*, void*, TaskManager::TASK_TYPE, unsigned short, TaskManager::PRIORITY) obj/task.o obj/water.o obj/twi.o obj/main.o TaskManager::AddTaskInt(void (*)(void*, void*), void*, void*, TaskManager::TASK_TYPE, unsigned short, TaskManager::PRIORITY) obj/task.o obj/twi.o TaskManager::DeleteTask(void (*)(void*, void*)) obj/task.o TaskManager::ExecuteNextTask() obj/task.o obj/main.o TaskManager::Init() obj/task.o obj/main.o TaskManager::PostponeTask(void (*)(void*, void*), unsigned short) obj/task.o TaskManager::PostponeTaskInt(void (*)(void*, void*), unsigned short) obj/task.o obj/twi.o TaskManager::counter obj/task.o TaskManager::cpu_usage obj/task.o TaskManager::cur_done obj/task.o TaskManager::cur_priority obj/task.o TaskManager::cur_tasks obj/task.o TaskManager::tasks obj/task.o Twi_Receive(void*, void*) obj/main.o obj/twi.o Water::checkLevel(void*, void*) obj/water.o obj/main.o Water::init(void*, void*) obj/water.o obj/main.o Water::pumpOff(void*, void*) obj/water.o obj/main.o Water::pumpOn(void*, void*) obj/water.o obj/main.o Water::valveOff(void*, void*) obj/water.o obj/main.o Water::valveOn(void*, void*) obj/water.o obj/main.o __bad_interrupt /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __bss_end /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) __bss_start /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) __data_end /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __data_load_start /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __data_start /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __do_clear_bss /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_clear_bss.o) obj/water.o obj/twi.o obj/task.o obj/main.o obj/clock.o __do_copy_data /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o obj/water.o obj/twi.o obj/task.o obj/main.o obj/clock.o __heap_end /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __init /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __stack /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_1 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_10 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_11 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_12 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_13 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_14 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_15 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_16 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_17 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_18 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_19 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_2 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_20 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_21 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_22 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_23 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_24 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_25 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_26 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_27 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_28 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_29 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_3 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_30 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_31 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_32 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_33 obj/twi.o /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_34 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_4 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_5 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_6 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_7 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_8 /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_9 obj/clock.o /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vector_default /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o __vectors /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o _exit /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) exit /usr/lib/gcc/avr/4.4.2/avr51/libgcc.a(_exit.o) /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o led(void*, void*) obj/main.o main obj/main.o /usr/lib/gcc/avr/4.4.2/../../../../avr/lib/avr51/crtm128.o