InglésFrancésEspañol

Ejecutar servidores | Ubuntu > | Fedora > |


icono de página de OnWorks

h8300-hitachi-coff-ld: en línea en la nube

Ejecute h8300-hitachi-coff-ld en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando h8300-hitachi-coff-ld que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ld - Usando LD, el enlazador GNU

SINOPSIS


viejo [opciones] archivoobj ...

DESCRIPCIÓN


ld combina una serie de objetos y archivos de almacenamiento, reubica sus datos y ata el símbolo
referencias. Por lo general, el último paso para compilar un programa es ejecutar ld.

ld acepta archivos Linker Command Language escritos en un superconjunto del Link Editor de AT&T
Sintaxis del lenguaje de comandos, para proporcionar un control explícito y total sobre el proceso de vinculación.

Esta página de manual no describe el lenguaje de comandos; ver el ld entrada en "info", o la
manual ld: el enlazador GNU, para obtener detalles completos sobre el lenguaje de comandos y otros aspectos
del enlazador GNU.

Esta versión de ld utiliza las bibliotecas BFD de propósito general para operar en archivos de objetos. Esta
permite ld para leer, combinar y escribir archivos de objetos en muchos formatos diferentes --- para
ejemplo, COFF o "a.out". Se pueden vincular diferentes formatos para producir cualquier
tipo de archivo objeto disponible.

Aparte de su flexibilidad, el enlazador GNU es más útil que otros enlazadores para proporcionar
información de diagnóstico. Muchos enlazadores abandonan la ejecución inmediatamente después de encontrar un
error; cuando sea posible, ld continúa ejecutándose, lo que le permite identificar otros errores
(o, en algunos casos, para obtener un archivo de salida a pesar del error).

El enlazador GNU ld está destinado a cubrir una amplia gama de situaciones y ser tan compatible
como sea posible con otros enlazadores. Como resultado, tiene muchas opciones para controlar su
comportamiento.

OPCIONES


El vinculador admite una gran cantidad de opciones de línea de comandos, pero en la práctica, pocas de ellas
se utilizan en cualquier contexto particular. Por ejemplo, un uso frecuente de ld es enlazar
archivos de objeto estándar de Unix en un sistema Unix estándar compatible. En tal sistema, para
vincular un archivo "hello.o":

Yo hago /lib/crt0.o hola.o -lc

Esto dice ld para producir un archivo llamado salida como resultado de vincular el archivo
"/lib/crt0.o" con "hello.o" y la biblioteca "libc.a", que vendrá del estándar
directorios de búsqueda. (Ver la discusión de la -l opción a continuación.)

Algunas de las opciones de la línea de comandos para ld se puede especificar en cualquier punto de la línea de comando.
Sin embargo, las opciones que se refieren a archivos, como -l or -T, hace que el archivo se lea en el
punto en el que aparece la opción en la línea de comando, en relación con los archivos de objeto y
otras opciones de archivo. La repetición de opciones que no son de archivo con un argumento diferente tendrá
ningún efecto adicional, o anular ocurrencias anteriores (las que están más a la izquierda en el comando
línea) de esa opción. Las opciones que pueden especificarse de manera significativa más de una vez son
anotado en las descripciones siguientes.

Los argumentos que no son de opción son archivos de objeto o archivos que deben vincularse entre sí. Ellos
puede seguir, preceder o mezclarse con las opciones de la línea de comandos, excepto que un archivo de objeto
El argumento no puede colocarse entre una opción y su argumento.

Por lo general, el vinculador se invoca con al menos un archivo de objeto, pero puede especificar otro
formas de archivos de entrada binaria usando -l, -Ry el lenguaje de comandos de la secuencia de comandos. Si no binario
se especifican los archivos de entrada, el enlazador no produce ninguna salida y emite el
mensaje No datos de entrada archivos.

Si el vinculador no puede reconocer el formato de un archivo de objeto, asumirá que es un
secuencia de comandos del enlazador. Un script especificado de esta manera aumenta el script del enlazador principal utilizado para
el enlace (ya sea el script de creación de enlaces predeterminado o el especificado mediante -T). Esta
La función permite que el enlazador se vincule con un archivo que parece ser un objeto o un
archivo, pero en realidad simplemente define algunos valores de símbolo, o utiliza "ENTRADA" o "GRUPO" para
cargar otros objetos. Tenga en cuenta que especificar un script de esta manera simplemente aumenta la
secuencia de comandos del enlazador; utilizar el -T opción para reemplazar el script del enlazador predeterminado por completo.

Para las opciones cuyos nombres son de una sola letra, los argumentos de las opciones deben seguir las
letra de opción sin espacios en blanco que intervengan, o se dará como argumentos separados
inmediatamente después de la opción que los requiera.

Para las opciones cuyos nombres son varias letras, un guión o dos pueden preceder al
nombre de la opción; por ejemplo, -símbolo-de-rastreo y --traza-símbolo son equivalentes. Nota --- allí
es una excepción a esta regla. Varias opciones de letras que comienzan con una 'o' minúscula
solo puede ir precedido de dos guiones. Esto es para reducir la confusión con el -o opción. Entonces
por ejemplo -omágico establece el nombre del archivo de salida en magia mientras --omágico establece el NMAGIC
bandera en la salida.

Los argumentos para opciones de varias letras deben estar separados del nombre de la opción por un
signo igual, o ser dado como argumentos separados inmediatamente después de la opción que
los requiere. Por ejemplo, --traza-símbolo foo y --trace-symbol = foo son equivalentes
Se aceptan abreviaturas únicas de los nombres de opciones de varias letras.

Nota --- si el enlazador se invoca indirectamente, a través de un controlador de compilador (p. Ej. gcc) entonces
todas las opciones de la línea de comandos del enlazador deben tener el prefijo -Wl, (o lo que sea apropiado
para el controlador del compilador en particular) como este:

gcc -Wl, - grupo de inicio foo.o bar.o -Wl, - grupo final

Esto es importante, porque de lo contrario, el programa del controlador del compilador puede eliminar silenciosamente
opciones del enlazador, lo que da como resultado un enlace incorrecto.

Aquí hay una tabla de los conmutadores genéricos de línea de comando aceptados por el enlazador GNU:

-akeyword
Esta opción es compatible con la compatibilidad con HP / UX. los keyword El argumento debe ser uno de
las cuerdas Archivo, compartido o el tu préstamo estudiantil. -archivo es funcionalmente equivalente a
-Bestático, y las otras dos palabras clave son funcionalmente equivalentes a -Bdinámico. Esto
La opción se puede utilizar tantas veces como desee.

-Aarquitectura
--arquitectura =arquitectura
En la versión actual de ld, esta opción es útil solo para la familia de Intel 960 de
arquitecturas. En eso ld configuración, la arquitectura El argumento identifica el
arquitectura particular en la familia 960, permitiendo algunas salvaguardas y modificando el
ruta de búsqueda de biblioteca de archivo.

Versiones futuras de ld puede admitir una funcionalidad similar para otra arquitectura
las familias

-b formato de entrada
--format =formato de entrada
ld puede configurarse para admitir más de un tipo de archivo de objeto. Si tu ld is
configurado de esta manera, puede utilizar el -b opción para especificar el formato binario para la entrada
archivos de objeto que siguen esta opción en la línea de comando. Incluso cuando ld está configurado
para admitir formatos de objetos alternativos, normalmente no es necesario especificar esto, ya que ld
debe configurarse para esperar como formato de entrada predeterminado el formato más habitual en cada
maquina formato de entrada es una cadena de texto, el nombre de un formato particular admitido por
las bibliotecas BFD. (Puede enumerar los formatos binarios disponibles con objdump -i.)

Es posible que desee utilizar esta opción si está vinculando archivos con un binario inusual.
formato. También puedes usar -b para cambiar de formato explícitamente (al vincular archivos de objeto
de diferentes formatos), incluyendo -b formato de entrada antes de cada grupo de archivos de objeto
en un formato particular.

El formato predeterminado se toma de la variable de entorno "GNUTARGET".

También puede definir el formato de entrada desde un script, usando el comando "OBJETIVO";

-c Archivo de comando de resonancia magnética
--mri-script =Archivo de comando de resonancia magnética
Para compatibilidad con enlazadores producidos por resonancia magnética, ld acepta archivos de script escritos en un
lenguaje de comandos alternativo y restringido, descrito en los archivos de secuencia de comandos compatibles con MRI
sección de la documentación GNU ld. Introduzca archivos de secuencia de comandos de MRI con la opción -c; utilizar
ese -T opción para ejecutar scripts de enlazador escritos en el uso general ld scripting
idioma. Si MRI-cmdfile no existe, ld lo busca en los directorios especificados
por cualquiera -L .

-d
-corriente continua
-dp Estas tres opciones son equivalentes; múltiples formas son compatibles para la compatibilidad
con otros enlazadores. Asignan espacio a símbolos comunes incluso si una salida reubicable
se especifica el archivo (con -r). El comando de secuencia de comandos "FORCE_COMMON_ALLOCATION" tiene la
mismo efecto.

-e entrada
--entry =entrada
Utiliza entrada como el símbolo explícito para comenzar la ejecución de su programa, en lugar de
el punto de entrada predeterminado. Si no hay un símbolo nombrado entrada, el enlazador intentará
analizar gramaticalmente entrada como un número, y utilícelo como la dirección de entrada (el número será
interpretado en base 10; puede usar un líder 0x para base 16, o un líder 0 para base
8).

