Tengo curiosidad por compilar con gcc / g ++ / clang con el supuesto de que
Los encabezados y los archivos de implementación son proporcionados por el usuario, pero no la configuración de compilación.
(es decir, sin cd lib && make
)
¿Qué pasa si el usuario podría proporcionar archivos de objetos para vincular también (bibliotecas estáticas)? ¿Qué hay de las banderas de compilador / vinculador proporcionadas por el usuario lanzadas en la mezcla?
¿Podría un usuario malintencionado deshabilitar un sistema (agotar los recursos) o incluso podría ejecutar código arbitrario de esta manera si todo lo que podrían hacer es enviar los archivos *.cc
, *.hh
y *.a
, posiblemente los indicadores del compilador, y ¿el sistema compila y enlaza todo (pero no lo ejecuta)?