I was thinking that my changes was the problem, but it's not.
If I compile myself from source for 600D I need to do make 600D; make clean; make 600D to be able to compile ML (first make 600D fails).
But the compiled autoexec will blink led 3 time slow and then 3 time faster after closing card door even with camera off. Battery pull is needed to reset camera.
I don't know if something has changed that could give me those problems.
What does it fail on? Compiles fine for me and runs... tho today I pulled and it tried to delete the contents of tasks.c
This is all the compilation process, it has a lot of more warning than last time I updated source
MacBook-Pro-di-scrax:magic-lantern2013 scrax$ make 600D
make -C /Users/scrax/magic-lantern2013/platform/600D.102
[ VERSION ] ../../platform/600D.102/version.c
[ CC ] version.o
[ MENU IDX ] menuindexentries.h
No menuindex.txt not running "python menuindex.py"
[ CC ] menuindex.o
[ LD ] magiclantern
boot-hack.o: In function `my_init_task':
boot-hack.c:(.text+0x5f4): undefined reference to `_text_start'
boot-hack.c:(.text+0x5f8): undefined reference to `_bss_end'
boot-hack.o: In function `my_task_dispatch_hook':
boot-hack.c:(.text+0x6cc): undefined reference to `_task_overrides_start'
boot-hack.c:(.text+0x6d0): undefined reference to `_task_overrides_end'
boot-hack.o: In function `my_big_init_task':
boot-hack.c:(.text+0x7e8): undefined reference to `_init_funcs_start'
boot-hack.c:(.text+0x7ec): undefined reference to `_init_funcs_end'
boot-hack.c:(.text+0x810): undefined reference to `_tasks_start'
boot-hack.c:(.text+0x814): undefined reference to `_tasks_end'
boot-hack.o: In function `copy_and_restart':
boot-hack.c:(.text+0xa18): undefined reference to `_bss_start'
boot-hack.c:(.text+0xa1c): undefined reference to `_bss_end'
config.o: In function `config_parse':
config.c:(.text+0x34c): undefined reference to `_config_vars_start'
config.c:(.text+0x378): undefined reference to `_config_vars_end'
config.o: In function `config_save_file':
config.c:(.text+0x57c): undefined reference to `_config_vars_start'
config.c:(.text+0x588): undefined reference to `_config_vars_end'
config.o: In function `get_config_vars_start':
config.c:(.text+0x6bc): undefined reference to `_config_vars_start'
config.o: In function `get_config_vars_end':
config.c:(.text+0x6c8): undefined reference to `_config_vars_end'
menu.o: In function `can_be_turned_off':
menu.c:(.text+0xdc): undefined reference to `_bss_end'
menu.o: In function `guess_submenu_enabled':
menu.c:(.text+0x2e0): undefined reference to `_bss_end'
menu.o: In function `entry_guess_icon_type':
menu.c:(.text+0x7d8): undefined reference to `_bss_end'
menu.o: In function `log_percent':
menu.c:(.text+0x195c): undefined reference to `_bss_end'
menu.o: In function `menu_numeric_toggle_long_range':
menu.c:(.text+0x1d0c): undefined reference to `_bss_end'
menu.o:menu.c:(.text+0x1ef0): more undefined references to `_bss_end' follow
property.o: In function `prop_add_internal_handlers':
property.c:(.text+0x1fc): undefined reference to `_prop_handlers_start'
property.c:(.text+0x200): undefined reference to `_prop_handlers_end'
zebra.o: In function `zebra_level_display':
zebra.c:(.text+0x5b4): undefined reference to `_bss_end'
zebra.o: In function `idle_display_feature_print':
zebra.c:(.text+0x6ac): undefined reference to `_bss_end'
zebra.o: In function `idle_display_dim_print':
zebra.c:(.text+0x708): undefined reference to `_bss_end'
zebra.o: In function `focus_peaking_display':
zebra.c:(.text+0xa58): undefined reference to `_bss_end'
zebra.o: In function `zebra_draw_display':
zebra.c:(.text+0x19e8): undefined reference to `_bss_end'
shoot.o:shoot.c:(.text+0x2014): more undefined references to `_bss_end' follow
collect2: ld returned 1 exit status
make[1]: *** [magiclantern] Error 1
make: *** [600D] Error 2
MacBook-Pro-di-scrax:magic-lantern2013 scrax$ make clean; make 600D
rm -f \
/Users/scrax/magic-lantern2013/lua/*.o \
/Users/scrax/magic-lantern2013/lua/.*.d \
/Users/scrax/magic-lantern2013/lua/liblua.a
cd /Users/scrax/magic-lantern2013/platform/550D.109/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/60D.111/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/600D.102/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/7D_MASTER.203/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/7D.203/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/50D.109/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/500D.111/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/5D2.212/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/5D3.113/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/5DC.111/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/1100D.105/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/40D.111/; make clean
Makefile:81: warning: overriding commands for target `ptpinstall'
../../Makefile.inc:284: warning: ignoring old commands for target `ptpinstall'
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/EOSM.106/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/650D.101/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
cd /Users/scrax/magic-lantern2013/platform/6D.112/; make clean
[ CLEAN ] clean
[ CLEAN ] clean
make -C /Users/scrax/magic-lantern2013/plugins clean
make -C lua/ clean; make -C tcc/ clean; make -C testplug/ clean; make -C testplug_new/ clean;
[ CLEAN ] clean
rm -vf tcc tcc_p tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test
make -C tests clean
make[3]: Nothing to be done for `clean'.
[ CLEAN ] clean
rm *.o *.mo testplug.mo || true
rm: *.o: No such file or directory
rm: testplug.mo: No such file or directory
rm -rf binaries
rm -rf doxygen-doc/*
make -C /Users/scrax/magic-lantern2013/platform/600D.102
[ CPP ] magiclantern.lds
[ AS ] entry.o
[ CC ] boot-hack.o
../../src/boot-hack.c:54:16: warning: '_reloc' defined but not used [-Wunused-variable]
[ AS ] stubs.o
[ VERSION ] ../../platform/600D.102/version.c
[ CC ] version.o
[ CC ] exmem.o
[ CC ] bmp.o
[ CC ] font-dyn.o
[ CC ] config.o
[ CC ] menu.o
../../src/menu.c: In function 'menu_redraw_do':
../../src/menu.c:3386:13: warning: unused variable 'prev_z' [-Wunused-variable]
[ CC ] debug.o
../../src/debug.c: In function 'meminfo_display':
../../src/debug.c:2499:26: warning: integer overflow in expression [-Woverflow]
../../src/debug.c: At top level:
../../src/debug.c:3010:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3010:17: warning: (near initialization for '(anonymous)[0].priv') [enabled by default]
../../src/debug.c:3017:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3017:17: warning: (near initialization for '(anonymous)[1].priv') [enabled by default]
../../src/debug.c:3024:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3024:17: warning: (near initialization for '(anonymous)[2].priv') [enabled by default]
../../src/debug.c:3031:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3031:17: warning: (near initialization for '(anonymous)[3].priv') [enabled by default]
../../src/debug.c:3038:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3038:17: warning: (near initialization for '(anonymous)[4].priv') [enabled by default]
../../src/debug.c:3046:17: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/debug.c:3046:17: warning: (near initialization for '(anonymous)[5].priv') [enabled by default]
../../src/debug.c:3833:12: warning: 'halfshutter_pressed' defined but not used [-Wunused-variable]
[ CC ] stdio.o
[ CC ] audio-lapis.o
[ CC ] bitrate.o
../../src/bitrate.c:33:12: warning: 'time_indic_width' defined but not used [-Wunused-variable]
../../src/bitrate.c:34:12: warning: 'time_indic_height' defined but not used [-Wunused-variable]
[ CC ] tweaks.o
[ CC ] lens.o
[ CC ] property.o
../../src/property.c: In function 'prop_register_handlers':
../../src/property.c:146:9: warning: passing argument 1 of 'prop_register_slave' from incompatible pointer type [enabled by default]
../../src/property.h:516:1: note: expected 'unsigned int *' but argument is of type 'uint32_t *'
[ CC ] propvalues.o
[ CC ] gui.o
[ CC ] gui-common.o
[ CC ] misc.o
[ CC ] picstyle.o
[ CC ] cfn.o
[ CC ] zebra.o
../../src/zebra.c:223:12: warning: 'show_lv_fps' defined but not used [-Wunused-variable]
../../src/zebra.c:467:12: warning: 'clearscreen_countdown' defined but not used [-Wunused-variable]
../../src/zebra.c:1408:12: warning: 'focus_peaking_debug' defined but not used [-Wunused-variable]
[ CC ] shoot.o
../../src/shoot.c: In function 'interval_timer_display':
../../src/shoot.c:446:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../src/shoot.c: In function 'intervalometer_display':
../../src/shoot.c:497:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../src/shoot.c: At top level:
../../src/shoot.c:182:12: warning: 'mlu_handled_debug' defined but not used [-Wunused-variable]
[ CC ] chdk-gui_draw.o
[ CC ] movtweaks.o
[ CC ] menuhelp.o
[ MENU IDX ] menuindexentries.h
No menuindex.txt not running "python menuindex.py"
[ CC ] menuindex.o
[ CC ] af_patterns.o
[ CC ] focus.o
../../src/focus.c:856:12: warning: 'minmag' defined but not used [-Wunused-variable]
[ CC ] notify_box.o
[ CC ] bootflags.o
[ CC ] dialog_test.o
[ CC ] vram.o
../../src/vram.c:123:12: warning: 'increment' defined but not used [-Wunused-variable]
[ CC ] morse.o
[ CC ] liveview.o
[ CC ] reloc.o
[ CC ] aj_port.o
[ CC ] fps-engio.o
[ CC ] hdr.o
[ CC ] lv-img-engio.o
[ CC ] state-object.o
[ CC ] tasks.o
[ CC ] tskmon.o
../../src/tskmon.c: In function 'tskmon_stack_checker':
../../src/tskmon.c:169:27: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/tskmon.c: In function 'null_pointer_check':
../../src/tskmon.c:223:31: warning: initialization makes pointer from integer without a cast [enabled by default]
[ CC ] beep.o
[ CC ] vsync-lite.o
../../src/vsync-lite.c:8:12: warning: 'vsync_last_msg' defined but not used [-Wunused-variable]
[ CC ] ph_info_disp.o
[ CC ] flexinfo.o
[ CC ] ico.o
[ CC ] console.o
[ CC ] pico.o
../../picoc/pico.c: In function 'PlatformExit':
../../picoc/platform_ml.c:62:1: warning: 'noreturn' function does return [enabled by default]
[ CC ] picoc.o
[ CC ] chdk-gui_script.o
[ AR ] strrchr.o
[ AR ] dietlibc.a
[ AR ] lib_a-setjmp.o
[ AR ] newlib-libc.a
[ LD ] magiclantern
[ OBJCOPY ] magiclantern.bin
[ SYMBOLS ] magiclantern.sym
/bin/sh: gawk: command not found
[ CC ] reboot.o
[ LD ] autoexec
stat: autoexec.bin: stat: No such file or directory
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
EXIDX 0x07776c 0x00cf776c 0x00cf776c 0x00008 0x00008 R 0x4
LOAD 0x000100 0x00c80100 0x00c80100 0x77674 0x84291 RWE 0x100
[ OBJCOPY ] autoexec.bin
MacBook-Pro-di-scrax:magic-lantern2013 scrax$ cp platform/600D.102/autoexec.bin /Volumes/EOS_DIGITAL ; hdiutil unmount /Volumes/EOS_DIGITAL/
"/Volumes/EOS_DIGITAL/" unmounted successfully.
I'm using gcc 4.6.3 could be that the problem?
Your problem is in boothack.c & consts.h
Is your repo booting 600D with the cache hack? Its like they aren't defined or you have a typo.
Quote from: 1% on April 08, 2013, 08:16:48 PM
Your problem is in boothack.c & consts.h
Is your repo booting 600D with the cache hack? Its like they aren't defined or you have a typo.
this log is with a clone of main tree, not with my fork
I've seen these sorts of weird compiler errors before when doing embedded arm development, generally they were fixed by changing toolchain. It looks like you're using a Mac so I'd try this toolchain (https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-mac.tar.bz2) - just extract somewhere and change the path in Makefile.user and see if it helps. If it's a clean checkout then the compiler looks a likely candidate.
/* ensure binary is not too large */
if(ml_used_mem > ml_reserved_mem)
{
while(1)
{
info_led_blink(3, 500, 500);
info_led_blink(3, 100, 500);
msleep(1000);
}
}
;)
that would have been my next question.
is it a --- ... --- blink sequence?
Update: SOLVED thanks to alex
My compiler was the problem as you already suggested, the option -mlong-calls is not needed anymore and was making the file too big to be loaded the ---...--- sequence is the warning about loading blocked for safety reason, but you already know that.
This let me fix the pull request also.