--excluir-libs lib,lib, ...
Especifica una lista de bibliotecas de archivos de las que los símbolos no deben ser automáticamente
exportado. Los nombres de las bibliotecas pueden estar delimitados por comas o dos puntos. Especificando
"--exclude-libs ALL" excluye los símbolos de todas las bibliotecas de archivos de la exportación automática.
Esta opción está disponible solo para el puerto de destino i386 PE del enlazador y para ELF
puertos objetivo. Para i386 PE, los símbolos enumerados explícitamente en un archivo .def siguen siendo
exportado, independientemente de esta opción. Para los puertos de destino ELF, los símbolos afectados por este
La opción se tratará como oculta.

-E
--exportación dinámica
Al crear un ejecutable vinculado dinámicamente, agregue todos los símbolos al símbolo dinámico
mesa. La tabla de smbolos dinmicos es el conjunto de smbolos que son visibles desde dinmica
objetos en tiempo de ejecución.

Si no usa esta opción, la tabla de símbolos dinámicos normalmente contendrá solo
aquellos símbolos a los que hace referencia algún objeto dinámico mencionado en el enlace.

Si usa "dlopen" para cargar un objeto dinámico que necesita hacer referencia a los símbolos
definido por el programa, en lugar de algún otro objeto dinámico, entonces probablemente
necesita utilizar esta opción al vincular el programa en sí.

También puede utilizar el script de la versión para controlar qué símbolos se deben agregar al
tabla de símbolos dinámicos si el formato de salida lo admite. Ver la descripción de
--version-script en @ref {VERSION}.

-EB Vincula objetos big-endian. Esto afecta el formato de salida predeterminado.

-EL Vincula objetos little-endian. Esto afecta el formato de salida predeterminado.

-f
--auxiliar nombre
Al crear un objeto compartido ELF, establezca el campo interno DT_AUXILIARY en el
nombre especificado. Esto le dice al enlazador dinámico que la tabla de símbolos de los compartidos
El objeto debe utilizarse como filtro auxiliar en la tabla de símbolos del objeto compartido.
nombre .

Si luego vincula un programa con este objeto de filtro, cuando ejecute el
programa, el enlazador dinámico verá el campo DT_AUXILIARY. Si el enlazador dinámico
resuelve cualquier símbolo del objeto de filtro, primero verificará si hay un
definición en el objeto compartido nombre . Si hay uno, se utilizará en lugar del
definición en el objeto de filtro. El objeto compartido nombre no necesita existir. Por lo tanto, la
objeto compartido nombre puede utilizarse para proporcionar una implementación alternativa de ciertos
funciones, tal vez para depuración o para rendimiento específico de la máquina.

Esta opción se puede especificar más de una vez. Se crearán las entradas DT_AUXILIARY
en el orden en que aparecen en la línea de comando.

-F nombre
--filtrar nombre
Al crear un objeto compartido ELF, establezca el campo DT_FILTER interno en el valor especificado
nombre. Esto le dice al enlazador dinámico que la tabla de símbolos del objeto compartido que
se está creando debe usarse como un filtro en la tabla de símbolos del objeto compartido
nombre .

Si luego vincula un programa con este objeto de filtro, cuando ejecute el
programa, el enlazador dinámico verá el campo DT_FILTER. El enlazador dinámico
resolver los símbolos de acuerdo con la tabla de símbolos del objeto de filtro como de costumbre, pero
en realidad se vinculará a las definiciones que se encuentran en el objeto compartido nombre . Por lo tanto, la
El objeto de filtro se puede utilizar para seleccionar un subconjunto de los símbolos proporcionados por el objeto.
nombre .

Algunos enlazadores más antiguos usaban el -F opción a lo largo de una cadena de herramientas de compilación para
especificar el formato de archivo de objeto para archivos de objeto de entrada y salida. El enlazador GNU
utiliza otros mecanismos para este fin: el -b, --formato, --oformato opciones, el
El comando "TARGET" en los scripts del enlazador y la variable de entorno "GNUTARGET". El GNU
enlazador ignorará el -F opción cuando no se crea un objeto compartido ELF.

-fini nombre
Al crear un objeto ejecutable o compartido ELF, llame a NAME cuando el ejecutable o
El objeto compartido se descarga estableciendo DT_FINI en la dirección de la función. Por
por defecto, el enlazador usa "_fini" como la función para llamar.

-g Ignorado. Se proporciona para compatibilidad con otras herramientas.

-Gpropuesta de
--gpsize =propuesta de
Establezca el tamaño máximo de los objetos que se optimizarán utilizando el registro GP para tamaño. Esto
solo es significativo para formatos de archivo de objeto como MIPS ECOFF que admite la colocación
objetos grandes y pequeños en diferentes secciones. Esto se ignora para otro objeto.
formatos de archivo.

-hnombre
-soname =nombre
Al crear un objeto compartido ELF, establezca el campo DT_SONAME interno en el valor especificado
nombre. Cuando un ejecutable está vinculado con un objeto compartido que tiene un campo DT_SONAME,
luego, cuando se ejecute el ejecutable, el enlazador dinámico intentará cargar el archivo compartido
objeto especificado por el campo DT_SONAME en lugar de usar el nombre de archivo dado a
el enlazador.

-i Realizar un enlace incremental (igual que la opción -r).

-en eso nombre
Al crear un objeto ejecutable o compartido ELF, llame a NAME cuando el ejecutable o
se carga el objeto compartido, estableciendo DT_INIT en la dirección de la función. Por
por defecto, el enlazador usa "_init" como la función para llamar.

-lArchivo
--library =Archivo
Agregar archivo de almacenamiento Archivo a la lista de archivos para vincular. Esta opción se puede utilizar en cualquier
numero de veces. ld buscará en su lista de rutas las apariciones de "libarchive.a " para
cada Archivo especificado.

En sistemas que admiten bibliotecas compartidas, ld también puede buscar bibliotecas con
extensiones distintas de ".a". Específicamente, en sistemas ELF y SunOS, ld buscará un
directorio de una biblioteca con una extensión de ".so" antes de buscar una con una
extensión de ".a". Por convención, una extensión ".so" indica una biblioteca compartida.

El vinculador buscará un archivo solo una vez, en la ubicación donde se especifica en
la línea de comando. Si el archivo define un símbolo que no estaba definido en algún objeto
que apareció antes del archivo en la línea de comando, el enlazador incluirá el
archivo (s) apropiado (s) del archivo. Sin embargo, un símbolo indefinido en un objeto
aparecer más tarde en la línea de comando no hará que el vinculador busque en el archivo
de nuevo.

