objcopy
Section: Herramientas de Desarrollo de GNU (1)
Updated: Octubre de 1994
Index Return to Main
Contents
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.
Index
- NOMBRE
- SINOPSIS
- DESCRIPCIÓN
- OPCIONES
- VÉASE TAMBIÉN
- DERECHOS DE COPIA
This document was created by man2html, using
the manual pages.
Time: 20:28:07 GMT, January 21, 2005