This is the classical approach of building an executable binary: Link it starting at a specific address. However, we offer some magic here too. To determine the final start-address of your binary, prog.mk uses a kind of database. It determines the start-addresses of each binary using a central place, the file $(L4DIR)/pkg/STATIC. Each line of this file contains the start-address and the name of a binary. prog.mk looks up the name of the binary in this file, and if it is found, the corresponding start-address is used. If the name of the binary is not found in STATIC, the start-address specified in DEFAULT_RELOC++ is used.