Consulte las -( opción para forzar al vinculador a buscar archivos varias veces.

Puede enumerar el mismo archivo varias veces en la línea de comando.

Este tipo de búsqueda de archivos es estándar para enlazadores Unix. Sin embargo, si eres
usar ld en AIX, tenga en cuenta que es diferente del comportamiento del enlazador AIX.

-Ldirectorio de búsqueda
--library-path =directorio de búsqueda
Agregar ruta directorio de búsqueda a la lista de caminos que ld buscará bibliotecas de archivos y
ld scripts de control. Puede utilizar esta opción tantas veces como desee. Los directorios son
buscados en el orden en que se especifican en la línea de comando. Directorios
especificados en la línea de comando se buscan antes que los directorios predeterminados. Todos -L
las opciones se aplican a todos -l opciones, independientemente del orden en que aparezcan.

If directorio de búsqueda comienza con "=", entonces el "=" será reemplazado por el raíz del sistema prefijo,
ruta especificada cuando se configura el enlazador.

El conjunto predeterminado de rutas buscadas (sin especificarse con -L) depende de cual
modo de emulación ld está utilizando y, en algunos casos, también sobre cómo se configuró.

Las rutas también se pueden especificar en un script de enlace con el comando "SEARCH_DIR".
Los directorios especificados de esta manera se buscan en el punto en el que el script del enlazador
aparece en la línea de comando.

-memulación
Emular el emulación enlazador. Puede enumerar las emulaciones disponibles con el
--verboso or -V .

Si -m no se utiliza la opción, la emulación se toma del "LDEMULATION"
variable de entorno, si está definida.

De lo contrario, la emulación predeterminada depende de cómo se configuró el vinculador.

-M
--imprimir-mapa
Imprima un mapa de vínculos a la salida estándar. Un mapa de enlaces proporciona información sobre el
enlace, que incluye lo siguiente:

* Donde los archivos de objetos y los símbolos se asignan a la memoria.

* Cómo se asignan los símbolos comunes.

* Todos los miembros del archivo incluidos en el enlace, con una mención del símbolo que
hizo que se trajera el miembro del archivo.

-n
--nmagia
Desactive la alineación de páginas de las secciones y marque la salida como "NMAGIC" si es posible.

-N
--omágico
Configure las secciones de texto y datos para que se puedan leer y escribir. Además, no alinee la página
el segmento de datos y deshabilite la vinculación con bibliotecas compartidas. Si el formato de salida
admite números mágicos de estilo Unix, marque la salida como "OMAGIC". Nota: aunque un
La sección de texto que se puede escribir está permitida para los objetivos PE-COFF, no se ajusta a la
especificación de formato publicada por Microsoft.

--noomágico
Esta opción niega la mayoría de los efectos de la -N opción. Establece la sección de texto en
ser de solo lectura y obliga al segmento de datos a alinearse con la página. Nota: esta opción no
no habilitar la vinculación con bibliotecas compartidas. Usar -Bdinámico para esto.

-o salida
--salida =salida
Utiliza salida como el nombre del programa producido por ld; si esta opcion no es
especificado, el nombre fuera se utiliza de forma predeterminada. El comando de secuencia de comandos "SALIDA" también puede
especifique el nombre del archivo de salida.

-O nivel
If nivel es un valor numérico mayor que cero ld optimiza la salida. Esto podría
tomar mucho más tiempo y, por lo tanto, probablemente solo debería habilitarse para la
binario.

-q
--emit-relocs
Deje las secciones y los contenidos de reubicación en ejecutables completamente vinculados. Enlace de publicación
Las herramientas de análisis y optimización pueden necesitar esta información para realizar correctamente
modificaciones de ejecutables. Esto da como resultado ejecutables más grandes.

Actualmente, esta opción solo se admite en plataformas ELF.

-r
--relocalizable
Generar salida reubicable --- es decir, generar un archivo de salida que a su vez puede servir como
entrada a ld. A esto se le suele llamar parcialmente enlace. Como efecto secundario, en ambientes
que admiten números mágicos estándar de Unix, esta opción también establece el archivo de salida
número mágico a "OMAGIC". Si no se especifica esta opción, se crea un archivo absoluto.
producido. Al vincular programas C ++, esta opción no resolver referencias a
constructores; para hacer eso, usa -Ur.

Cuando un archivo de entrada no tiene el mismo formato que el archivo de salida, el enlace parcial
solo se admite si ese archivo de entrada no contiene ninguna reubicación. Diferente
los formatos de salida pueden tener más restricciones; por ejemplo, algunos formatos basados ​​en "a.out"
no admiten la vinculación parcial con archivos de entrada en otros formatos.

Esta opción hace lo mismo que -i.

-R nombre de archivo
--justo-símbolos =nombre de archivo
Lea los nombres de los símbolos y sus direcciones de nombre de archivo, pero no lo reubique ni incluya
en la salida. Esto permite que su archivo de salida se refiera simbólicamente a valores absolutos.
ubicaciones de memoria definidas en otros programas. Puede utilizar esta opción más de
una vez.

Para compatibilidad con otros enlazadores ELF, si el -R La opción va seguida de un directorio.
nombre, en lugar de un nombre de archivo, se trata como el -rruta .

-s
--despojar-todo
Omita toda la información de símbolos del archivo de salida.

-S
--strip-debug
Omita la información del símbolo del depurador (pero no todos los símbolos) del archivo de salida.

-t
--rastro
Imprima los nombres de los archivos de entrada como ld los procesa.

-T archivo de comandos
--script =archivo de comandos
Utiliza archivo de comandos como el script del enlazador. Este script reemplaza ldsecuencia de comandos del vinculador predeterminado
(en lugar de agregar más), entonces archivo de comando debe especificar todo lo necesario para
describir el archivo de salida. Si archivo de comandos no existe en el directorio actual,
"ld" lo busca en los directorios especificados por cualquier -L opciones. Múltiple
-T las opciones se acumulan.

-u símbolo
--undefined =símbolo
Fuerza símbolo para ser ingresado en el archivo de salida como un símbolo indefinido. Haciendo esto puede,
por ejemplo, desencadenar la vinculación de módulos adicionales de bibliotecas estándar. -u puede ser
repetido con diferentes argumentos de opción para ingresar símbolos indefinidos adicionales. Esta
La opción es equivalente al comando de secuencia de comandos del vinculador "EXTERN".

-Ur Para cualquier otro programa que no sea C ++, esta opción es equivalente a -r: genera
salida reubicable --- es decir, un archivo de salida que a su vez puede servir como entrada para ld. Cuando el
vincular programas C ++, -Ur resolver referencias a constructores, a diferencia de -r. Lo hace
no funciona para usar -Ur en archivos que estaban vinculados con -Ur; una vez el
La tabla de constructor ha sido construida, no se puede agregar. Usar -Ur solo para el ultimo
enlace parcial, y -r para los demás.

--único [=SECCIÓN]
Crea una sección de salida separada para cada sección de entrada que coincida SECCIÓNo si el
comodín opcional SECCIÓN Falta un argumento para cada sección de entrada huérfana. Un
La sección huérfana es una que no se menciona específicamente en un script del enlazador. Puedes usar esto
opción varias veces en la línea de comando; Evita la fusión normal de entrada
secciones con el mismo nombre, anulando las asignaciones de la sección de salida en un script del enlazador.

-v
--versión
-V Muestra el número de versión de ld. Las -V La opción también enumera las emulaciones admitidas.

-x
--descartar todo
Elimine todos los símbolos locales.

-X
--discard-locales
Elimine todos los símbolos locales temporales. Para la mayoría de los objetivos, se trata de todos los símbolos locales cuyo
los nombres comienzan con L.

-y símbolo
--trace-symbol =símbolo
Imprima el nombre de cada archivo vinculado en el que símbolo aparece. Esta opción puede darse
cualquier número de veces. En muchos sistemas es necesario anteponer un guión bajo.

Esta opción es útil cuando tiene un símbolo indefinido en su enlace pero no sabe
de donde viene la referencia.

-Y camino
Agregar camino a la ruta de búsqueda de la biblioteca predeterminada. Esta opción existe para Solaris
compatibilidad.

-z keyword
Las palabras clave reconocidas son:

combreloc
Combina varias secciones de reloc y las ordena para realizar una búsqueda dinámica de símbolos
almacenamiento en caché posible.

defs
No permite símbolos no definidos en archivos de objeto. Símbolos indefinidos en compartidos
las bibliotecas todavía están permitidas.

inicializar
Esta opción solo es significativa cuando se crea un objeto compartido. Marca el objeto
para que su inicialización en tiempo de ejecución ocurra antes de la inicialización en tiempo de ejecución de
cualquier otro objeto introducido en el proceso al mismo tiempo. Del mismo modo, el
La finalización en tiempo de ejecución del objeto se producirá después de la finalización en tiempo de ejecución de
cualquier otro objeto.

interponer
Marca el objeto que su tabla de símbolos interpone antes de todos los símbolos excepto el
ejecutable principal.

cargar fltr
Marca el objeto para que sus filtros se procesen inmediatamente en tiempo de ejecución.

Muldefs
Permite múltiples definiciones.

nocombreloc
Desactiva la combinación de múltiples secciones de reloc.

nocopyreloc
Desactiva la producción de reubicaciones de copia.

nodefaultlib
Marca el objeto que la búsqueda de dependencias de este objeto ignorará cualquier
rutas de búsqueda de bibliotecas predeterminadas.

Nodelete
Marca que el objeto no debe descargarse en tiempo de ejecución.

abrir la cabeza
Marca el objeto no disponible para "dlopen".

nódulo
Marca que el objeto no puede ser volcado por "dldump".

ahora mismo Al generar una biblioteca ejecutable o compartida, márquela para indicar la dinámica
enlazador para resolver todos los símbolos cuando se inicia el programa, o cuando se comparte
la biblioteca está vinculada al uso de dlopen, en lugar de diferir la resolución de la llamada a la función
hasta el punto en que se llama por primera vez a la función.

natural
Marca que el objeto puede contener $ ORIGIN.

Otras palabras clave se ignoran por compatibilidad con Solaris.

-( archivo -)
- grupo de inicio archivo - grupo final
El proceso de la archivo debe ser una lista de archivos de almacenamiento. Pueden ser archivos explícitos
nombres, o -l .

Los archivos especificados se buscan repetidamente hasta que no se encuentran nuevas referencias indefinidas.
creado. Normalmente, un archivo se busca solo una vez en el orden en que se especifica
en la línea de comando. Si se necesita un símbolo en ese archivo para resolver un indefinido
símbolo al que hace referencia un objeto en un archivo que aparece más adelante en la línea de comando,
el vinculador no podría resolver esa referencia. Al agrupar los archivos,
todos se buscarán repetidamente hasta que se resuelvan todas las referencias posibles.

El uso de esta opción tiene un costo de rendimiento significativo. Es mejor usarlo solo cuando
existen inevitables referencias circulares entre dos o más archivos.

--aceptar-arco-de-entrada-desconocido
--no-aceptar-entrada-desconocida-arch
Le dice al vinculador que acepte archivos de entrada cuya arquitectura no se pueda reconocer. los
la suposición es que el usuario sabe lo que está haciendo y deliberadamente quiere vincular
en estos archivos de entrada desconocidos. Este era el comportamiento predeterminado del vinculador, antes
versión 2.14. El comportamiento predeterminado desde la versión 2.14 en adelante es rechazar dicha entrada
archivos, por lo que --aceptar-arco-de-entrada-desconocido se ha agregado la opción para restaurar el antiguo
comportamiento.

--según sea necesario
--no-según sea necesario
Esta opción afecta a las etiquetas ELF DT_NEEDED para las bibliotecas dinámicas mencionadas en el comando
línea después de la --según sea necesario opción. Normalmente, el vinculador agregará una etiqueta DT_NEEDED para
cada biblioteca dinámica mencionada en la línea de comandos, independientemente de si la biblioteca
es realmente necesario. --según sea necesario hace que las etiquetas DT_NEEDED solo se emitan para
Bibliotecas que satisfacen alguna referencia de símbolo de objetos regulares que no está definida
en el punto en que se vinculó la biblioteca. --no-según sea necesario restaura el valor predeterminado
comportamiento.

--add-necesario
--no-agregar-necesario
Esta opción afecta el tratamiento de bibliotecas dinámicas de etiquetas ELF DT_NEEDED en
bibliotecas dinámicas mencionadas en la línea de comandos después de la --no-agregar-necesario .
Normalmente, el vinculador agregará una etiqueta DT_NEEDED para cada biblioteca dinámica de DT_NEEDED
las etiquetas. --no-agregar-necesario hace que las etiquetas DT_NEEDED nunca se emitan para esas bibliotecas
de las etiquetas DT_NEEDED. --add-necesario restaura el comportamiento predeterminado.

-afirmar keyword
Esta opción se ignora por compatibilidad con SunOS.

-Bdinámico
-dy
-llamada_compartida
Enlace contra bibliotecas dinámicas. Esto solo es significativo en plataformas para las que se compartió
las bibliotecas son compatibles. Esta opción suele ser la predeterminada en dichas plataformas. los
diferentes variantes de esta opción son para compatibilidad con varios sistemas. Puedes
use esta opción varias veces en la línea de comando: afecta la búsqueda de la biblioteca
-l opciones que lo siguen.

-Bgrupo
Establezca el indicador "DF_1_GROUP" en la entrada "DT_FLAGS_1" en la sección dinámica. Esta
hace que el enlazador en tiempo de ejecución maneje búsquedas en este objeto y sus dependencias sean
realizado solo dentro del grupo. --unresolved-symbols = report-all está implícito. Esta
La opción solo es significativa en las plataformas ELF que admiten bibliotecas compartidas.

-Bestático
-dn
-no_compartido
-estático
No se vincule con bibliotecas compartidas. Esto solo es significativo en plataformas para las que
Se admiten bibliotecas compartidas. Las diferentes variantes de esta opción son para
compatibilidad con varios sistemas. Puede utilizar esta opción varias veces en el
línea de comando: afecta la búsqueda de la biblioteca -l opciones que lo siguen. Esta
la opción también implica --unresolved-symbols = report-all.

-Bsimbólico
Al crear una biblioteca compartida, vincule referencias a símbolos globales a la definición
dentro de la biblioteca compartida, si la hubiera. Normalmente, es posible que un programa vinculado
contra una biblioteca compartida para anular la definición dentro de la biblioteca compartida. Esta
La opción solo es significativa en las plataformas ELF que admiten bibliotecas compartidas.

--comprobar-secciones
--no-check-secciones
Pregunta el enlazador no para comprobar las direcciones de sección después de haber sido asignadas para ver si
hay superposiciones. Normalmente, el enlazador realizará esta comprobación y, si encuentra alguna
se superpone producirá mensajes de error adecuados. El enlazador conoce y
hace concesiones para las secciones en superposiciones. El comportamiento predeterminado se puede restaurar
usando el interruptor de línea de comando --comprobar-secciones.

--cref
Genere una tabla de referencia cruzada. Si se genera un archivo de mapa del vinculador, la cruz
La tabla de referencia se imprime en el archivo de mapa. De lo contrario, se imprime en el estándar
salida.

El formato de la tabla es intencionalmente simple, de modo que pueda ser fácilmente procesado por
un guión si es necesario. Los símbolos se imprimen ordenados por nombre. Para cada símbolo,
se proporciona una lista de nombres de archivos. Si el símbolo está definido, el primer archivo de la lista es el
ubicación de la definición. Los archivos restantes contienen referencias al símbolo.

--no-define-común
Esta opción inhibe la asignación de direcciones a símbolos comunes. La secuencia de comandos
El comando "INHIBIT_COMMON_ALLOCATION" tiene el mismo efecto.

El proceso de la --no-define-común La opción permite desvincular la decisión de asignar direcciones a
Símbolos comunes de la elección del tipo de archivo de salida; de lo contrario, no reubicable
El tipo de salida fuerza la asignación de direcciones a símbolos comunes. Utilizando --no-define-común
permite asignar símbolos comunes a los que se hace referencia desde una biblioteca compartida
direcciones solo en el programa principal. Esto elimina el espacio duplicado no utilizado en el
biblioteca compartida, y también evita cualquier posible confusión sobre la resolución de un error
duplicar cuando hay muchos módulos dinámicos con rutas de búsqueda especializadas para
resolución de símbolo de tiempo de ejecución.

--defsym símbolo=expresión
Cree un símbolo global en el archivo de salida, que contenga la dirección absoluta dada por
expresión. Puede utilizar esta opción tantas veces como sea necesario para definir múltiples
símbolos en la línea de comando. Se admite una forma limitada de aritmética para
expresión en este contexto: puede dar una constante hexadecimal o el nombre de una
símbolo existente, o use "+" y "-" para sumar o restar constantes hexadecimales o
símbolos. Si necesita expresiones más elaboradas, considere usar el comando del vinculador
lenguaje de un guión. Nota: no debe haber espacios en blanco entre símbolo, la
signo igual (``=''), y expresión.

--demangle [=papa]
--no-exigir
Estas opciones controlan si exigir nombres de símbolo en mensajes de error y otros
producción. Cuando se le dice al enlazador que demangle, intenta presentar los nombres de los símbolos en un
moda legible: elimina los guiones bajos iniciales si son utilizados por el archivo de objeto
formato y convierte los nombres de símbolos alterados de C ++ en nombres legibles por el usuario. Diferente
Los compiladores tienen diferentes estilos de alteración. El argumento de estilo de demanda opcional puede
ser utilizado para elegir un estilo de demanda apropiado para su compilador. El enlazador
demangle de forma predeterminada a menos que la variable de entorno COLLECT_NO_DEMANGLE Está establecido. Estas
Las opciones se pueden usar para anular el predeterminado.

- enlazador dinámico presentar
Establezca el nombre del vinculador dinámico. Esto solo es significativo cuando se genera
ejecutables ELF vinculados dinámicamente. El enlazador dinámico predeterminado normalmente es correcto;
no use esto a menos que sepa lo que está haciendo.

- advertencias fatales
Trate todas las advertencias como errores.

--force-exe-sufijo
Asegúrese de que un archivo de salida tenga un sufijo .exe.

Si un archivo de salida completamente vinculado construido con éxito no tiene un ".exe" o ".dll"
sufijo, esta opción obliga al vinculador a copiar el archivo de salida a uno del mismo nombre
con un sufijo ".exe". Esta opción es útil cuando se utilizan archivos MAKE Unix sin modificar en un
Host de Microsoft Windows, ya que algunas versiones de Windows no ejecutarán una imagen a menos que
termina en un sufijo ".exe".

--no-gc-secciones
--gc-secciones
Habilite la recolección de basura de las secciones de entrada no utilizadas. Se ignora en los objetivos que no
no es compatible con esta opción. Esta opción no es compatible con -r. El comportamiento predeterminado
(de no realizar esta recolección de basura) se puede restaurar especificando
--no-gc-secciones en la línea de comando.

--ayuda
Imprima un resumen de las opciones de la línea de comandos en la salida estándar y salga.

--objetivo-ayuda
Imprima un resumen de todas las opciones específicas del objetivo en la salida estándar y salga.

-Mapa archivo de mapa
Imprima un mapa de vínculos al archivo archivo de mapa. Ver la descripción del -M opción, arriba.

--no-guardar-memoria
ld normalmente optimiza la velocidad sobre el uso de la memoria almacenando en caché las tablas de símbolos de
archivos de entrada en la memoria. Esta opción dice ld en su lugar, optimizar para el uso de la memoria, por
releer las tablas de símbolos según sea necesario. Esto puede ser necesario si ld se queda sin
espacio de memoria al vincular un ejecutable grande.

--no indefinido
-z defs
Informar referencias de símbolos no resueltas de archivos de objetos normales. Esto se hace incluso si
el vinculador está creando una biblioteca compartida no simbólica. El interruptor
- [no-] allow-shlib-undefined controla el comportamiento de los informes no resueltos
referencias encontradas en bibliotecas compartidas que se vinculan en.

--permitir-definición-múltiple
-z Muldefs
Normalmente, cuando un símbolo se define varias veces, el vinculador informará un error fatal
error. Estas opciones permiten múltiples definiciones y se utilizará la primera definición.

--permitir-shlib-undefined
--no-allow-shlib-indefinido
Permite (predeterminado) o no permite símbolos no definidos en bibliotecas compartidas. Este interruptor
es parecido a --no indefinido excepto que determina el comportamiento cuando el
Los símbolos indefinidos se encuentran en una biblioteca compartida en lugar de en un archivo de objeto normal. Lo hace
no afecta la forma en que se manejan los símbolos no definidos en los archivos de objetos normales.

La razón que --permitir-shlib-undefined es el valor predeterminado es que la biblioteca compartida
que se especifica en el momento del enlace puede no ser el mismo que el que está disponible en la carga
tiempo, por lo que los símbolos podrían resolverse en el momento de la carga. Además hay algunos
sistemas, (por ejemplo, BeOS) donde los símbolos no definidos en bibliotecas compartidas es normal. (El kernel
los parchea en el momento de la carga para seleccionar qué función es la más apropiada para la corriente
arquitectura. Esto se utiliza, por ejemplo, para seleccionar dinámicamente un conjunto de memorias apropiado.
función). Aparentemente, también es normal que las bibliotecas compartidas de HPPA tengan valores indefinidos.
símbolos.

--no-versión-indefinida
Normalmente, cuando un símbolo tiene una versión indefinida, el vinculador lo ignorará. Esta
La opción no permite los símbolos con una versión indefinida y se emitirá un error fatal
preferiblemente.

--por defecto-symver
Cree y utilice una versión de símbolo predeterminada (el soname) para los símbolos exportados no versionados.

- predeterminado-importado-symver
Cree y use una versión de símbolo predeterminada (el soname) para los símbolos importados no versionados.

--no-advertir-desajuste
Normalmente ld dará un error si intenta vincular juntos archivos de entrada que son
no coinciden por alguna razón, tal vez porque se han compilado para diferentes
procesadores o para diferentes endianitudes. Esta opción dice ld que debería
Permitir silenciosamente tales posibles errores. Esta opción solo debe usarse con cuidado, en
casos en los que ha realizado alguna acción especial que garantiza que los errores del enlazador sean
inadecuado.

--no-archivo-completo
Desactive el efecto del --archivo completo opción para archivos de almacenamiento posteriores.

--noinhibit-ejecutivo
Conserve el archivo de salida ejecutable siempre que aún se pueda utilizar. Normalmente, el enlazador
no producirá un archivo de salida si encuentra errores durante el proceso de enlace; eso
sale sin escribir un archivo de salida cuando emite cualquier error.

-nostdlib
Solo busque directorios de bibliotecas especificados explícitamente en la línea de comandos. Biblioteca
directorios especificados en los scripts del enlazador (incluidos los scripts del enlazador especificados en el
línea de comando) se ignoran.

--oformato formato de salida
ld puede configurarse para admitir más de un tipo de archivo de objeto. Si tu ld is
configurado de esta manera, puede utilizar el --oformato opción para especificar el formato binario para
el archivo de objeto de salida. Incluso cuando ld está configurado para admitir objetos alternativos
formatos, normalmente no es necesario especificar esto, ya que ld debe configurarse para producir
como formato de salida predeterminado, el formato más habitual en cada máquina. formato de salida es un
cadena de texto, el nombre de un formato particular admitido por las bibliotecas BFD. (Usted puede
enumere los formatos binarios disponibles con objdump -i.) El comando de secuencia de comandos
"OUTPUT_FORMAT" también puede especificar el formato de salida, pero esta opción lo anula.

-tarta
--pic-ejecutable
Cree un ejecutable independiente de la posición. Esto actualmente solo es compatible con ELF
plataformas. Los ejecutables independientes de la posición son similares a las bibliotecas compartidas en que
son reubicados por el enlazador dinámico a la dirección virtual que el sistema operativo elige
ellos (que pueden variar entre invocaciones). Como ejecutables normales vinculados dinámicamente
pueden ejecutarse y los símbolos definidos en el ejecutable no pueden ser anulados por
bibliotecas compartidas.

-qmagia
Esta opción se ignora por compatibilidad con Linux.

-Qy Esta opción se ignora por compatibilidad con SVR4.

--relajarse
Una opción con efectos dependientes de la máquina. Esta opción solo es compatible con algunos
objetivos.

En algunas plataformas, el --relajarse La opción realiza optimizaciones globales que se convierten
posible cuando el enlazador resuelve el direccionamiento en el programa, como relajar la dirección
modos y sintetizar nuevas instrucciones en el archivo de objeto de salida.

En algunas plataformas, estas optimizaciones globales de tiempo de enlace pueden hacer una depuración simbólica de
el ejecutable resultante imposible. Este es el caso de Matsushita.
Familia de procesadores MN10200 y MN10300.

En plataformas donde esto no es compatible, --relajarse se acepta, pero se ignora.

--retain-símbolos-archivo nombre de archivo
Conservar , solamente los símbolos enumerados en el archivo nombre de archivo, descartando todos los demás. nombre de archivo
es simplemente un archivo plano, con un nombre de símbolo por línea. Esta opción es especialmente
útil en entornos (como VxWorks) donde una gran tabla de símbolos globales es
acumulado gradualmente, para conservar la memoria en tiempo de ejecución.

--retain-símbolos-archivono descartar los símbolos indefinidos, o los símbolos necesarios para
reubicaciones.

Solo puede especificar --retain-símbolos-archivo una vez en la línea de comando. Anula -s
y -S.

-rruta dir
Agregue un directorio a la ruta de búsqueda de la biblioteca en tiempo de ejecución. Esto se usa al vincular un ELF
ejecutable con objetos compartidos. Todos -rruta los argumentos se concatenan y pasan a
el vinculador en tiempo de ejecución, que los usa para localizar objetos compartidos en tiempo de ejecución. los -rruta
La opción también se utiliza al localizar objetos compartidos que son necesarios para los objetos compartidos.
incluido explícitamente en el enlace; ver la descripción del -rpath-enlace opción. Si
-rruta no se utiliza al vincular un ejecutable ELF, el contenido del entorno
La variable "LD_RUN_PATH" se utilizará si está definida.

El proceso de la -rruta La opción también se puede utilizar en SunOS. De forma predeterminada, en SunOS, el vinculador
formar un parche de búsqueda en tiempo de ejecución de todos los -L opciones que se le da. Si un -rruta opción
se utiliza, la ruta de búsqueda en tiempo de ejecución se formará exclusivamente utilizando el -rruta opciones,
ignorando el -L opciones. Esto puede ser útil cuando se usa gcc, que agrega muchos -L
opciones que pueden estar en sistemas de archivos montados en NFS.

Para compatibilidad con otros enlazadores ELF, si el -R La opción va seguida de un directorio.
nombre, en lugar de un nombre de archivo, se trata como el -rruta .

-rpath-enlace DIR
Al usar ELF o SunOS, una biblioteca compartida puede requerir otra. Esto sucede cuando un
El enlace "ld -shared" incluye una biblioteca compartida como uno de los archivos de entrada.

Cuando el vinculador encuentra tal dependencia al hacer un no compartido, no reubicable
enlace, intentará localizar automáticamente la biblioteca compartida requerida e incluirla
en el enlace, si no se incluye explícitamente. En tal caso, el -rpath-enlace opción
especifica el primer conjunto de directorios para buscar. los -rpath-enlace la opción puede especificar
una secuencia de nombres de directorio, ya sea especificando una lista de nombres separados por
dos puntos, o apareciendo varias veces.

Esta opción debe usarse con precaución ya que anula la ruta de búsqueda que puede tener
se ha compilado en una biblioteca compartida. En tal caso, es posible utilizar
involuntariamente una ruta de búsqueda diferente a la que haría el enlazador en tiempo de ejecución.

El vinculador utiliza las siguientes rutas de búsqueda para localizar las bibliotecas compartidas necesarias.

1. Cualquier directorio especificado por -rpath-enlace .

2. Cualquier directorio especificado por -rruta opciones. La diferencia entre -rruta y
-rpath-enlace es que los directorios especificados por -rruta las opciones están incluidas en el
ejecutable y utilizado en tiempo de ejecución, mientras que el -rpath-enlace la opción solo es efectiva
en el momento del enlace. Es solo para el enlazador nativo.

3. En un sistema ELF, si el -rruta y las opciones "rpath-link" no se utilizaron, busque el
contenido de la variable de entorno "LD_RUN_PATH". Es para el enlazador nativo.
solamente.

4. En SunOS, si el -rruta no se utilizó la opción, busque en los directorios especificados
usar -L .

5. Para un enlazador nativo, el contenido de la variable de entorno "LD_LIBRARY_PATH".

6. Para un vinculador ELF nativo, los directorios en "DT_RUNPATH" o "DT_RPATH" de un
biblioteca se buscan las bibliotecas compartidas que necesita. Las entradas "DT_RPATH" son
se ignora si existen entradas "DT_RUNPATH".

7. Los directorios predeterminados, normalmente / lib y / Usr / lib.

8. Para un vinculador nativo en un sistema ELF, si el archivo /etc/ld.so.conf existe, la lista
de directorios encontrados en ese archivo.

Si no se encuentra la biblioteca compartida requerida, el vinculador emitirá una advertencia y
continúe con el enlace.

-compartido
-Bcompartible
Crea una biblioteca compartida. Esto actualmente solo es compatible con ELF, XCOFF y SunOS
plataformas. En SunOS, el vinculador creará automáticamente una biblioteca compartida si el -e
La opción no se utiliza y hay símbolos indefinidos en el enlace.

- ordenado común
Esta opción dice ld para ordenar los símbolos comunes por tamaño cuando los coloca en el
secciones de salida apropiadas. Primero vienen todos los símbolos de un byte, luego los dos
byte, luego los cuatro bytes y luego todo lo demás. Esto es para prevenir brechas
entre símbolos debido a restricciones de alineación.

--ordenar-sección nombre
Esta opción aplicará "SORT_BY_NAME" a todos los patrones de sección comodín en el vinculador.
guión.

--ordenar-sección alineación
Esta opción aplicará "SORT_BY_ALIGNMENT" a todos los patrones de sección comodín en el
secuencia de comandos del enlazador.

- dividir por archivo [tamaño]
Similar a - dividido por reloc pero crea una nueva sección de salida para cada archivo de entrada cuando
tamaño y sea alcanzado. tamaño el tamaño predeterminado es 1 si no se proporciona.

- dividido por reloc [contar]
Intenta crear secciones adicionales en el archivo de salida para que ninguna sección de salida en
el archivo contiene más de contar reubicaciones. Esto es útil cuando se generan grandes
archivos reubicables para descargar en ciertos núcleos en tiempo real con el objeto COFF
formato de archivo; dado que COFF no puede representar más de 65535 reubicaciones en una sola
sección. Tenga en cuenta que esto no funcionará con formatos de archivo de objeto que no
admite secciones arbitrarias. El vinculador no dividirá las secciones de entrada individuales
para la redistribución, por lo que si una sola sección de entrada contiene más de contar reubicaciones
una sección de salida contendrá esa cantidad de reubicaciones. contar por defecto a un valor de
32768.

- estadísticas
Calcular y mostrar estadísticas sobre el funcionamiento del enlazador, como la ejecución
tiempo y uso de memoria.

--sysroot =directorio
Utiliza directorio como la ubicación del sysroot, anulando el valor predeterminado de configure-time.
Esta opción solo es compatible con enlazadores que se configuraron usando --con-sysroot.

--formato-tradicional
Para algunos objetivos, la salida de ld es diferente en algunos aspectos de la salida de algunos
enlazador existente. Este cambio solicita ld para utilizar el formato tradicional en su lugar.

Por ejemplo, en SunOS, ld combina entradas duplicadas en la tabla de cadenas de símbolos. Esta
puede reducir el tamaño de un archivo de salida con información de depuración completa en más de 30
por ciento. Desafortunadamente, el programa SunOS "dbx" no puede leer el programa resultante.
("gdb" no tiene problemas). los --formato-tradicional interruptor dice ld no combinar
entradas duplicadas.

--sección-inicio Nombre de la sección=org
Busque una sección en el archivo de salida en la dirección absoluta dada por org. Puedes utilizar
esta opción tantas veces como sea necesario para ubicar múltiples secciones en el comando
la línea. org debe ser un solo entero hexadecimal; para compatibilidad con otros enlazadores,
puede omitir el líder 0x generalmente asociado con valores hexadecimales. Nota: ahí
no debe haber espacios en blanco entre Nombre de la sección, el signo igual (``=''), y org.

-Tbs org
-Tdatos org
-Ttexto org
Igual que --section-start, con ".bss", ".data" o ".text" como Nombre de la sección.

--unresolved-symbols =Método
Determine cómo manejar los símbolos no resueltos. Hay cuatro valores posibles para
Método:

ignora todo
No informe ningún símbolo sin resolver.

informar-todo
Informe todos los símbolos sin resolver. Este es el predeterminado.

ignorar-en-archivos-objeto
Informar los símbolos no resueltos que se encuentran en bibliotecas compartidas, pero ignórelos
si provienen de archivos de objetos normales.

ignorar en bibliotecas compartidas
Informe los símbolos no resueltos que provienen de archivos de objetos normales, pero ignórelos si
proceden de bibliotecas compartidas. Esto puede resultar útil al crear una dinámica
binario y se sabe que todas las bibliotecas compartidas a las que debería hacer referencia
se incluyen en la línea de comandos del vinculador.

El comportamiento de las bibliotecas compartidas por sí mismas también puede ser controlado por el
- [no-] allow-shlib-undefined .

Normalmente, el vinculador generará un mensaje de error para cada símbolo no resuelto informado
pero la opcion --advertir-símbolos-no resueltos puede cambiar esto a una advertencia.

--dll-verbose
--verboso
Muestra el número de versión de ld y enumere las emulaciones de enlazador admitidas. Monitor
qué archivos de entrada se pueden y no se pueden abrir. Mostrar la secuencia de comandos del vinculador que está utilizando
el enlazador.

--version-script =versión-scriptfile
Especifique el nombre de un script de versión para el vinculador. Esto se usa normalmente cuando
crear bibliotecas compartidas para especificar información adicional sobre la versión
jerarquía de la biblioteca que se está creando. Esta opción solo es significativa en ELF
plataformas que admiten bibliotecas compartidas.

- advertencia-común
Advertir cuando un símbolo común se combina con otro símbolo común o con un símbolo
definición. Los enlazadores Unix permiten esta práctica algo descuidada, pero los enlazadores en algunos
otros sistemas operativos no lo hacen. Esta opción le permite encontrar problemas potenciales
de combinar símbolos globales. Desafortunadamente, algunas bibliotecas de C usan esta práctica, por lo que
es posible que reciba algunas advertencias sobre símbolos en las bibliotecas, así como en sus programas.

Hay tres tipos de símbolos globales, ilustrados aquí con ejemplos de C:

int i = 1;
Una definición, que va en la sección de datos inicializados del archivo de salida.

externo int i;
Una referencia indefinida, que no asigna espacio. Debe haber un
definición o un símbolo común para la variable en algún lugar.

int i;
Un símbolo común. Si solo hay (uno o más) símbolos comunes para una variable,
va en el área de datos no inicializados del archivo de salida. El enlazador se fusiona
múltiples símbolos comunes para la misma variable en un solo símbolo. Si ellos estan
de diferentes tamaños, elige el tamaño más grande. El enlazador se convierte en un símbolo común
en una declaración, si hay una definición de la misma variable.

El proceso de la - advertencia-común La opción puede producir cinco tipos de advertencias. Cada advertencia consta de
un par de líneas: la primera describe el símbolo que acaba de encontrar, y la segunda
describe el símbolo anterior encontrado con el mismo nombre. Uno o ambos de los dos
los símbolos serán un símbolo común.

1. Convertir un símbolo común en una referencia, porque ya existe una definición
para el símbolo.

( ): advertencia: común de ` '
anulado por definición
( ): advertencia: definido aquí

2. Convertir un símbolo común en una referencia, porque una definición posterior del
se encuentra el símbolo. Este es el mismo que el caso anterior, excepto que el
los símbolos se encuentran en un orden diferente.

( ): advertencia: definición de ` '
primordial común
( ): advertencia: lo común está aquí

3. Fusionar un símbolo común con un símbolo común anterior del mismo tamaño.

( ): advertencia: múltiples comunes
de '
( ): advertencia: el común anterior está aquí

4. Fusionar un símbolo común con un símbolo común anterior más grande.

( ): advertencia: común de ` '
anulado por un común más grande
( ): advertencia: el común más grande está aquí

5. Fusionar un símbolo común con un símbolo común más pequeño anterior. Esto es lo mismo
como en el caso anterior, excepto que los símbolos se encuentran en un
orden.

( ): advertencia: común de ` '
anulando el común más pequeño
( ): advertencia: el común más pequeño está aquí

--advertir-constructores
Advertir si se utilizan constructores globales. Esto solo es útil para algunos archivos de objetos
formatos. Para formatos como COFF o ELF, el enlazador no puede detectar el uso de global
constructores.

--advertir-multiple-gp
Advierte si se requieren varios valores de puntero global en el archivo de salida. Esto es sólo
significativo para ciertos procesadores, como el Alpha. Específicamente, algunos procesadores
poner constantes de valores grandes en una sección especial. Un registro especial (el global
puntero) apunta a la mitad de esta sección, de modo que las constantes se pueden cargar
eficientemente a través de un modo de direccionamiento relativo de registro base. Dado que el desplazamiento en base-
El modo relativo de registro es fijo y relativamente pequeño (por ejemplo, 16 bits), esto limita la
tamaño máximo de la piscina constante. Por tanto, en programas grandes, a menudo es necesario
utilizar varios valores de puntero global para poder abordar todos los posibles
constantes. Esta opción hace que se emita una advertencia siempre que ocurra este caso.

- advertir una vez
Solo advertir una vez por cada símbolo indefinido, en lugar de una vez por módulo que se refiere a
él.

--advertir-sección-alinear
Advierte si la dirección de una sección de salida se cambia debido a la alineación. Típicamente,
la alineación será establecida por una sección de entrada. La dirección solo se cambiará si
no especificado explícitamente; es decir, si el comando "SECCIONES" no especifica un inicio
dirección de la sección.

--warn-shared-textrel
Advierte si el vinculador agrega un DT_TEXTREL a un objeto compartido.

--advertir-símbolos-no resueltos
Si el enlazador va a reportar un símbolo sin resolver (vea la opción
--símbolos-no resueltos) normalmente generará un error. Esta opción lo hace
generar una advertencia en su lugar.

--error-no resuelto-símbolos
Esto restaura el comportamiento predeterminado del vinculador de generar errores cuando informa
símbolos sin resolver.

--archivo completo
Para cada archivo mencionado en la línea de comando después de la --archivo completo opción,
incluir cada archivo de objeto en el archivo en el enlace, en lugar de buscar el
archivo para los archivos objeto requeridos. Esto se usa normalmente para convertir un archivo
en una biblioteca compartida, lo que obliga a que todos los objetos se incluyan en la biblioteca compartida resultante
Biblioteca. Esta opción se puede utilizar más de una vez.

Dos notas al usar esta opción de gcc: Primero, gcc no conoce esta opción,
entonces tienes que usar -Wl, -whole-archive. Segundo, no olvides usar
-Wl, -no-archivo-completo después de su lista de archivos, porque gcc agregará su propia lista
de archivos a su enlace y es posible que no desee que esta bandera los afecte también.

--envoltura símbolo
Utilice una función de envoltura para símbolo. Cualquier referencia indefinida a símbolo se resolverá
envolver_símbolo". Cualquier referencia indefinida a "__real_símbolo" será resuelto a
símbolo.

Esto se puede utilizar para proporcionar un contenedor para una función del sistema. La función de envoltura
debería llamarse "__wrap_símbolo". Si desea llamar a la función del sistema, debe
llamar "__real_símbolo".

Aquí hay un ejemplo trivial:

nulo *
__wrap_malloc (tamaño_t c)
{
printf ("malloc llamado con% zu \ n", c);
devuelve __real_malloc (c);
}

Si vincula otro código con este archivo usando --envoltura malloc, luego todas las llamadas a "malloc"
llamará a la función "__wrap_malloc" en su lugar. La llamada a "__real_malloc" en
"__wrap_malloc" llamará a la función "malloc" real.

Es posible que desee proporcionar una función "__real_malloc" también, de modo que los enlaces sin el
--envoltura la opción tendrá éxito. Si hace esto, no debe poner la definición de
"__real_malloc" en el mismo archivo que "__wrap_malloc"; si lo hace, el ensamblador puede
resuelva la llamada antes de que el enlazador tenga la oportunidad de ajustarla a "malloc".

--habilitar-nuevas-etiquetas
--disable-new-dtags
Este vinculador puede crear las nuevas etiquetas dinámicas en ELF. Pero los sistemas ELF más antiguos pueden no
entiéndelos. Si especifica --habilitar-nuevas-etiquetas, se crearán las etiquetas dinámicas
según sea necesario. Si especifica --disable-new-dtags, no se crearán nuevas etiquetas dinámicas.
De forma predeterminada, las nuevas etiquetas dinámicas no se crean. Tenga en cuenta que esas opciones son solo
disponible para sistemas ELF.

--hash-size =número
Establezca el tamaño predeterminado de las tablas hash del vinculador en un número primo cercano a número.
Aumentar este valor puede reducir el tiempo que tarda el enlazador en realizar su
tareas, a expensas de aumentar los requisitos de memoria del enlazador. similar
la reducción de este valor puede reducir los requisitos de memoria a expensas de la velocidad.

--reducir los gastos generales de memoria
Esta opción reduce los requisitos de memoria en tiempo de ejecución de ld, a expensas de vincular
velocidad. Esto se introdujo para seleccionar el antiguo algoritmo O (n ^ 2) para el archivo de mapa de enlaces
generación, en lugar del nuevo algoritmo O (n) que utiliza aproximadamente un 40% más de memoria para
almacenamiento de símbolos.

Otro efecto del conmutador es establecer el tamaño predeterminado de la tabla hash en 1021, que
nuevamente ahorra memoria a costa de alargar el tiempo de ejecución del enlazador. Ésto no está hecho
sin embargo si el - tamaño hash se ha utilizado el interruptor.

El proceso de la --reducir los gastos generales de memoria El interruptor también se puede utilizar para habilitar otras compensaciones en
futuras versiones del enlazador.

El enlazador i386 PE admite la -compartido opción, que hace que la salida sea una
biblioteca vinculada dinámicamente (DLL) en lugar de un ejecutable normal. Deberías nombrar el
salida "* .dll" cuando utiliza esta opción. Además, el enlazador es totalmente compatible con
archivos estándar "* .def", que se pueden especificar en la línea de comando del vinculador como un objeto
archivo (de hecho, debe preceder a los archivos de los que exporta símbolos, para asegurarse de que
vinculado, como un archivo de objeto normal).

Además de las opciones comunes a todos los objetivos, el enlazador i386 PE admite
opciones de línea de comandos que son específicas del destino i386 PE. Opciones que toman valores
pueden estar separados de sus valores por un espacio o un signo igual.

--add-stdcall-alias
Si se dan, los símbolos con un sufijo de llamada estándar (@nn) se exportarán tal cual y también con el
sufijo despojado. [Esta opción es específica del puerto de destino i386 PE del enlazador]

- archivo base presentar
Utiliza presentar como el nombre de un archivo en el que guardar las direcciones base de todos los
reubicaciones necesarias para generar DLL con dlltool. [Este es un i386 PE específico
opción]

--dll
Cree una DLL en lugar de un ejecutable normal. También puede utilizar -compartido o especificar un
"BIBLIOTECA" en un archivo ".def" dado. [Esta opción es específica para el i386 PE orientado
puerto del enlazador]

--enable-stdcall-reparación
--disable-stdcall-fixup
Si el enlace encuentra un símbolo que no puede resolver, intentará hacer `` fuzzy
vinculación '' buscando otro símbolo definido que difiera solo en el formato de la
nombre del símbolo (cdecl vs stdcall) y resolverá ese símbolo vinculándolo a la coincidencia.
Por ejemplo, el símbolo indefinido "_foo" podría estar vinculado a la función "_foo @ 12", o
el símbolo indefinido "_bar @ 16" puede estar vinculado a la función "_bar". Cuando el
El enlazador hace esto, imprime una advertencia, ya que normalmente no debería haber podido enlazar,
pero a veces las bibliotecas de importación generadas a partir de dlls de terceros pueden necesitar esta función
para ser utilizable. Si especifica --enable-stdcall-reparación, esta función está completamente habilitada
y las advertencias no se imprimen. Si especifica --disable-stdcall-fixup, esta característica es
desactivado y esas discrepancias se consideran errores. [Esta opción es específica para
el puerto de destino i386 PE del enlazador]

--exportar-todos-los-símbolos
Si se da, todos los símbolos globales en los objetos usados ​​para construir una DLL serán exportados por
la DLL. Tenga en cuenta que este es el valor predeterminado si de lo contrario no se exportaría
símbolos. Cuando los símbolos se exportan explícitamente a través de archivos DEF o se exportan implícitamente
a través de atributos de función, el valor predeterminado es no exportar nada más a menos que esta opción
es dado. Tenga en cuenta que los símbolos "DllMain @ 12", "DllEntryPoint @ 0",
"DllMainCRTStartup @ 12" y "impure_ptr" no se exportarán automáticamente. También,
los símbolos importados de otras DLL no se volverán a exportar, ni los símbolos que especifiquen
El diseño interno de la DLL, como los que comienzan con "_head_" o terminan con
"_iname". Además, no hay símbolos de "libgcc", "libstd ++", "libmingw32" o
Se exportará "crtX.o". Símbolos cuyos nombres comienzan con "__rtti_" o "__builtin_"
no se exportará, para ayudar con las DLL de C ++. Finalmente, hay una extensa lista de
símbolos cygwin-private que no se exportan (obviamente, esto se aplica cuando se construye
DLL para objetivos cygwin). Estas exclusiones de cygwin son: "_cygwin_dll_entry @ 12",
"_cygwin_crt0_common @ 8", "_cygwin_noncygwin_dll_entry @ 12", "_fmode", "_impure_ptr",
"cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2",
"cygwin_premain3" y "environment". [Esta opción es específica para el i386 PE orientado
puerto del enlazador]

--excluir-símbolos símbolo,símbolo, ...
Especifica una lista de símbolos que no deben exportarse automáticamente. El símbolo
los nombres pueden estar delimitados por comas o dos puntos. [Esta opción es específica del i386 PE
puerto de destino del enlazador]

- alineación de archivos
Especifique la alineación del archivo. Las secciones del archivo siempre comenzarán en las compensaciones del archivo.
que son múltiplos de este número. Este valor predeterminado es 512. [Esta opción es específica
al puerto de destino i386 PE del enlazador]

--montón reserva
--montón reserva,cometer
Especifique la cantidad de memoria para reservar (y, opcionalmente, confirmar) que se utilizará como montón para
este programa. El valor predeterminado es 1 Mb reservado, 4K comprometido. [Esta opción es específica para
el puerto de destino i386 PE del enlazador]

--imagen-base propuesta de
Utiliza propuesta de como la dirección base de su programa o dll. Este es el recuerdo más bajo
ubicación que se utilizará cuando se cargue su programa o dll. Para reducir la necesidad de
reubicar y mejorar el rendimiento de sus dlls, cada uno debe tener una dirección base única
y no se superponga a ningún otro dll. El valor predeterminado es 0x400000 para ejecutables y
0x10000000 para dlls. [Esta opción es específica para el puerto de destino i386 PE del
enlazador]

- matanza
Si se dan, los sufijos de stdcall (@nn) se eliminarán de los símbolos antes de que sean
exportado. [Esta opción es específica del puerto de destino i386 PE del enlazador]

--consciente de direcciones grandes
Si se da, el bit apropiado en el campo `` Características '' del encabezado COFF es
configurado para indicar que este ejecutable admite direcciones virtuales mayores de 2
gigabytes. Esto debe usarse junto con / 3GB o / USERVA =propuesta de megabytes
en la sección `` [sistemas operativos] '' de BOOT.INI. De lo contrario, este poco
no tiene efecto. [Esta opción es específica para los puertos de destino PE del enlazador]

--major-imagen-versión propuesta de
Establece el número principal de la `` versión de la imagen ''. El valor predeterminado es 1. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

--major-versión-os propuesta de
Establece el número principal de la `` versión del sistema operativo ''. El valor predeterminado es 4. [Esta opción es específica
al puerto de destino i386 PE del enlazador]

--principal-subsistema-versión propuesta de
Establece el número principal de la `` versión del subsistema ''. El valor predeterminado es 4. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

- versión-de-imagen-menor propuesta de
Establece el número menor de la `` versión de la imagen ''. El valor predeterminado es 0. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

- versión-os-menor propuesta de
Establece el número menor de la `` versión del sistema operativo ''. El valor predeterminado es 0. [Esta opción es específica
al puerto de destino i386 PE del enlazador]

--versión-subsistema-menor propuesta de
Establece el número menor de la `` versión del subsistema ''. El valor predeterminado es 0. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

--salida-def presentar
El vinculador creará el archivo presentar que contendrá un archivo DEF correspondiente a
la DLL que genera el enlazador. Este archivo DEF (que debería llamarse "* .def") puede
se puede utilizar para crear una biblioteca de importación con "dlltool" o se puede utilizar como referencia a
símbolos exportados de forma automática o implícita. [Esta opción es específica del i386 PE
puerto de destino del enlazador]

--out-imlib presentar
El vinculador creará el archivo presentar que contendrá una lib de importación correspondiente a
la DLL que genera el enlazador. Esta lib de importación (que debería llamarse "* .dll.a" o
"* .a" puede usarse para vincular clientes con la DLL generada; este comportamiento lo hace
es posible omitir un paso de creación de biblioteca de importación "dlltool" independiente. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

--enable-auto-image-base
Elija automáticamente la base de la imagen para los archivos DLL, a menos que se especifique una mediante el
Argumento "--image-base". Mediante el uso de un hash generado a partir del dllname para crear un único
bases de imágenes para cada DLL, colisiones en memoria y reubicaciones que pueden retrasar el programa
se evitan la ejecución. [Esta opción es específica del puerto de destino i386 PE del
enlazador]

--disable-auto-image-base
No genere automáticamente una base de imagen única. Si no hay un usuario especificado
image base ("--image-base") luego usa la plataforma predeterminada. [Esta opción es específica
al puerto de destino i386 PE del enlazador]

--dll-búsqueda-prefijo cadena
Al vincular dinámicamente a una dll sin una biblioteca de importación, busque
" .dll "en lugar de" lib .dll ". Este comportamiento permite
fácil distinción entre las DLL creadas para las distintas "subplataformas": nativa, cygwin,
uwin, pw, etc. Por ejemplo, las DLL de cygwin suelen utilizar "--dll-search-prefix = cyg".
[Esta opción es específica del puerto de destino i386 PE del enlazador]

--habilitar-importación automática
Realice una vinculación sofisticada de "_symbol" a "__imp__symbol" para las importaciones de DATOS desde archivos DLL,
y cree los símbolos thunking necesarios al construir las bibliotecas de importación con
esas exportaciones de DATOS. Nota: El uso de la extensión 'importación automática' hará que el texto
sección del archivo de imagen para que se pueda escribir. Esto no se ajusta al PE-COFF
especificación de formato publicada por Microsoft.

El uso de 'importación automática' generalmente 'simplemente funcionará', pero a veces puede ver esto
mensaje:

"variable" no se puede importar automáticamente. Lea la documentación de los ld
"--enable-auto-import" para obtener detalles. "

Este mensaje ocurre cuando alguna (sub) expresión accede a una dirección dada finalmente por
la suma de dos constantes (las tablas de importación de Win32 solo permiten una). Instancias donde esto
pueden ocurrir incluyen accesos a campos miembros de variables de estructura importadas desde una DLL,
además de utilizar un índice constante en una variable de matriz importada desde una DLL. Alguna
La variable de varias palabras (matrices, estructuras, long long, etc.) puede desencadenar esta condición de error.
Sin embargo, independientemente del tipo de datos exacto de la variable exportada infractora, ld
detectarlo siempre, emitir la advertencia y salir.

Hay varias formas de abordar esta dificultad, independientemente del tipo de datos del
variable exportada:

Una forma es utilizar el conmutador --enable-runtime-pseudo-reloc. Esto deja la tarea de
ajustar referencias en su código de cliente para el entorno de ejecución, por lo que este método funciona
solo cuando el entorno de ejecución admite esta función.

Una segunda solución es forzar a una de las 'constantes' a ser una variable, es decir,
desconocido y no optimizable en tiempo de compilación. Para las matrices, hay dos posibilidades:
a) haga que el índice (la dirección de la matriz) sea una variable, o b) haga el índice 'constante'
una variable. Por lo tanto:

