It seems readlink is already a defined to __readlink_alias or something, so when AT_FUNC_F1 is 'readlink', the following expansion will fail
# define CALL_FUNC(F) (AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS)) i.e. CALL_FUNC (file) should be expanded to: readlink (file , buf, len) but is just expanded to readlink later, Pádraig.
