Sergei
It was a problem when I was renaming entry.S to entry.c. I think "entry.S" and "_start:" are keywords in ASM for program entry point. So it can't be changed.
All that code in "entry.S" we used to have is gone. "entry.S" now just executes EnableHacks(), which executes cache-hacks, relocates AUTOEXEC in RAM and jumps to original firmware.
entry.S is not a special file and _start is not special word. The _start is by default, since you have not specified another name.
I tried to compile our code w/o entry.S and it compiles.
You should try to change your link.script and LDFLAGS line (or the linking line) in makefile too...
change your linking line in makefile which is now:
$(CC) $(CFLAGS) -Wl,-T,link.script -o$@ $^
to look like this:
$(CC) $(CFLAGS) -Wl,-T,link.script -e EnableHacks -o$@ $^
you can remove this line from makefile too:
entry.o:entry.S
and change your link.script...
remove the entry.o from the file, and put init.o in the first place (where entry.o was)
you should be able to compile it without the entry.S at all...