extern type extern_array [];
matriz_extern [1] ->
{tipo volátil * t = extern_array; t [1]}

or

extern type extern_array [];
matriz_extern [1] ->
{volátil int t = 1; matriz_extern [t]}

Para estructuras (y la mayoría de los otros tipos de datos de varias palabras), la única opción es hacer que
estructura en sí misma (o la variable long long, o la ...):

estructura externa s estructura_externa;
extern_struct.field ->
{estructura volátil s * t = & extern_struct; t-> campo}

or

externo largo largo externo_ll;
extern_ll ->
{volátil largo largo * local_ll = & extern_ll; * local_ll}

Un tercer método para lidiar con esta dificultad es abandonar la 'importación automática' para
símbolo ofensivo y márquelo con "__declspec (dllimport)". Sin embargo, en la práctica
requiere el uso de #defines en tiempo de compilación para indicar si está creando una DLL,
crear código de cliente que se vinculará a la DLL, o simplemente construir / vincular a una estática
Biblioteca. Al elegir entre los diversos métodos para resolver el problema
dirección con problema de desplazamiento constante, debe considerar el uso típico del mundo real:

Original:

--foo.h
extern int arr [];
--foo.c
#include "foo.h"
void main (int argc, char ** argv) {
printf ("% d \ n", arr [1]);
}

