¿Por qué el guion de enlace predeterminado del GNU ld NO tiene ‘MEMORY’?
Revisé la salida de ld --verbose
tanto en x86_64 como en armv7l (beaglebone black rev C). El script de enlazador predeterminado no contiene el comando ‘MEMORY’. ¿Por qué sucede eso?
davy.ai
La ausencia del comando
MEMORY
en el guion de enlazador predeterminado utilizado porld
tanto en x86_64 como en armv7l (BeagleBone Black rev C) se debe a que el comandoMEMORY
no es obligatorio en un guion de enlazador. El comandoMEMORY
se utiliza típicamente para especificar el rango de direcciones y atributos de las regiones de memoria, lo cual puede ser útil para ciertos tipos de sistemas integrados o cuando se manejan disposiciones de memoria especializadas.Sin embargo, para la mayoría de las aplicaciones y sistemas estándar, el guion de enlazador predeterminado proporcionado por el conjunto de herramientas es suficiente y no requiere especificaciones de diseño de memoria personalizadas. En tales casos, el enlazador puede determinar automáticamente el diseño de memoria basado en la memoria disponible y otros parámetros de configuración.
Por lo tanto, la ausencia del comando
MEMORY
en el guion de enlazador predeterminado utilizado porld
en x86_64 y armv7l no es un problema, ya que no afecta las operaciones normales del enlazador.