Index: sys/conf/kmod.mk =================================================================== --- sys/conf/kmod.mk +++ sys/conf/kmod.mk @@ -199,7 +199,7 @@ ${CC:N${CCACHE_BIN}} -c -x assembler-with-cpp -DLOCORE \ ${CFLAGS} ${WERROR} \ -DFIRMW_FILE="${.ALLSRC:M*${_firmw:C/\:.*$//}}" \ - -DFIRMW_SYMBOL="${_firmw:C/\:.*$//:C/[-.\/]/_/g}" \ + -DFIRMW_SYMBOL="${_firmw:C/\:.*$//:C/[-.\/@]/_/g}" \ ${SYSDIR}/kern/firmw.S -o ${.TARGET} OBJS+= ${_firmw:C/\:.*$/.fwo/:T} Index: sys/tools/fw_stub.awk =================================================================== --- sys/tools/fw_stub.awk +++ sys/tools/fw_stub.awk @@ -143,8 +143,8 @@ for (file_i = 0; file_i < num_files; file_i++) { symb = filenames[file_i]; - # '-', '.' and '/' are converted to '_' - gsub(/-|\.|\//, "_", symb); + # '-', '.', '/', and '@' are converted to '_' + gsub(/-|\.|\/|@/, "_", symb); printc("extern char _binary_" symb "_start[], _binary_" symb "_end[];"); } @@ -172,8 +172,8 @@ short = shortnames[file_i]; symb = filenames[file_i]; version = versions[file_i]; - # '-', '.' and '/' are converted to '_' - gsub(/-|\.|\//, "_", symb); + # '-', '.', '/', and '@' are converted to '_' + gsub(/-|\.|\/|@/, "_", symb); reg = "\t\tfp = "; reg = reg "firmware_register(\"" short "\", _binary_" symb "_start , ";