Solución 1:

--foo.h
extern int arr [];
--foo.c
#include "foo.h"
void main (int argc, char ** argv) {
/ * Esta solución es para win32 y cygwin; no "optimizar" * /
volatile int * parr = arr;
printf ("% d \ n", parr [1]);
}

Solución 2:

--foo.h
/ * Nota: se asume la exportación automática (sin __declspec (dllexport)) * /
#if (definido (_WIN32) ⎪⎪ definido (__ CYGWIN__)) && \
! (definido (FOO_BUILD_DLL) ⎪⎪ definido (FOO_STATIC))
#define FOO_IMPORT __declspec (dllimport)
#else
#define FOO_IMPORTAR
#terminara si
extern FOO_IMPORT int arr [];
--foo.c
#include "foo.h"
void main (int argc, char ** argv) {
printf ("% d \ n", arr [1]);
}

Una cuarta forma de evitar este problema es volver a codificar su biblioteca para utilizar un funcional
interfaz en lugar de una interfaz de datos para las variables infractoras (p. ej. set_foo () y
get_foo () funciones de acceso). [Esta opción es específica para el puerto de destino i386 PE
del enlazador]

--deshabilitar-importación automática
No intente hacer un enlace sofisticado de "_symbol" a "__imp__symbol" para DATA
importaciones desde archivos DLL. [Esta opción es específica para el puerto de destino i386 PE del
enlazador]

