InglêsFrancêsEspanhol

Executar servidores | Ubuntu > | Fedora > |


favicon do OnWorks

i686-linux-gnu-objcopy - Online na nuvem

Execute i686-linux-gnu-objcopy no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando i686-linux-gnu-objcopy que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


objcopy - copia e traduz arquivos objeto

SINOPSE


objcopy [-F bfdname|--target =bfdname]
[-I bfdname|--input-target =bfdname]
[-O bfdname|--output-target =bfdname]
[-B bfdarch|--binary-architecture =bfdarch]
[-S|--strip-all]
[-g|--strip-debug]
[-K nome do símbolo|- símbolo de manutenção =nome do símbolo]
[-N nome do símbolo|--strip-symbol =nome do símbolo]
[--strip-unneeded-symbol =nome do símbolo]
[-G nome do símbolo|--keep-global-symbol =nome do símbolo]
[--localize-hidden]
[-L nome do símbolo|--localize-symbol =nome do símbolo]
[--globalize-symbol =nome do símbolo]
[-W nome do símbolo|- símbolo fraco =nome do símbolo]
[-w|--curinga]
[-x|--descartar-tudo]
[-X|--discard-locals]
[-b byte|--byte =byte]
[-i [largura]|--intercalar[=largura]]
[--interleave-width =largura]
[-j padrão de seção|--only-section =padrão de seção]
[-R padrão de seção|--remove-section =padrão de seção]
[-p|--preserve-datas]
[-D|--enable-deterministic-archives]
[-U|--disable-deterministic-archives]
[--depuração]
[--gap-fill =onda]
[--pad-to =endereço]
[--set-start =onda]
[--adjust-start =aumento]
[--change-address =aumento]
[--change-section-address padrão de seção{=, +, -}onda]
[--change-section-lma padrão de seção{=, +, -}onda]
[--change-section-vma padrão de seção{=, +, -}onda]
[--change-warnings] [--no-change-warnings]
[--set-section-flags padrão de seção=bandeiras]
[--adicionar-seção Nome da Seção=nome do arquivo]
[--dump-section Nome da Seção=nome do arquivo]
[--update-seção Nome da Seção=nome do arquivo]
[--renomear-seção Antigo nome=novo nome[,bandeiras]]
[--nomes de seção longa {ativar, desativar, manter}]
[--change-leader-char] [--remove-leader-char]
[--reverse-bytes =Números]
[--srec-len =ival] [--srec-forceS3]
[--redefine-sim velho=novo]
[--redefine-syms =nome do arquivo]
[--enfraquecer]
[--keep-symbols =nome do arquivo]
[--strip-symbols =nome do arquivo]
[--strip-unneeded-symbols =nome do arquivo]
[--keep-global-symbols =nome do arquivo]
[--localize-symbols =nome do arquivo]
[--globalize-symbols =nome do arquivo]
[--weaken-symbols =nome do arquivo]
[- símbolo de adição nome=[seção:]valor[,bandeiras]
[--alt-machine-code =índice]
[--prefix-symbols =corda]
[--prefix-seções =corda]
[--prefix-aloc-seções =corda]
[--add-gnu-debuglink =caminho para arquivo]
[--keep-file-symbols]
[--only-keep-debug]
[--strip-dwo]
[--extrair-dwo]
[--extrair-símbolo]
[--texto gravável]
[--readonly-texto]
[--puro]
[--impuro]
[--file-align =Números]
[--heap =tamanho]
[--image-base =endereço]
[--section-align =Números]
[--stack =tamanho]
[--subsystem =qual:principal.menor]
[--compress-debug-seções]
[--decompress-debug-seções]
[--dwarf-depth =n]
[--dwarf-start =n]
[-v|--verbose]
[-V|--versão]
[--Socorro] [--info]
no arquivo [arquivo de saída]

DESCRIÇÃO


O GNU objcopia utilitário copia o conteúdo de um arquivo de objeto para
outro. objcopia usa a biblioteca GNU BFD para ler e escrever o objeto
arquivos. Ele pode gravar o arquivo do objeto de destino em um formato diferente
daquele do arquivo de objeto de origem. O comportamento exato de objcopia is
controlado por opções de linha de comando. Observe que objcopia deve ser capaz
para copiar um arquivo totalmente vinculado entre quaisquer dois formatos. No entanto, copiando um
arquivo objeto relocável entre quaisquer dois formatos pode não funcionar como
esperado.

objcopia cria arquivos temporários para fazer suas traduções e os apaga
depois. objcopia usa o BFD para fazer todo o seu trabalho de tradução; tem
acesso a todos os formatos descritos no BFD e, portanto, é capaz de
reconhece a maioria dos formatos sem ser informado explicitamente.

objcopia pode ser usado para gerar registros S usando um destino de saída de
srec (por exemplo, use -O srec).

objcopia pode ser usado para gerar um arquivo binário bruto usando uma saída
alvo de binário (por exemplo, use -O binário) Quando objcopia gera um cru
arquivo binário, ele irá essencialmente produzir um despejo de memória do conteúdo
do arquivo de objeto de entrada. Todos os símbolos e informações de realocação irão
ser descartado. O despejo de memória começará no endereço de carregamento do
seção inferior copiada para o arquivo de saída.

Ao gerar um registro S ou um arquivo binário bruto, pode ser útil
usar -S para remover seções contendo informações de depuração. Em alguns
casos -R será útil para remover seções que contêm informações
que não é necessário para o arquivo binário.

Observação---objcopia não é capaz de alterar o endianness de seus arquivos de entrada.
Se o formato de entrada tiver um endianness (alguns formatos não), objcopia
só pode copiar as entradas em formatos de arquivo que tenham o mesmo
endianness ou que não têm endianness (por exemplo, srec) (No entanto, veja o
--bytes reversos opção.)

OPÇÕES


no arquivo
arquivo de saída
Os arquivos de entrada e saída, respectivamente. Se você não especificar
arquivo de saída, objcopia cria um arquivo temporário e renomeia destrutivamente
o resultado com o nome de no arquivo.

-I bfdname
--input-target =bfdname
Considere o formato de objeto do arquivo de origem como bfdname, ao invés de
tentando deduzi-lo.

-O bfdname
--output-target =bfdname
Grave o arquivo de saída usando o formato do objeto bfdname.

-F bfdname
--target =bfdname
Utilize bfdname como o formato do objeto para a entrada e a saída
Arquivo; ou seja, simplesmente transfira os dados da origem para o destino sem
tradução.

-B bfdarch
--binary-architecture =bfdarch
Útil ao transformar um arquivo de entrada sem arquitetura em um
arquivo de objeto. Neste caso, a arquitetura de saída pode ser definida para
bfdarch. Esta opção será ignorada se o arquivo de entrada tiver um conhecido
bfdarch. Você pode acessar esses dados binários dentro de um programa por
referenciando os símbolos especiais que são criados pela conversão
processo. Esses símbolos são chamados de _binário_objfile_começar,
_binário_objfile_end e _binary_objfile_Tamanho. por exemplo, você pode
transformar um arquivo de imagem em um arquivo de objeto e acessá-lo em
seu código usando esses símbolos.

-j padrão de seção
--only-section =padrão de seção
Copie apenas as seções indicadas do arquivo de entrada para a saída
Arquivo. Esta opção pode ser dada mais de uma vez. Observe que usando
esta opção inadequadamente pode tornar o arquivo de saída inutilizável.
Caracteres curinga são aceitos em padrão de seção.

-R padrão de seção
--remove-section =padrão de seção
Remova qualquer seção correspondente padrão de seção do arquivo de saída.
Esta opção pode ser dada mais de uma vez. Observe que usar este
opção inadequadamente pode tornar o arquivo de saída inutilizável. Curinga
caracteres são aceitos em padrão de seção. Usando tanto o -j e assim
-R opções juntas resultam em comportamento indefinido.

-S
--strip-all
Não copie as informações de realocação e símbolo do arquivo de origem.

-g
--strip-debug
Não copie símbolos de depuração ou seções do arquivo de origem.

--strip-desnecessário
Remova todos os símbolos que não são necessários para o processamento de realocação.

-K nome do símbolo
- símbolo de manutenção =nome do símbolo
Ao remover símbolos, mantenha o símbolo nome do símbolo mesmo se fosse
normalmente ser despojado. Esta opção pode ser dada mais de uma vez.

-N nome do símbolo
--strip-symbol =nome do símbolo
Não copie o símbolo nome do símbolo do arquivo de origem. Esta opção
pode ser administrado mais de uma vez.

--strip-unneeded-symbol =nome do símbolo
Não copie o símbolo nome do símbolo do arquivo de origem, a menos que seja
necessário para uma realocação. Esta opção pode ser dada mais de uma vez.

-G nome do símbolo
--keep-global-symbol =nome do símbolo
Manter apenas o símbolo nome do símbolo global. Faça todos os outros símbolos locais
ao arquivo, para que não sejam visíveis externamente. Esta opção
pode ser administrado mais de uma vez.

--localize-hidden
Em um objeto ELF, marque todos os símbolos que têm ocultos ou internos
visibilidade como local. Esta opção se aplica em cima do símbolo específico
opções de localização, como -L.

-L nome do símbolo
--localize-symbol =nome do símbolo
Símbolo de fazer nome do símbolo local para o arquivo, de modo que não seja visível
externamente. Esta opção pode ser dada mais de uma vez.

-W nome do símbolo
- símbolo fraco =nome do símbolo
Símbolo de fazer nome do símbolo fraco. Esta opção pode ter mais de
uma vez.

--globalize-symbol =nome do símbolo
Dê o símbolo nome do símbolo escopo global para que seja visível do lado de fora
do arquivo em que está definido. Esta opção pode ter mais
de uma vez

-w
--curinga
Permitir expressões regulares em nome do símboloé usado em outro comando
opções de linha. O ponto de interrogação (?), Asterisco (*), barra invertida (\)
e os operadores de colchetes ([]) podem ser usados ​​em qualquer lugar no
nome do símbolo. Se o primeiro caractere do nome do símbolo for o
ponto de exclamação (!), então o sentido da mudança é revertido para
aquele símbolo. Por exemplo:

-w -W! foo -W fo *

faria com que objcopy enfraquecesse todos os símbolos que começam com "fo"
exceto pelo símbolo "foo".

-x
--descartar-tudo
Não copie símbolos não globais do arquivo de origem.

-X
--discard-locals
Não copie símbolos locais gerados pelo compilador. (Estes geralmente começam
com L or ..)

-b byte
--byte =byte
Se a intercalação foi habilitada por meio do --intercalar opção então
iniciar o intervalo de bytes para manter no byteº byte. byte pode ser
no intervalo de 0 a largura-1, onde largura é o valor dado
pelo --intercalar opção.

-i [largura]
--interleave [=largura]
Copie apenas um intervalo de cada largura bytes. (Os dados do cabeçalho não são
afetados). Selecione qual byte no intervalo começa a cópia com o
--byte opção. Selecione a largura do intervalo com o
--interleave-width opção.

Esta opção é útil para criar arquivos para programar ROM. Isto é
normalmente usado com um destino de saída "srec". Observe que objcopia
reclamará se você não especificar o --byte opção também.

A amplitude de intercalação padrão é 4, então com --byte definido como 0,
objcopia copiaria o primeiro byte de cada quatro bytes do
entrada para a saída.

--interleave-width =largura
Quando usado com o --intercalar opção, cópia largura bytes de cada vez.
O início do intervalo de bytes a ser copiado é definido pelo --byte
opção, e a extensão do intervalo é definida com a --intercalar
opção.

O valor padrão para esta opção é 1. O valor de largura mais
do byte valor definido pelo --byte opção não deve exceder o
amplitude de intercalação definida pelo --intercalar opção.

Esta opção pode ser usada para criar imagens para dois flashes de 16 bits
intercalado em um barramento de 32 bits, passando -b 0 -i 4
--interleave-width = 2 e assim -b 2 -i 4 --interleave-width = 2 a dois
objcopia comandos. Se a entrada era '12345678', então as saídas
seria '1256' e '3478' respectivamente.

-p
--preserve-datas
Defina as datas de acesso e modificação do arquivo de saída para ser o
iguais aos do arquivo de entrada.

-D
--enable-deterministic-archives
Operar em determinista modo. Ao copiar membros do arquivo e
escrever o índice de arquivo, use zero para UIDs, GIDs, carimbos de data / hora e
use modos de arquivo consistentes para todos os arquivos.

If binutils foi configurado com --enable-deterministic-archives,
então este modo é ativado por padrão. Pode ser desativado com o -U
opção, abaixo.

-U
--disable-deterministic-archives
Do não operar determinista modo. Este é o inverso do
-D opção, acima: ao copiar membros do arquivo e escrever o
índice de arquivo, use seu UID, GID, carimbo de data / hora e modo de arquivo reais
valores.

Este é o padrão, a menos que binutils foi configurado com
--enable-deterministic-archives.

--depuração
Converta as informações de depuração, se possível. Este não é o
padrão porque apenas certos formatos de depuração são suportados, e
o processo de conversão pode ser demorado.

--preencher uma lacuna onda
Preencha as lacunas entre as seções com onda. Esta operação se aplica ao
carregar endereço (LMA) das seções. Isso é feito aumentando o
tamanho da seção com o endereço inferior, e preenchendo o
espaço extra criado com onda.

--pad-to endereço
Preencher o arquivo de saída até o endereço de carregamento endereço. Isso está feito
aumentando o tamanho da última seção. O espaço extra é
preenchido com o valor especificado por --preencher uma lacuna (padrão zero).

--set-start onda
Defina o endereço inicial do novo arquivo para onda. Nem todos os arquivos de objeto
formatos suportam a configuração do endereço inicial.

--change-start aumento
--ajust-start aumento
Mude o endereço inicial adicionando aumento. Nem todos os arquivos de objeto
formatos suportam a configuração do endereço inicial.

--change-address aumento
--ajuste-vma aumento
Altere os endereços VMA e LMA de todas as seções, bem como o
endereço inicial, adicionando aumento. Alguns formatos de arquivo de objeto não
permitir que endereços de seção sejam alterados arbitrariamente. Observe que este
não realoca as seções; se o programa espera que as seções
ser carregado em um determinado endereço, e esta opção é usada para alterar
as seções de modo que sejam carregados em um endereço diferente, o
o programa pode falhar.

--change-section-address padrão de seção{=, +, -}onda
--ajuste-seção-vma padrão de seção{=, +, -}onda
Defina ou altere o endereço VMA e o endereço LMA de qualquer
seção correspondente padrão de seção. Se = é usado, o endereço da seção
está definido para onda. De outra forma, onda é adicionado ou subtraído do
endereço da seção. Veja os comentários em --change-address, acima.
If padrão de seção não corresponde a nenhuma seção no arquivo de entrada, um
aviso será emitido, a menos que --no-change-warnings é usado.

--change-section-lma padrão de seção{=, +, -}onda
Defina ou altere o endereço LMA de qualquer seção correspondente
padrão de seção. O endereço LMA é o endereço onde a seção
será carregado na memória no momento do carregamento do programa. Normalmente isso é
o mesmo que o endereço VMA, que é o endereço da seção em
tempo de execução do programa, mas em alguns sistemas, especialmente aqueles onde um
programa é realizado em ROM, os dois podem ser diferentes. Se = é usado,
o endereço da seção está definido para onda. De outra forma, onda é adicionado a ou
subtraído do endereço da seção. Veja os comentários em
--change-address, acima de. Se padrão de seção não corresponde a nenhum
seções no arquivo de entrada, um aviso será emitido, a menos que
--no-change-warnings é usado.

--change-section-vma padrão de seção{=, +, -}onda
Defina ou altere o endereço VMA de qualquer seção correspondente
padrão de seção. O endereço VMA é o endereço onde a seção
será localizado assim que o programa começar a ser executado. Normalmente
este é o mesmo que o endereço LMA, que é o endereço onde o
seção será carregada na memória, mas em alguns sistemas, especialmente
aqueles em que um programa é realizado em ROM, os dois podem ser diferentes. Se
= é usado, o endereço da seção é definido como onda. De outra forma, onda is
adicionado ou subtraído do endereço da seção. Veja os comentários
para --change-address, acima de. Se padrão de seção não corresponde
qualquer seção do arquivo de entrada, um aviso será emitido, a menos que
--no-change-warnings é usado.

--change-warnings
--adjust-warnings
If --change-section-address or --change-section-lma or
--change-section-vma é usado, e o padrão de seção não
coincidir com qualquer seção, emita um aviso. Este é o padrão.

--no-change-warnings
--no-ajustar-avisos
Não emita um aviso se --change-section-address or
--ajuste-seção-lma or --ajuste-seção-vma é usado, mesmo se o
o padrão de seção não corresponde a nenhuma seção.

--set-section-flags padrão de seção=bandeiras
Defina os sinalizadores para quaisquer seções correspondentes padrão de seção. o bandeiras
argumento é uma string separada por vírgulas de nomes de sinalizadores. O reconhecido
nomes são alocar, conteúdo, carregar, sem carga, somente leitura, código, dados,, rom,
compartilhare depurar. Você pode definir o conteúdo bandeira para uma seção
que não tem conteúdo, mas não é significativo limpar o
conteúdo sinalizador de uma seção que tem conteúdo - basta remover
a seção em vez disso. Nem todos os sinalizadores são significativos para todos os objetos
formatos de arquivo.

--adicionar-seção Nome da Seção=nome do arquivo
Adicionar uma nova seção chamada Nome da Seção enquanto copia o arquivo. o
o conteúdo da nova seção é retirado do arquivo nome do arquivo. o
o tamanho da seção será o tamanho do arquivo. Esta opção apenas
funciona em formatos de arquivo que podem suportar seções com
nomes. Nota - pode ser necessário usar o --set-section-flags
opção para definir os atributos da seção recém-criada.

--dump-section Nome da Seção=nome do arquivo
Coloque o conteúdo da seção chamada Nome da Seção no arquivo
nome do arquivo, substituindo qualquer conteúdo que possa ter estado lá
anteriormente. Esta opção é o inverso de --adicionar-seção. Este
opção é semelhante ao --só-seção opção exceto que faz
não cria um arquivo formatado, ele apenas despeja o conteúdo como bruto
dados binários, sem aplicar quaisquer realocações. A opção pode ser
especificado mais de uma vez.

--update-seção Nome da Seção=nome do arquivo
Substitua o conteúdo existente de uma seção chamada Nome da Seção com
o conteúdo do arquivo nome do arquivo. O tamanho da seção será
ajustado ao tamanho do arquivo. A seção sinalizadores para
Nome da Seção ficará inalterado. Para arquivos de formato ELF, a seção para
o mapeamento do segmento também permanecerá inalterado, algo que não é
possível usando --remove-seção seguido --adicionar-seção. o
opção pode ser especificada mais de uma vez.

Nota - é possível usar --renomear-seção e assim --update-seção
para atualizar e renomear uma seção de uma linha de comando. Nisso
caso, passe o nome da seção original para --update-seção, e as
nomes de seção originais e novos para --renomear-seção.

- símbolo de adição nome=[seção:]valor[,bandeiras]
Adicione um novo símbolo chamado nome enquanto copia o arquivo. Esta opção
pode ser especificado várias vezes. Se o seção é dado, o
o símbolo será associado e relativo a essa seção,
caso contrário, será um símbolo ABS. Especificando um indefinido
seção resultará em um erro fatal. Não há verificação para o
valor, será considerado como especificado. Sinalizadores de símbolo podem ser
especificado e nem todos os sinalizadores serão significativos para todos os arquivos de objeto
formatos. Por padrão, o símbolo será global. A bandeira especial
'antes =otherym'irá inserir o novo símbolo na frente do
especificada otherym, caso contrário, o (s) símbolo (s) serão adicionados ao
final da tabela de símbolos na ordem em que aparecem.

--renomear-seção Antigo nome=novo nome[,bandeiras]
Renomear uma seção de Antigo nome para novo nome, opcionalmente alterando o
sinalizadores da seção para bandeiras no processo. Isso tem a vantagem
sobre o uso de um script de vinculador para realizar a renomeação em que a saída
permanece como um arquivo de objeto e não se torna um executável vinculado.

Esta opção é particularmente útil quando o formato de entrada é
binário, pois isso sempre criará uma seção chamada .data. Se
por exemplo, você deseja criar uma seção chamada .rodata
contendo dados binários, você pode usar a seguinte linha de comando para
consiga:

objcopy -I binário -O -B \
--rename-section .data = .rodata, alloc, load, readonly, data, contents \


--nomes de seção longa {ativar, desativar, manter}
Controla o manuseio de nomes de seção longos ao processar "COFF"
e formatos de objeto "PE-COFF". O comportamento padrão, manter, é para
preserva nomes de seção longos se algum estiver presente no arquivo de entrada.
A permitir e assim desabiltar opções ativam ou desativam forçosamente o uso
de nomes de seção longos no objeto de saída; quando desabiltar é em
efeito, quaisquer nomes de seção longos no objeto de entrada serão
truncado. o permitir opção só emitirá nomes de seção longos se
qualquer um está presente nas entradas; isso é basicamente o mesmo que manter, mas
é deixado indefinido se o permitir opção pode forçar o
criação de uma tabela de string vazia no arquivo de saída.

--change-leader-char
Alguns formatos de arquivo de objeto usam caracteres especiais no início de
símbolos. O caractere mais comum é o sublinhado, que
os compiladores costumam adicionar antes de cada símbolo. Esta opção diz objcopia
para mudar o personagem principal de cada símbolo quando ele converte
entre formatos de arquivo de objeto. Se os formatos de arquivo do objeto usar o
mesmo personagem principal, esta opção não tem efeito. Caso contrário isto
irá adicionar um personagem, ou remover um personagem, ou mudar um personagem,
como apropriado.

--remove-leader-char
Se o primeiro caractere de um símbolo global for um símbolo especial
caractere principal usado pelo formato de arquivo do objeto, remova o
personagem. O caractere principal do símbolo mais comum é o sublinhado.
Esta opção irá remover um sublinhado inicial de todos os globais
símbolos. Isso pode ser útil se você deseja vincular objetos
de diferentes formatos de arquivo com diferentes convenções de símbolo
nomes. Isso é diferente de --change-leader-char porque
sempre muda o nome do símbolo quando apropriado, independentemente do
formato de arquivo de objeto do arquivo de saída.

--reverse-bytes =Números
Reverta os bytes em uma seção com conteúdo de saída. Uma secção
comprimento deve ser uniformemente divisível pelo valor dado para que o
troca para poder ocorrer. A reversão ocorre antes do
a intercalação é executada.

Esta opção é usada normalmente na geração de imagens ROM para
sistemas de alvos problemáticos. Por exemplo, em algumas placas-alvo,
as palavras de 32 bits buscadas em ROMs de 8 bits são remontadas em
ordem de bytes little-endian, independentemente da ordem de bytes da CPU.
Dependendo do modelo de programação, o endianness da ROM pode
precisa ser modificado.

Considere um arquivo simples com uma seção contendo o seguinte
oito bytes: 12345678.

utilização --reverse-bytes = 2 para o exemplo acima, os bytes no
o arquivo de saída seria solicitado 21436587.

utilização --reverse-bytes = 4 para o exemplo acima, os bytes no
o arquivo de saída seria solicitado 43218765.

Usando --reverse-bytes = 2 para o exemplo acima, seguido por
--reverse-bytes = 4 no arquivo de saída, os bytes no segundo
o arquivo de saída seria solicitado 34127856.

--srec-len =ival
Significativo apenas para saída srec. Defina o comprimento máximo do
Srecords sendo produzidos para ival. Este comprimento cobre ambos os endereços,
campos de dados e crc.

--srec-forceS3
Significativo apenas para saída srec. Evite a geração de S1 / S2
registros, criando formato de registro somente S3.

--redefine-sim velho=novo
Muda o nome de um símbolo velho, Para novo. Isso pode ser útil quando
um é tentar ligar duas coisas para as quais você não tem
fonte e há colisões de nomes.

--redefine-syms =nome do arquivo
Aplicar --redefine-sim para cada par de símbolos "velho novo"listado no
filete nome do arquivo. nome do arquivo é simplesmente um arquivo plano, com um símbolo
par por linha. Comentários de linha podem ser introduzidos pelo hash
personagem. Esta opção pode ser dada mais de uma vez.

--enfraquecer
Altere todos os símbolos globais no arquivo para serem fracos. Isso pode ser
útil ao construir um objeto que será ligado a outro
objetos usando o -R opção para o vinculador. Esta opção é apenas
eficaz ao usar um formato de arquivo de objeto que oferece suporte
símbolos.

--keep-symbols =nome do arquivo
Aplicar - símbolo de manutenção opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--strip-symbols =nome do arquivo
Aplicar --strip-symbol opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--strip-unneeded-symbols =nome do arquivo
Aplicar --strip-unneeded-symbol opção para cada símbolo listado no
filete nome do arquivo. nome do arquivo é simplesmente um arquivo plano, com um símbolo
nome por linha. Comentários de linha podem ser introduzidos pelo hash
personagem. Esta opção pode ser dada mais de uma vez.

--keep-global-symbols =nome do arquivo
Aplicar --keep-global-symbol opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--localize-symbols =nome do arquivo
Aplicar --localize-symbol opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--globalize-symbols =nome do arquivo
Aplicar --globalize-symbol opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--weaken-symbols =nome do arquivo
Aplicar - símbolo fraco opção para cada símbolo listado no arquivo
nome do arquivo. nome do arquivo é simplesmente um arquivo simples, com um nome de símbolo por
linha. Comentários de linha podem ser introduzidos pelo caractere hash. Esse
a opção pode ser fornecida mais de uma vez.

--alt-machine-code =índice
Se a arquitetura de saída tiver códigos de máquina alternativos, use o
índiceo código em vez do padrão. Isso é útil no caso de um
máquina recebe um código oficial e a cadeia de ferramentas adota o
novo código, mas outros aplicativos ainda dependem do código original
sendo usado. Para arquiteturas baseadas em ELF se o índice alternativa
não existe, então o valor é tratado como um número absoluto para
ser armazenado no campo e_machine do cabeçalho ELF.

--texto gravável
Marque o texto de saída como gravável. Esta opção não é significativa para
todos os formatos de arquivo de objeto.

--readonly-texto
Torne o texto de saída protegido contra gravação. Esta opção não é significativa
para todos os formatos de arquivo de objeto.

--puro
Marque o arquivo de saída como paginado por demanda. Esta opção não é significativa
para todos os formatos de arquivo de objeto.

--impuro
Marque o arquivo de saída como impuro. Esta opção não é significativa para
todos os formatos de arquivo de objeto.

--prefix-symbols =corda
Prefixar todos os símbolos no arquivo de saída com corda.

--prefix-seções =corda
Prefixar todos os nomes de seção no arquivo de saída com corda.

--prefix-aloc-seções =corda
Prefixe todos os nomes de todas as seções alocadas no arquivo de saída
com corda.

--add-gnu-debuglink =caminho para arquivo
Cria uma seção .gnu_debuglink que contém uma referência a
caminho para arquivo e o adiciona ao arquivo de saída. Nota: o arquivo em
caminho para arquivo deve existir. Parte do processo de adição do
A seção .gnu_debuglink envolve a incorporação de uma soma de verificação do
conteúdo do arquivo de informações de depuração na seção.

Se o arquivo de informações de depuração for construído em um local, mas vai
ser instalado posteriormente em um local diferente, então não
use o caminho para o local instalado. o --add-gnu-debuglink
a opção falhará porque o arquivo instalado ainda não existe.
Em vez disso, coloque o arquivo de informações de depuração no diretório atual e use
do --add-gnu-debuglink opção sem quaisquer componentes de diretório,
como isso:

objcopy --add-gnu-debuglink = foo.debug

No momento da depuração, o depurador tentará procurar pelo
arquivo de informações de depuração em um conjunto de locais conhecidos. O conjunto exato de
esses locais variam dependendo da distribuição que está sendo usada,
mas normalmente inclui:

"* O mesmo diretório do executável."
"* Um subdiretório do diretório que contém o executável"
chamado .debug

"* Um diretório de depuração global como / usr / lib / debug."

Contanto que o arquivo de informações de depuração tenha sido instalado em um desses
locais antes de o depurador ser executado, tudo deve funcionar
corretamente.

--keep-file-symbols
Ao remover um arquivo, talvez com --strip-debug or
--strip-desnecessário, retém todos os símbolos que especificam os nomes dos arquivos de origem,
que de outra forma seria despojado.

--only-keep-debug
Retire um arquivo, removendo o conteúdo de quaisquer seções que não seriam
despojado por --strip-debug e deixando as seções de depuração
intacta. Em arquivos ELF, isso preserva todas as seções de notas no
saída.

Nota - os cabeçalhos das seções removidas são preservados,
incluindo seus tamanhos, mas o conteúdo da seção é
descartado. Os cabeçalhos das seções são preservados para que outras ferramentas
pode combinar o arquivo debuginfo com o executável real, mesmo se
esse executável foi realocado para um espaço de endereço diferente.

A intenção é que esta opção seja usada em conjunto com
--add-gnu-debuglink para criar um executável de duas partes. Um a
binário despojado que ocupará menos espaço na RAM e em um
distribuição e o segundo um arquivo de informações de depuração que é
necessário apenas se as habilidades de depuração forem necessárias. O sugerido
procedimento para criar esses arquivos é o seguinte:

1
"foo" então ...

1
crie um arquivo contendo as informações de depuração.

1
executável despojado.

1
para adicionar um link para as informações de depuração no
executável.

Nota --- a escolha de ".dbg" como uma extensão para o arquivo de informação de depuração
é arbitrário. Além disso, a etapa "--only-keep-debug" é opcional. Vocês
em vez disso, poderia fazer isso:

1
1
1
1

ou seja, o arquivo apontado pelo --add-gnu-debuglink pode ser o
executável completo. Não precisa ser um arquivo criado pelo
--only-keep-debug interruptor.

Observação --- esta opção deve ser usada apenas em arquivos totalmente vinculados.
Não faz sentido usá-lo em arquivos de objeto onde o
as informações de depuração podem estar incompletas. Além do gnu_debuglink
recurso atualmente suporta apenas a presença de um nome de arquivo
contendo informações de depuração, não vários nomes de arquivos em um
por arquivo de objeto.

--strip-dwo
Remova o conteúdo de todas as seções DWARF .dwo, deixando o
seções de depuração restantes e todos os símbolos intactos. Esta opção
destina-se ao uso pelo compilador como parte do -gsplit-anão
opção, que divide as informações de depuração entre o arquivo .o e um
arquivo .dwo separado. O compilador gera todas as informações de depuração
no mesmo arquivo, então usa o --extrair-dwo opção de copiar o
.dwo seções para o arquivo .dwo, depois o --strip-dwo opção para
remova essas seções do arquivo .o original.

--extrair-dwo
Extraia o conteúdo de todas as seções DWARF .dwo. Veja o
--strip-dwo opção para obter mais informações.

--file-align Números
Especifique o alinhamento do arquivo. As seções do arquivo sempre começarão
em deslocamentos de arquivo que são múltiplos deste número. Este padrão
a 512. [Esta opção é específica para alvos PE.]

--heap reserva
--heap reserva,cometer
Especifique o número de bytes de memória para reservar (e opcionalmente
commit) para ser usado como heap para este programa. [Esta opção é
específico para alvos de PE.]

- base de imagem valor
Utilize valor como o endereço base do seu programa ou dll. Isto é o
local de memória mais baixo que será usado quando seu programa ou dll
está carregado. Para reduzir a necessidade de realocar e melhorar o desempenho
de suas dlls, cada uma deve ter um endereço de base exclusivo e não
sobreponha quaisquer outras dlls. O padrão é 0x400000 para executáveis,
e 0x10000000 para dlls. [Esta opção é específica para alvos PE.]

--section-align Números
Define o alinhamento da seção. As seções na memória sempre começarão
em endereços que são múltiplos deste número. Padrões para
0x1000. [Esta opção é específica para alvos PE.]

--pilha reserva
--pilha reserva,cometer
Especifique o número de bytes de memória para reservar (e opcionalmente
commit) para ser usado como pilha para este programa. [Esta opção é
específico para alvos de PE.]

--subsistema qual
--subsistema qual:principal
--subsistema qual:principal.menor
Especifica o subsistema sob o qual seu programa será executado. o
valores legais para qual são "nativos", "windows", "console", "posix",
"efi-app", "efi-bsd", "efi-rtd", "sal-rtd" e "xbox". Você pode
opcionalmente, defina também a versão do subsistema. Os valores numéricos também são
aceito para qual. [Esta opção é específica para alvos PE.]

--extrair-símbolo
Mantenha as bandeiras e símbolos de seção do arquivo, mas remova todas as seções
dados. Especificamente, a opção:

*
*
*

Esta opção é usada para construir um .sym arquivo para um kernel VxWorks. Isto
também pode ser uma maneira útil de reduzir o tamanho de um --apenas-símbolos
arquivo de entrada do vinculador.

--compress-debug-seções
Comprimir seções de depuração DWARF usando zlib com SHF_COMPRESSED de
o ELF ABI. Nota - se a compressão realmente faria uma seção
Maior, então não é compactado.

--compress-debug-Section = none
--compress-debug-seções = zlib
--compress-debug-Section = zlib-gnu
--compress-debug-Section = zlib-gabi
Para arquivos ELF, essas opções controlam como as seções de depuração DWARF são
comprimido. --compress-debug-Section = none é equivalente a
--decompress-debug-seções. --compress-debug-seções = zlib e assim
--compress-debug-Section = zlib-gabi são equivalentes às
--compress-debug-seções. --compress-debug-Section = zlib-gnu
compacta seções de depuração DWARF usando zlib. As seções de depuração são
renomeado para começar .zdebug em vez de .depurar. Nota - se
compressão faria, na verdade, uma seção Maior, então não é
compactado nem renomeado.

--decompress-debug-seções
Descompacte as seções de depuração DWARF usando zlib. A seção original
nomes das seções compactadas são restaurados.

-V
--versão
Mostra o número da versão de objcopia.

-v
--verbose
Saída detalhada: lista todos os arquivos de objeto modificados. No caso de
arquivos, objcopia -V lista todos os membros do arquivo.

--Socorro
Mostra um resumo das opções para objcopia.

--info
Mostra uma lista mostrando todas as arquiteturas e formatos de objetos
disponível.

@filete
Leia as opções de linha de comando de filete. As opções lidas são inseridas
no lugar do original @filete opção. Se filete não existe, ou
não pode ser lido, então a opção será tratada literalmente, e não
removido.

Opções em filete são separados por espaços em branco. Um espaço em branco
caractere pode ser incluído em uma opção circundando todo o
opção entre aspas simples ou duplas. Qualquer personagem (incluindo
uma barra invertida) pode ser incluída prefixando o caractere a ser
incluído com uma barra invertida. o filete pode conter
@filete opções; qualquer uma dessas opções será processada recursivamente.

Use i686-linux-gnu-objcopy online usando serviços onworks.net


Ad


Ad