objcopy - copia y traduce ficheros objeto
- 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]
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.
- -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).
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.