--enable-runtime-pseudo-reloc
Si su código contiene expresiones descritas en la sección --enable-auto-import, es decir,
Importaciones de DATOS desde DLL con desplazamiento distinto de cero, este modificador creará un vector de
'pseudo reubicaciones en tiempo de ejecución' que pueden ser utilizadas por el entorno de ejecución para ajustar
referencias a dichos datos en su código de cliente. [Esta opción es específica del i386 PE
puerto de destino del enlazador]

--disable-runtime-pseudo-reloc
No cree pseudo reubicaciones para importaciones de DATOS de compensación que no sean cero desde DLL. Este es
el valor por defecto. [Esta opción es específica del puerto de destino i386 PE del enlazador]

--habilitar-extra-pe-debug
Muestra información de depuración adicional relacionada con el procesamiento de símbolos de importación automática. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

- alineación de sección
Establece la alineación de la sección. Las secciones en la memoria siempre comenzarán en las direcciones que
son un múltiplo de este número. El valor predeterminado es 0x1000. [Esta opción es específica para
Puerto de destino i386 PE del enlazador]

--apilar reserva
--apilar reserva,cometer
Especifique la cantidad de memoria para reservar (y, opcionalmente, confirmar) para usar como pila
para este programa. El valor predeterminado es 2 Mb reservados, 4K comprometidos. [Esta opción es
específico del puerto de destino i386 PE del enlazador]

