Why do you need /usr/include/asm? /usr/include/<triplet>/asm is already on the path for the compiler; /usr/include/asm is only provided by gcc-multilib in order to support building binaries for an ABI other than the default (e.g., building with gcc -m32 on amd64), where <triplet> for the target doesn't match that for the build system.
This should definitely not be a dependency of gcc or build-essential.
Why do you need /usr/include/asm? /usr/include/ <triplet> /asm is already on the path for the compiler; /usr/include/asm is only provided by gcc-multilib in order to support building binaries for an ABI other than the default (e.g., building with gcc -m32 on amd64), where <triplet> for the target doesn't match that for the build system.
This should definitely not be a dependency of gcc or build-essential.