Este é o comando m68k-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 Windows online ou emulador MAC OS online
PROGRAMA:
NOME
objcopy - copia e traduz arquivos objeto
SINOPSE
objetocópia [-F nome do bfd|--target =nome do bfd]
[-I nome do bfd|--input-target =nome do bfd]
[-O nome do bfd|--output-target =nome do bfd]
[-B namorado|--binary-architecture =namorado]
[-S|--tira tudo]
[-g|--strip-depurar]
[-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-oculto]
[-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-locais]
[-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-arquivos-determinísticos]
[-U|--desabilitar-arquivos-determinísticos]
[--depuração]
[--gap-fill =onda]
[--pad-to =endereço]
[--set-start =onda]
[--adjust-start =aumento]
[--change-address =aumento]
[--change-seção-endereço padrão de seção{=, +, -}onda]
[--change-seção-lma padrão de seção{=, +, -}onda]
[--change-seção-vma padrão de seção{=, +, -}onda]
[--alterar avisos] [--no-change-warnings]
[--set-section-flags padrão de seção=bandeiras]
[--adicionar-seção Nome da Seção=nome do arquivo]
[--dump-seção 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] [--informações]
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 utiliza
a Biblioteca GNU BFD para ler e gravar os arquivos-objeto. Pode escrever o destino
arquivo de objeto em um formato diferente do arquivo de objeto de origem. O comportamento exato
of objcopia é controlado por opções de linha de comando. Observe que objcopia deveria ser capaz de
copie um arquivo totalmente vinculado entre quaisquer dois formatos. No entanto, copiar um objeto realocável
arquivo entre quaisquer dois formatos pode não funcionar como esperado.
objcopia cria arquivos temporários para fazer suas traduções e os apaga posteriormente.
objcopia usa o BFD para fazer todo o seu trabalho de tradução; tem acesso a todos os formatos
descrito no BFD e, portanto, é capaz de reconhecer 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 um destino de saída de binário
(por exemplo, use -O binário) Quando objcopia gera um arquivo binário bruto, ele essencialmente
produzir um despejo de memória do conteúdo do arquivo de objeto de entrada. Todos os símbolos e
as informações de realocação serão descartadas. O despejo de memória começará no endereço de carregamento
da 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 remover
seções contendo informações de depuração. Em alguns casos -R será útil remover
seções que contêm informações que não são necessárias para o arquivo binário.
Observação---objcopia não é capaz de alterar o endianness de seus arquivos de entrada. Se a entrada
formato tem um endianness (alguns formatos não), objcopia só pode copiar as entradas para o arquivo
formatos que têm o mesmo endianness ou que não têm endianness (por exemplo, srec) (Contudo,
ver 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 nome do bfd
--input-target =nome do bfd
Considere o formato de objeto do arquivo de origem como nome do bfd, ao invés de tentar
deduzir.
-O nome do bfd
--output-target =nome do bfd
Grave o arquivo de saída usando o formato do objeto nome do bfd.
-F nome do bfd
--target =nome do bfd
Use nome do bfd como o formato do objeto para o arquivo de entrada e saída; ou seja, simplesmente
transferir dados da origem ao destino sem tradução.
-B namorado
--binary-architecture =namorado
Útil ao transformar um arquivo de entrada sem arquitetura em um arquivo de objeto. Nisso
caso a arquitetura de saída possa ser definida para namorado. Esta opção será ignorada se
o arquivo de entrada tem um conhecido namorado. Você pode acessar esses dados binários dentro de um programa
referenciando os símbolos especiais que são criados pelo processo de conversão. Esses
os símbolos são chamados de _binário_objfile_início, _binário_objfile_fim e
_binário_objfile_Tamanho. por exemplo, você pode transformar um arquivo de imagem em um arquivo de objeto e
em seguida, acesse-o 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 o arquivo de saída. Esta opção
pode ser administrado mais de uma vez. Observe que usar essa 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
dado mais de uma vez. Observe que usar esta opção inadequadamente pode tornar a saída
arquivo inutilizável. Caracteres curinga são aceitos em padrão de seção. Usando tanto o -j
e -R opções juntas resultam em comportamento indefinido.
-S
--tira tudo
Não copie as informações de realocação e símbolo do arquivo de origem.
-g
--strip-depurar
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 normalmente fosse removido.
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 ter 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 um
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 para o arquivo, de modo que
eles não são visíveis externamente. Esta opção pode ser dada mais de uma vez.
--localize-oculto
Em um objeto ELF, marque todos os símbolos que têm visibilidade oculta ou interna como locais.
Esta opção se aplica na parte superior das opções de localização específicas de símbolo, 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. Esse
a opção pode ser fornecida 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 ser dada 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 fora do arquivo em
qual é definido. Esta opção pode ser dada mais de uma vez.
-w
--curinga
Permitir expressões regulares em nome do símbolos usados em outras opções de linha de comando. o
Os operadores de ponto de interrogação (?), asterisco (*), barra invertida (\) e colchetes ([]) podem
ser usado 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 chave é invertido para esse símbolo. Para
exemplo:
-w -W! foo -W fo *
faria com que a objcopy enfraquecesse todos os símbolos que começam com "fo" exceto o símbolo
"foo".
-x
--descartar-tudo
Não copie símbolos não globais do arquivo de origem.
-X
--discard-locais
Não copie símbolos locais gerados pelo compilador. (Geralmente começam com L or ..)
-b byte
--byte =byte
Se a intercalação foi habilitada por meio do --intercalar opção, em seguida, inicie o intervalo de
bytes para manter no byteº byte. byte pode estar 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 de
o alcance com o --interleave-largura opção.
Esta opção é útil para criar arquivos para programar ROM. É 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 iria copiar o
primeiro byte de cada quatro bytes da entrada à 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 serem copiados é definido pelo --byte opção, e a extensão do intervalo
é definido com o --intercalar opção.
O valor padrão para esta opção é 1. O valor de largura Mais o byte valor definido por
da --byte opção não deve exceder a largura de intercalação definida pelo --intercalar
opção.
Esta opção pode ser usada para criar imagens para dois flashes de 16 bits intercalados em um
Ônibus de 32 bits passando -b 0 -i 4 --interleave-width = 2 e -b 2 -i 4
--interleave-width = 2 a dois objcopia comandos. Se a entrada foi '12345678', então o
as saídas seriam '1256' e '3478' respectivamente.
-p
--preserve-datas
Defina as datas de acesso e modificação do arquivo de saída para serem as mesmas do
o arquivo de entrada.
-D
--enable-arquivos-determinísticos
Operar em determinista modo. Ao copiar membros do arquivo e escrever o arquivo
índice, use zero para UIDs, GIDs, carimbos de data / hora e use modos de arquivo consistentes para todos
arquivos.
If binutils foi configurado com --enable-arquivos-determinísticos, então este modo está ativado
por padrão. Pode ser desativado com o -U opção, abaixo.
-U
--desabilitar-arquivos-determinísticos
Do não operar determinista modo. Este é o inverso do -D opção, acima:
ao copiar membros do arquivo e escrever o índice do arquivo, use seu UID, GID,
timestamp e valores de modo de arquivo.
Este é o padrão, a menos que binutils foi configurado com
--enable-arquivos-determinísticos.
--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
consumindo.
--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 menor
endereço e preenchendo o espaço extra criado com onda.
--pad-para endereço
Preencher o arquivo de saída até o endereço de carregamento endereço. Isso é 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-início onda
Defina o endereço inicial do novo arquivo para onda. Nem todos os formatos de arquivo de objeto são compatíveis
definir o endereço inicial.
--change-start aumento
--ajust-start aumento
Mude o endereço inicial adicionando aumento. Nem todos os formatos de arquivo de objeto suportam configuração
o 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, por
acrescentando aumento. Alguns formatos de arquivo de objeto não permitem que os endereços de seção sejam alterados
arbitrariamente. Observe que isso não realoca as seções; se o programa espera
seções a serem carregadas em um determinado endereço, e esta opção é usada para alterar o
seções de modo que sejam carregados em um endereço diferente, o programa pode falhar.
--change-seção-endereço 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 é definido como onda. De outra forma, onda is
adicionado 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 nenhuma seção na entrada
arquivo, um aviso será emitido, a menos que --no-change-warnings é usado.
--change-seção-lma padrão de seção{=, +, -}onda
Defina ou altere o endereço LMA de qualquer seção correspondente padrão de seção. A LMA
endereço é o endereço onde a seção será carregada na memória no carregamento do programa
Tempo. Normalmente, é o mesmo que o endereço VMA, que é o endereço do
seção no tempo de execução do programa, mas em alguns sistemas, especialmente aqueles onde um programa é
realizada em ROM, os dois podem ser diferentes. Se = é usado, o endereço da seção é definido como
onda. De outra forma, onda é adicionado ou subtraído do endereço da seção. Veja o
comentários sob --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 is
usava.
--change-seção-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 estará localizada uma vez que o programa tenha iniciado
executando. Normalmente, é o mesmo que o endereço LMA, que é o endereço onde
a seção será carregada na memória, 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 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
qualquer seção do arquivo de entrada, um aviso será emitido, a menos que --no-change-warnings
é usado.
--alterar avisos
--adjust-avisos
If --change-seção-endereço or --change-seção-lma or --change-seção-vma é usado,
e o padrão de seção não corresponder a nenhuma seção, emita um aviso. Isto é o
padrão.
--no-change-warnings
--no-ajustar-avisos
Não emita um aviso se --change-seção-endereço or --ajuste-seção-lma or
--ajuste-seção-vma é usado, mesmo se o padrão de seção não corresponder 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 vírgula
sequência separada de nomes de sinalizadores. Os nomes reconhecidos são alocar, conteúdo, carregar,
sem carga, somente leitura, código, dados,, rom, share e 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 possui conteúdo - apenas remova a seção.
Nem todos os sinalizadores são significativos para todos os formatos de arquivo de objeto.
--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 conteúdo do novo
seção são retirados do arquivo nome do arquivo. O tamanho da seção será o tamanho de
o arquivo. Esta opção funciona apenas em formatos de arquivo que podem suportar seções com
nomes arbitrários. Nota - pode ser necessário usar o --set-section-flags opção para
defina os atributos da seção recém-criada.
--dump-seção Nome da Seção=nome do arquivo
Coloque o conteúdo da seção chamada Nome da Seção no arquivo nome do arquivo, sobrescrevendo
qualquer conteúdo que possa ter estado lá anteriormente. Esta opção é o inverso de
--adicionar-seção. Esta opção é semelhante ao --só-seção opção exceto que
não cria um arquivo formatado, apenas despeja o conteúdo como dados binários brutos,
sem aplicar quaisquer realocações. A opção pode ser especificada 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. o
sinalizadores de seção 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. A opção pode ser especificada em mais de
uma vez.
Nota - é possível usar --renomear-seção e --update-seção para atualizar e
renomear uma seção de uma linha de comando. Neste caso, passe o nome da seção original
para --update-seção, e os nomes da seção original e nova 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 especificada
várias vezes. Se o seção for fornecido, o símbolo será associado a e
em relação a essa seção, caso contrário, será um símbolo do ABS. Especificando um indefinido
seção resultará em um erro fatal. Não há verificação do valor, ele será
tomadas conforme especificado. Sinalizadores de símbolo podem ser especificados e nem todos os sinalizadores serão
significativo para todos os formatos de arquivo de objeto. Por padrão, o símbolo será global. o
sinalizador especial 'antes =otherym'irá inserir o novo símbolo na frente do especificado
otherym, caso contrário, o (s) símbolo (s) serão adicionados no final da tabela de símbolos no
ordem em que aparecem.
--renomear-seção Antigo nome=novo nome[,bandeiras]
Renomear uma seção de Antigo nome para novo nome, opcionalmente alterando os sinalizadores da seção para
bandeiras no processo. Isso tem a vantagem de usar um script de vinculador para executar o
renomear de forma que a saída permaneça como um arquivo de objeto e não se torne um link
executável.
Esta opção é particularmente útil quando o formato de entrada é binário, pois isso
sempre crie uma seção chamada .data. Se, por exemplo, você quisesse criar um
seção chamada .rodata contendo dados binários, você pode usar a seguinte linha de comando
para alcançá-lo:
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 "PE-COFF"
formatos de objeto. O comportamento padrão, manter, é preservar nomes de seção longos, se houver
estão presentes no arquivo de entrada. o permitir e desabiltar opções habilitar forçosamente ou
desative o uso de nomes de seção longos no objeto de saída; quando desabiltar está em vigor,
quaisquer nomes de seção longos no objeto de entrada serão truncados. o permitir opção vai
apenas emita nomes de seção longos se algum estiver presente nas entradas; isto é basicamente o mesmo
as manter, mas não está definido se o permitir opção pode forçar a 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 dos símbolos. A maioria
comum, esse caractere é 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
converte entre formatos de arquivo de objeto. Se os formatos de arquivo do objeto usam o mesmo
personagem, esta opção não tem efeito. Caso contrário, ele adicionará um caractere ou removerá um
caractere ou altere um caractere, conforme apropriado.
--remove-leader-char
Se o primeiro caractere de um símbolo global for um símbolo especial do caractere principal usado
pelo formato de arquivo do objeto, remova o caractere. O símbolo mais comum que conduz
personagem é 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 arquivos diferentes
formatos com convenções diferentes para nomes de símbolos. Isso é diferente de
--change-leader-char porque sempre muda o nome do símbolo quando apropriado,
independentemente do formato do 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. O comprimento da seção deve ser uniforme
divisível pelo valor dado para que a troca possa ocorrer. Invertendo
ocorre antes de a intercalação ser executada.
Esta opção é usada normalmente na geração de imagens ROM para sistemas de destino problemáticos.
Por exemplo, em algumas placas de destino, as palavras de 32 bits buscadas em ROMs de 8 bits são re-
montados na ordem de bytes little-endian, independentemente da ordem de bytes da CPU. Dependendo
o modelo de programação, o endianness da ROM pode precisar ser modificado.
Considere um arquivo simples com uma seção contendo os seguintes oito bytes: 12345678.
utilização --reverse-bytes = 2 para o exemplo acima, os bytes no arquivo de saída seriam
ordenou 21436587.
utilização --reverse-bytes = 4 para o exemplo acima, os bytes no arquivo de saída seriam
ordenou 43218765.
Usando --reverse-bytes = 2 para o exemplo acima, seguido por --reverse-bytes = 4 na
arquivo de saída, os bytes no segundo arquivo de saída seriam ordenados 34127856.
--srec-len =ival
Significativo apenas para saída srec. Defina o comprimento máximo dos Srecords sendo
produzido para ival. Este comprimento cobre os campos de endereço, dados e crc.
--srec-forceS3
Significativo apenas para saída srec. Evite a geração de registros S1 / S2, criando apenas S3
formato de registro.
--redefine-sim velho=novo
Muda o nome de um símbolo velhoà novo. Isso pode ser útil quando se está tentando um link
duas coisas juntas 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 arquivo nome do arquivo.
nome do arquivo é simplesmente um arquivo simples, com um par de símbolos por linha. Comentários de linha podem ser
introduzido pelo caractere hash. 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á vinculado a outros objetos usando o -R opção para o vinculador.
Esta opção só é 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 is
simplesmente um arquivo simples, com um nome de símbolo por linha. Comentários de linha podem ser introduzidos por
o personagem hash. Esta opção pode ser dada mais de uma vez.
--strip-symbols =nome do arquivo
Aplicar --strip-símbolo opção para cada símbolo listado no arquivo nome do arquivo. nome do arquivo is
simplesmente um arquivo simples, com um nome de símbolo por linha. Comentários de linha podem ser introduzidos por
o personagem hash. Esta opção pode ser dada mais de uma vez.
--strip-unneeded-symbols =nome do arquivo
Aplicar --strip-símbolo desnecessário 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
introduzido pelo caractere hash. Esta opção pode ser dada mais de uma vez.
--keep-global-symbols =nome do arquivo
Aplicar --manter-símbolo-global 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
introduzido pelo caractere hash. Esta opção pode ser dada mais de uma vez.
--localize-symbols =nome do arquivo
Aplicar --localize-símbolo 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. Esta opção pode ser dada mais de uma vez.
--globalize-symbols =nome do arquivo
Aplicar --globalize-símbolo 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. Esta opção pode ser dada 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 is
simplesmente um arquivo simples, com um nome de símbolo por linha. Comentários de linha podem ser introduzidos por
o personagem hash. Esta opção pode ser dada 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 disso
do padrão. Isso é útil no caso de uma máquina receber um código oficial e
a cadeia de ferramentas adota o novo código, mas outros aplicativos ainda dependem do
código original em uso. Para arquiteturas baseadas em ELF se o índice alternativa faz
não existir, então o valor é tratado como um número absoluto a 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 arquivos de objeto
formatos.
--readonly-texto
Torne o texto de saída protegido contra gravação. Esta opção não é significativa para todos os objetos
formatos de arquivo.
--puro
Marque o arquivo de saída como paginado por demanda. Esta opção não é significativa para todos os objetos
formatos de arquivo.
--impuro
Marque o arquivo de saída como impuro. Esta opção não é significativa para todos os arquivos de objeto
formatos.
--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
Prefixar 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 adiciona
para o arquivo de saída. Nota: o arquivo em caminho para arquivo deve existir. Parte de
processo de adição da 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 será instalado em um
mais tarde em um local diferente, então não use o caminho para o instalado
localização. o --add-gnu-debuglink opção irá falhar porque o arquivo instalado não
não existe ainda. Em vez disso, coloque o arquivo de informações de depuração no diretório atual e use o
--add-gnu-debuglink opção sem quaisquer componentes de diretório, como este:
objcopy --add-gnu-debuglink = foo.debug
No momento da depuração, o depurador tentará procurar o arquivo de informações de depuração separado em um
conjunto de locais conhecidos. O conjunto exato desses locais varia de acordo com o
distribuição 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
o depurador é executado, tudo deve funcionar corretamente.
--keep-file-symbols
Ao remover um arquivo, talvez com --strip-depurar or --strip-desnecessário, retenha qualquer
símbolos que especificam os nomes dos arquivos de origem, que de outra forma seriam eliminados.
--only-keep-debug
Retira um arquivo, removendo o conteúdo de quaisquer seções que não seriam retiradas por
--strip-depurar e deixando as seções de depuração intactas. Em arquivos ELF, isso preserva
todas as seções de notas na 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 da seção são
preservado para que outras ferramentas possam combinar o arquivo debuginfo com o real
executável, mesmo se esse executável tiver sido 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 binário despojado que ocupará menos espaço
na RAM e em uma distribuição e o segundo um arquivo de informações de depuração que é apenas
necessário se as habilidades de depuração forem necessárias. O procedimento sugerido para criar estes
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 removido.
Nota --- a escolha de ".dbg" como uma extensão para o arquivo de informações de depuração é arbitrária.
Além disso, a etapa "--only-keep-debug" é opcional. Em vez disso, você poderia fazer isso:
1
1
1
1
ou seja, o arquivo apontado pelo --add-gnu-debuglink pode ser o executável completo. Isto
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 em que as informações de depuração podem estar incompletas.
Além do recurso gnu_debuglink atualmente suporta apenas a presença de um nome de arquivo
contendo informações de depuração, não vários nomes de arquivo em um arquivo um por objeto
base.
--strip-dwo
Remova o conteúdo de todas as seções DWARF .dwo, deixando a depuração restante
seções e todos os símbolos intactos. Esta opção deve ser usada pelo compilador como
parte de -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, em seguida, usa o --extrair-dwo opção de copiar as seções .dwo para o arquivo .dwo,
então o --strip-dwo opção para remover 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 mais
informações.
--file-align Números
Especifique o alinhamento do arquivo. As seções no arquivo sempre começarão nos deslocamentos do arquivo
que são múltiplos deste número. O padrão é 512. [Esta opção é específica
para alvos PE.]
--heap reserva
--heap reserva,commit
Especifique o número de bytes de memória a serem reservados (e opcionalmente confirmados) a serem usados como
heap para este programa. [Esta opção é específica para alvos PE.]
- base de imagem valor
Use valor como o endereço base do seu programa ou dll. Esta é a memória mais baixa
local que será usado quando seu programa ou dll for 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 se sobrepõe a nenhuma outra dll. 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. O padrão é 0x1000. [Esta opção é específica para PE
alvos.]
--pilha reserva
--pilha reserva,commit
Especifique o número de bytes de memória a serem reservados (e opcionalmente confirmados) a serem usados como
pilha para este programa. [Esta opção é específica para alvos PE.]
--subsistema qual
--subsistema qual:principal
--subsistema qual:principal.menor
Especifica o subsistema sob o qual seu programa será executado. Os valores legais para
qual são "nativos", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" e "xbox". Você também pode definir opcionalmente a versão do subsistema. Numérico
valores também são aceitos para qual. [Esta opção é específica para alvos PE.]
--extrair-símbolo
Mantenha os sinalizadores e símbolos de seção do arquivo, mas remova todos os dados de seção. Especificamente,
a opção:
*
*
*
Esta opção é usada para construir um .sym arquivo para um kernel VxWorks. Também pode ser um
maneira útil de reduzir o tamanho de um --apenas-símbolos arquivo de entrada do vinculador.
--compress-debug-seções
Compacte as seções de depuração DWARF usando zlib com SHF_COMPRESSED do ELF ABI. Observação -
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 compactadas.
--compress-debug-Section = none é equivalente a --decompress-debug-seções.
--compress-debug-seções = zlib e --compress-debug-Section = zlib-gabi são equivalentes
para --compress-debug-seções. --compress-debug-Section = zlib-gnu comprime DWARF
depurar seções usando zlib. As seções de depuração são renomeadas para começar .zdebug
em vez de .depurar. Nota - se a compressão realmente faria uma seção Maior, Em seguida
não é compactado nem renomeado.
--decompress-debug-seções
Descompacte as seções de depuração DWARF usando zlib. Os nomes das seções originais do
seções compactadas são restauradas.
-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.
--informações
Exibe uma lista mostrando todas as arquiteturas e formatos de objetos disponíveis.
@lima
Leia as opções de linha de comando de lima. As opções lidas são inseridas no lugar do
original @lima opção. Se lima não existe ou não pode ser lido, então a opção
será tratado literalmente e não removido.
Opções em lima são separados por espaços em branco. Um caractere de espaço em branco pode ser incluído
em uma opção, colocando toda a opção entre aspas simples ou duplas. Algum
caractere (incluindo uma barra invertida) pode ser incluído prefixando o caractere a ser
incluído com uma barra invertida. o lima pode conter @ adicionaislima opções; algum
essas opções serão processadas recursivamente.
Use m68k-linux-gnu-objcopy online usando serviços onworks.net