--subsistema que
--subsistema que:una gran diferencia
--subsistema que:una gran diferencia .menor de edad
Especifica el subsistema bajo el cual se ejecutará su programa. Los valores legales para
que son "nativo", "windows", "consola", "posix" y "xbox". Opcionalmente puede configurar
la versión del subsistema también. También se aceptan valores numéricos para que. [Esta opción
es específico del puerto de destino i386 PE del enlazador]

Los enlazadores 68HC11 y 68HC12 admiten opciones específicas para controlar el banco de memoria
conmutación de mapeo y generación de código de trampolín.

--no trampolín
Esta opción desactiva la generación de trampolín. Por defecto, un trampolín es
generado para cada función lejana que se llama usando una instrucción "jsr" (esta
sucede cuando se toma un puntero a una función lejana).

--ventana bancaria nombre
Esta opción le indica al enlazador el nombre de la región de memoria en el MEMORIA
especificación que describe la ventana del banco de memoria. La definición de tal región es
luego utilizado por el enlazador para calcular la paginación y las direcciones dentro de la ventana de memoria.

MEDIOAMBIENTE


Puede cambiar el comportamiento de ld con las variables de entorno "GNUTARGET",
"LDEMULATION" y "COLLECT_NO_DEMANGLE".

"GNUTARGET" determina el formato del objeto del archivo de entrada si no utiliza -b (o su sinónimo
--formato). Su valor debe ser uno de los nombres BFD para un formato de entrada. Si no hay
"GNUTARGET" en el medio ambiente, ld utiliza el formato natural del objetivo. Si "GNUTARGET"
está configurado en "predeterminado", entonces BFD intenta descubrir el formato de entrada examinando binarios
archivos de entrada; este método a menudo tiene éxito, pero existen ambigüedades potenciales, ya que
no es un método para garantizar que el número mágico utilizado para especificar formatos de archivo-objeto sea
único. Sin embargo, el procedimiento de configuración de BFD en cada sistema coloca el
formato convencional para ese sistema primero en la lista de búsqueda, por lo que las ambigüedades se resuelven
a favor de la convención.

"LDEMULATION" determina la emulación predeterminada si no utiliza la -m opción. La
La emulación puede afectar varios aspectos del comportamiento del enlazador, particularmente el enlazador predeterminado.
texto. Puede enumerar las emulaciones disponibles con el --verboso or -V opciones. Si el
-m opción no se utiliza y la variable de entorno "LDEMULATION" no está definida, la
La emulación predeterminada depende de cómo se configuró el vinculador.

Normalmente, el enlazador por defecto exigirá símbolos. Sin embargo, si
"COLLECT_NO_DEMANGLE" está configurado en el entorno, luego, por defecto, no exigirá
símbolos. El enlazador "gcc" utiliza esta variable de entorno de forma similar.
programa de envoltura. El valor predeterminado puede ser anulado por el --desmenuzar y --no-exigir
.

Use h8300-hitachi-coff-ld en línea usando los servicios de onworks.net


Ad


Ad