NOMBRE¶
objcopy - copia y traduce ficheros objeto
SINOPSIS¶
- objcopy
- [-F nombrebfd | --target=nombrebfd]
[-I nombrebfd | --input-target=nombrebfd]
[-O nombrebfd | --output-target=nombrebfd]
[-R nombresección | --remove-section=nombresección]
[-S | --strip-all]
[-g | --strip-debug] [--strip-unneeded]
[-K nombresímbolo | --keep-symbol=nombresímbolo]
[-N nombresímbolo | --strip-symbol=nombresímbolo]
[-L nombresímbolo | --localize-symbol=nombresímbolo]
[-W nombresímbolo | --weaken-symbol=nombresímbolo]
[-x | --discard-all]
[-X | --discard-locals]
[-b byte | --byte=byte]
[-i entrelazamiento | --interleave=entrelazamiento]
[-p | --preserve-dates] [--debugging]
[--gap-fill=val] [--pad-to=dirección]
[--set-start=val] [--adjust-start=incr]
[--adjust-vma= incr]
[--adjust-section-vma=sección{=,+,-}val]
[--adjust-warnings] [--no-adjust-warnings]
[--set-section-flags= sección=flags]
[--add-section= nombresección=nombrefichero]
[--change-leading-char] [--remove-leading-char]
[--weaken] [-v | --verbose]
[-V | --version] [--help] fichin
[fichsal]
DESCRIPCIÓN¶
El programa de utilidad de GNU
objcopy copia los contenidos de un fichero
objeto a otro.
objcopy emplea la Biblioteca BFD de GNU para leer y
escribir los ficheros objeto. Puede escribir el fichero objeto de destino en
un formato diferente del fichero objeto origen. El comportamiento exacto de
objcopy se controla mediante opciones en la línea de
órdenes.
objcopy crea ficheros temporales para hacer sus traducciones y los borra
después.
objcopy emplea BFD para hacer todo su trabajo de
traducción; conoce todos los formatos que BFD entiende y por lo tanto
es capaz de reconocer la mayoría de formatos sin tener que
decírselo explícitamente.
objcopy puede emplearse para generar registros-S mediante el empleo de un
objetivo de salida
srec (p.e., use
-O srec).
objcopy puede emplearse para generar un fichero binario crudo empleando
un objetivo de salida
binary (p.e., use
-O binary). Cuando
objcopy genera un fichero binario crudo, produce esencialmente un
volcado de memoria de los contenidos del fichero objeto de entrada. Todos los
símbolos y la información de reubicación se
perderán. El volcado de memoria comenzará en la dirección
virtual de la sección más baja copiada en el fichero de salida.
Cuando se genere un registro-S o un fichero binario crudo, puede ser de ayuda
emplear
-S para quitar la sección que contiene
información de depuración. En algunos casos será
útil
-R para quitar secciones que contienen información
que no necesita el fichero binario.
fichin y
fichsal son los ficheros fuente y destino
respectivamente. Si uno no especifica
fichsal,
objcopy crea un
fichero temporal y renombra destructivamente el resultado con el nombre del
fichero de entrada.
OPCIONES¶
- -I nombrebfd, --input-target=nombrebfd
- Considera que el formato del objeto del fichero fuente es
nombrebfd, en vez de intentar deducirlo.
- -O nombrebfd, --output-target=nombrebfd
- Escribe el fichero de salida usando el formato de objeto
nombrebfd.
- -F nombrebfd, --target=nombrebfd
- Usa nombrebfd como el formato objeto para los ficheros de entrada y
salida; esto es, simplemente transfiere datos desde el fuente al destino
sin ninguna traducción.
- -R nombresección,
--remove-section=nombresección
- Borra la sección nombrada del fichero. Esta opción puede
darse más de una vez. Observe que emplear esta opción
inapropiadamente puede hacer inservible al fichero de salida.
- -S, --strip-all
- No copia información de símbolos ni reubicación del
fichero fuente.
- -g, --strip-debug
- No copia símbolos de depuración del fichero fuente.
- --strip-unneeded
- Quita todos los símbolos que no se necesiten para el procesamiento
de la reubicación.
- -K nombresímbolo,
--keep-symbol=nombresímbolo
- Copia sólo el símbolo nombresímbolo del
fichero fuente. Esta opción puede darse más de una vez.
- -N nombresímbolo,
--strip-symbol=nombresímbolo
- No copia el símbolo nombresímbolo del fichero fuente.
Esta opción puede darse más de una vez.
- -L nombresímbolo,
--localize-symbol=nombresímbolo
- Hace al símbolo nombresímbolo local al fichero, de
forma que no sea visible externamente. Esta opción puede darse
más de una vez.
- -W nombresímbolo,
--weaken-symbol=nombresímbolo
- Hace al símbolo nombresímbolo débil. Esta
opción puede darse más de una vez.
- -x, --discard-all
- No copia símbolos no globales del fichero fuente.
- -X, --discard-locals
- No copia símbolos locales generados por el compilador.
(Éstos empiezan usualmente por "L" o ".").
- -b byte, --byte=byte
- Sólo guarda cada byte-simo byte del fichero de entrada (los
datos de cabecera no se ven afectados). byte puede estar en el
rango desde 0 hasta el entrelazamiento - 1. Esta opción es
útil para crear ficheros para programar ROMs. Se usa
típicamente con un objetivo de salida srec.
- -i entrelazamiento,
--interleave=entrelazamiento
- Sólo copia uno de cada entrelazamiento bytes. Cuál de
ellos copiar se selecciona mediante la opción -b o
--byte. El predeterminado es 4. El entrelazamiento no se tiene en
cuenta si no se da ni -b ni --byte.
- -p, --preserve-dates
- Establece las fechas de acceso y modificación del fichero de salida
como las mismas que las del de entrada.
- --debugging
- Convierte información de depuración, si es posible. Esto no
es lo predeterminado puesto que solo ciertos formatos de depuración
se soportan, y el proceso de conversión puede consumir bastante
tiempo.
- --gap-fill=val
- Llena huecos entre las secciones con val. Esta operación se
aplica a la dirección de carga (LMA) de las secciones. Se
hace incrementando el tamaño de la sección con la
dirección más baja, y llenando el espacio extra creado con
val.
- --pad-to=dirección
- Rellena el fichero de salida hasta la dirección de carga
dirección. Esto se hace incrementando el tamaño de la
última sección. El espacio extra se rellena con el valor
especificado por --gap-fill (por omisión, cero).
- --set-start=val
- Establece la dirección de comienzo del nuevo fichero a val.
No todos los formatos de fichero objeto admiten el establecimiento de la
dirección de comienzo.
- --adjust-start=incr
- Ajusta la dirección de comienzo añadiendo incr. No
todos los formatos de fichero objeto admiten el establecimiento de la
dirección de comienzo.
- --adjust-vma=incr
- Ajusta la dirección de todas las secciones, así como la
dirección de comienzo, añadiendo incr. Algunos
formatos de ficheros objeto no permiten cambiar arbitrariamente las
direcciones de sección. Observe que esto no reubica las secciones;
si el programa espera que las secciones se carguen en ciertas direcciones,
y esta opción se emplea para cambiar las secciones de forma que se
carguen en direcciones diferentes, el programa puede fallar.
- --adjust-section-vma=sección{=,+,-}val
- Establece o ajusta la dirección de la sección
nombrada. Si se emplea =, la dirección de la sección
se establece a val. Si no, se añade o sustrae val de
la dirección de la sección. Vea los comentarios en
--adjust-vma, arriba. Si no existe sección en el
fichero de entrada, se emite un aviso, a menos que se haya dado la
opción --no-adjust-warnings.
- --adjust-warnings
- Si se ha dado la opción --adjust-section-vma, y la
sección nombrada no existe, emite un aviso. Esto es el
comportamiento predeterminado.
- --no-adjust-warnings
- No emite un aviso si se emplea la opción
--adjust-section-vma, aunque la sección nombrada no
exista.
- --set-section-flags=sección=flags
- Establece las opciones para la sección nombrada. El argumento
flags es una cadena de nombres de opciones separadas por comas. Los
nombres reconocidos son alloc, load, readonly,
code, data y rom. No todos tienen sentido para todos
los formatos de ficheros objeto.
- --add-section=nombresección=nombrefichero
- Añade una nueva sección llamada nombresección
mientras copia el fichero. Los contenidos de la nueva sección se
toman del fichero nombrefichero. El tamaño de la
sección será el tamaño del fichero. Esta
opción sólo funciona en formatos de fichero que puedan
admitir secciones con nombres arbitrarios.
- --change-leading-char
- Algunos formatos de ficheros objeto emplean caracteres especiales al
principio de los símbolos. El más común de estos
caracteres es el subrayado, que los compiladores suelen añadir
antes de cada símbolo. Esta opción le dice a objcopy
que cambie el carácter inicial de cada símbolo cuando
convierta entre formatos de ficheros objeto. Si los formatos de los
ficheros objeto emplean el mismo carácter inicial, esta
opción no tiene efecto. De otro modo, añadirá un
carácter, o lo quitará, o lo cambiará, según
sea apropiado.
- --remove-leading-char
- Si el primer carácter de un símbolo global es un
símbolo especial empleado por el formato del fichero objeto, quita
el carácter. El carácter inicial como símbolo
más común es el subrayado. Esta opción quitará
un subrayado inicial de todos los símbolos globales. Esto puede ser
útil si uno quiere enlazar juntos objetos con formatos de fichero
diferentes, con diferentes convenios para los nombres de símbolos.
Esto es diferente de --change-leading-char porque siempre cambia el
nombre del símbolo cuando es apropiado, sin tener en cuenta el
formato del fichero objeto de la salida.
- --weaken
- Cambia todos los símbolos globales en el fichero a
débiles.
- -v, --verbose
- Salida prolija: lista todos los ficheros objeto modificados. En el caso de
archivos, objcopy -v lista todos los miembros del archivo.
- -V, --version
- Muestra el número de versión de objcopy y acaba.
- --help
- Muestra un resumen de las opciones de objcopy y acaba.
VÉASE TAMBIÉN¶
La entrada de menú `
binutils' en
Info;
Las Utilidades de
Binarios de GNU, Roland H. Pesch (Junio de 1993).
DERECHOS DE COPIA¶
Copyright (c) 1993, 94, 95, 96, 1997 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual
provided the copyright notice and this permission notice are preserved on all
copies.
Permission is granted to copy and distribute modified versions of this manual
under the conditions for verbatim copying, provided that the entire resulting
derived work is distributed under the terms of a permission notice identical
to this one.
Permission is granted to copy and distribute translations of this manual into
another language, under the above conditions for modified versions, except
that this permission notice may be included in translations approved by the
Free Software Foundation instead of in the original English.
N. del T.: Sólo tiene validez legal el aviso de copyright original.