Thanks Olajep for your response. That was really useful. It is the first time I dig int BFD and GCC, so it takes some time for me. But you pointing out this places made it easier.
Now, let's say I want to modify the cachemanager. I have realized that the cachemanager.S file is there just for reference and that the file that is under esdk.2016.3.1/tools/e-gnu.armv7l/epiphany-elf/lib/cachemanager.o is in fact the one that is used at linking time. This means that if I want to change the cachemanager I will need to somehow replace this file by compiling my version and providing it either by replacing the one that is on the esdk, or it might be possible to just use another one with some compiler flag (I haven't really put a lot of though into this, so I might be wrong).
But before I get to that point, I need to compile the cachenamager.S file. But I have not been able to do this with epiphany-elf-gcc. Is there any insight on how I could do this. I bet it is something simple but I don't want to waste too much time figuring it out.
Thanks and have a great day.
Jose