I have a little problem and bug in Vivado 2016.1. For my zynq (z-turn 7020) Vivado SDK is not able to compile a working first stage boot loader (compilation is not the problem only the .elf file is not working). However using an old 2014.4 or 2015.4 project with working fsbl is working in the BOOT image. If I do not boot from sd card and use the project in the SDK directly it is working.
What are the exact differences between the .elf files from different SDK versions? Are there any problems I run into if using old fsbl in newer projects for creating the boot.img?