Current implementation did not check that symbols is actually defined. Only checked for presence. GNU ld documentation says,
"Return 1 if symbol is in the linker global symbol table and is defined before the statement using DEFINED in the script, otherwise return 0."
https://sourceware.org/binutils/docs/ld/Builtin-Functions.html#Builtin-Functions