Ld Format Bininary Options


O que é extensão de arquivo LD por: Jay Geater. Escritor de tecnologia principal Alguém enviou um e-mail para você um arquivo de LD e você não sabe como abri-lo. Talvez você tenha encontrado um arquivo de LD no seu computador e se perguntando o que é para o Windows pode dizer-lhe que não pode abri-lo ou, no pior caso, você Pode encontrar uma mensagem de erro relacionada ao arquivo LD. Antes de poder abrir um arquivo LD, você precisará descobrir o tipo de arquivo ao qual a extensão do arquivo LD se refere. Dica: erros de associação de arquivos LD incorretos podem ser um sintoma de outros problemas subjacentes no sistema operacional Windows. Essas entradas inválidas também podem produzir sintomas associados, como lenta inicialização do Windows, congelamento do computador e outros problemas de desempenho do PC. Portanto, recomendamos que você verifique o registro do Windows para associações de arquivos inválidas e outros problemas relacionados a um registro fragmentado. Os arquivos LD são arquivos incomuns principalmente associados ao Paradox Language Driver (Corel). Os arquivos LD também estão associados às opções do usuário do PC-Bibliothek (Bibliographisches Institut F. A. Brockhaus AG), códigos Telix de longa distância e FileViewPro. Tipos adicionais de arquivos também podem estar usando a extensão de arquivo LD. Se você tem conhecimento de qualquer outro formato de arquivo usando a extensão de arquivo LD, entre em contato conosco para que possamos atualizar nossas informações de acordo. Como abrir seu arquivo LD: LD File Opener A maneira mais rápida e fácil de abrir seu arquivo LD é clicar duas vezes nele. Isso permite que a inteligência do Windows escolha o aplicativo de software correto para abrir seu arquivo LD. No caso de o seu arquivo LD não abrir, é altamente provável que você não tenha o aplicativo de software correto instalado no seu PC para visualizar ou editar extensões de arquivos LD. Se o seu PC abrir o arquivo LD, mas é o aplicativo errado, você precisará alterar as configurações de associação do arquivo de registro do Windows. Em outras palavras, o Windows está associando extensões de arquivos LD ao programa de software errado. Recomendamos que você verifique seu registro do Windows para associações de arquivos inválidas e outros problemas de registro relacionados. Downloads de software associados à extensão de arquivo LD: alguns formatos de extensão de arquivo LD podem ser abertos apenas em formato binário. Ferramenta de Análise de Arquivos LD Não há certeza sobre qual o tipo de arquivo LD que você possui. Deseja saber exatamente o que é, quem criou e como abri-lo Finalmente, agora você pode descobrir tudo o que precisa saber sobre o seu arquivo LD. Instantaneamente, a ferramenta de análise de arquivos LD revolucionária verifica, analisa e reporta cada detalhe sobre seu arquivo LD. Nosso algoritmo pendente de patente analisa rapidamente o seu arquivo e, em alguns momentos, apresenta esta informação em um formato elegante e fácil de ler.8224 Em segundos, você saberá exatamente qual o tipo de arquivo LD que possui, o programa de software associado Com seu arquivo, o editor que o criou, seu status de segurança e uma variedade de outras informações úteis. Para começar a análise de arquivos grátis, basta arrastar e soltar seu arquivo LD dentro das linhas pontilhadas abaixo, ou clique em Procurar Meu Computador e selecione seu arquivo. Seu relatório de análise de arquivos LD será exibido diretamente abaixo nesta janela do navegador. Drag Drop Your LD File Here Para Iniciar Análise Browse My Computer raquo Por favor, também digitalize meu arquivo para detectar vírus Solvusoft: Microsoft Gold Certified Company O GNU Linker (executável chamado ld) faz parte do pacote binutils. É o vinculador padrão no Linux e outros sistemas operacionais semelhantes a Unix. Ele suporta a maioria dos formatos de entrada e saída existentes (através do uso do libbfd), e é supostamente o mais flexível dos conectores listados. Suporta formatos de entrada mais conhecidos (ELF, DJGPPCOFF, Win32COFF, a. out, etc.) Suporta os formatos de saída mais conhecidos (ELF, Win32PE, COFF, a. out etc). Apoia a criação de bibliotecas compartilhadas. Fornece controle total sobre o arquivo de saída gerado, através do linguagem flexible do Script Linker. Pode criar arquivos binários planos. Pode especificar endereços codedata, com endereços de carga e execução separados (vital para uma metade do núcleo superior). Suporta informações de depuração DWARF, ECOFF e STABS. Software livre sob a versão GPL 3. ld não cria bibliotecas compartilhadas por si só. Você deve dar as bandeiras adequadas ao compilador para que ele possa gerar código independente de posição (note que isso está falando apenas sobre bibliotecas compartilhadas ELF). Ld é capaz de ligar enquanto mantém as deslocalizações no seu objeto final (chamado de link incremental) e também pode deixar símbolos não resolvidos se for instruído a fazê-lo. Você também pode querer verificar o ar. Um companheiro de biblioteca de ligação estática para ld. O comando External Ld do WindowsLinux e do Unix ld combina uma série de arquivos de objeto e arquivamento, relocaliza seus dados e liga as referências de símbolos. Geralmente, a última etapa na compilação de um programa é executar ld. Ld aceita arquivos de Linguagem de Comando do Linker escritos em um superconjunto da sintaxe do Idioma de Comando do Editor de Link da ATampT s, para fornecer controle total e explícito sobre o processo de vinculação. Para obter detalhes completos sobre o idioma do comando ld, consulte a página de informações ld. Aqui, cubra uma ampla visão geral de como usar o GNU ld, que é usado na maioria das versões do Linux. Esta versão do ld usa as bibliotecas BFD de propósito geral para operar em arquivos de objeto. Isso permite que ld leia, combine e escreva arquivos de objeto em vários formatos diferentes: por exemplo, COFF ou a. out. Diferentes formatos podem ser interligados para produzir qualquer tipo de arquivo de objeto disponível. Além de sua flexibilidade, o link GNU é mais útil do que outros vinculadores ao fornecer informações de diagnóstico. Muitos vinculadores abandonam a execução imediatamente ao encontrar um erro sempre que possível, ld continua a ser executado, permitindo que você identifique outros erros (ou, em alguns casos, para obter um arquivo de saída, apesar do erro). O GNU linker ld destina-se a cobrir uma ampla gama de situações e a ser o mais compatível possível com outros conectores. Como resultado, você tem muitas opções para controlar seu comportamento. O vinculador suporta muitas opções de linha de comando, mas, na prática, poucos deles são usados ​​em qualquer contexto particular. Por exemplo, um uso freqüente de ld é vincular arquivos de objeto Unix padrão em um sistema Unix padrão, suportado. Em tal sistema, para vincular um arquivo hello. o: Isso diz a ld para produzir um arquivo chamado saída como resultado de ligar o arquivo libcrt0.o com hello. o e a biblioteca libc. a, que virá da pesquisa padrão Diretórios. Veja a opção - l abaixo. Algumas das opções de linha de comando para ld podem ser especificadas em qualquer ponto da linha de comando. No entanto, as opções que se referem a arquivos, como - l ou - T. Faça com que o arquivo seja lido no ponto em que a opção aparece na linha de comando, em relação aos arquivos de objeto e outras opções de arquivo. A repetição de opções não relacionadas ao arquivo com um argumento diferente não terá nenhum efeito adicional, nem substituirá ocorrências anteriores (aquelas mais à esquerda na linha de comando) dessa opção. As opções que podem ser significativamente especificadas mais de uma vez são anotadas nas descrições abaixo. Os argumentos não-opção são arquivos de objetos ou arquivos que devem ser vinculados. Eles podem seguir, preceder ou ser misturados com opções de linha de comando, exceto que um argumento de arquivo de objeto não pode ser colocado entre uma opção e seu argumento. Normalmente, o vinculador é invocado com pelo menos um arquivo de objeto, mas você pode especificar outras formas de arquivos de entrada binária usando - l. - R. E o idioma do comando do script. Se nenhum arquivo de entrada binária for especificado, o vinculador não produz qualquer saída e emite a mensagem Sem arquivos de entrada. Se o vinculador não puder reconhecer o formato de um arquivo de objeto, ele assumirá que é um script de vinculador. Um script especificado dessa forma aumenta o script de vinculador principal usado para o link (ou o script de vinculador padrão ou aquele especificado usando - T). Esse recurso permite que o vinculador se aponte para um arquivo que parece ser um objeto ou um arquivo. Mas, na verdade, apenas define alguns valores de símbolos, ou usa INPUT ou GROUP para carregar outros objetos. Especificar um script dessa maneira apenas aumenta o script do vinculador principal, com os comandos extras colocados após o script principal usar a opção - T para substituir completamente o script de vinculador padrão, mas observe o efeito do comando INSERT. Para opções cujos nomes são uma única letra, argumentos de opção devem seguir a letra da opção sem espaços interativos. Ou seja dado como argumentos separados imediatamente após a opção que os exige. Para opções cujos nomes são letras múltiplas, um dosh ou dois podem preceder o nome da opção, por exemplo, - trace-symbol e --trace-symbol são equivalentes. Observe que há uma exceção a esta regra: opções de várias letras que começam com uma minúscula o só podem ser precedidas por dois traços. Isso é para reduzir a confusão com a opção - o. Então, por exemplo, - agagic define o nome do arquivo de saída para a magia, enquanto que --omagic define o sinalizador NMAGIC na saída. Argumentos para opções de múltiplas letras devem ser separados do nome da opção por um sinal de igual ou ser dados como argumentos separados imediatamente após a opção que os exige. Por exemplo, --trace-symbol foo e --trace-symbolfoo são equivalentes. As abreviaturas únicas dos nomes das opções de múltiplas letras são aceitas. Observe que, se o vinculador for invocado indiretamente, por meio de um driver de compilador (por exemplo, gcc), todas as opções de linha de comando do vinculador devem ser prefixadas por - Wl. (Ou o que for apropriado para o driver do compilador particular), como este: Isso é importante, porque, de outra forma, o programa do driver do compilador pode soltar silenciosamente as opções do vinculador, resultando em um link incorreto. A confusão também pode surgir ao passar opções que requerem valores através de um driver, pois o uso de um espaço entre a opção e o argumento atua como um separador e faz com que o driver passe apenas a opção para o vinculador e o argumento para o compilador. Nesse caso, é mais simples usar as formas juntas de opções de letras únicas e múltiplas, como: Aqui está uma tabela das opções genéricas de linha de comando aceitas pelo link GNU: Leia as opções da linha de comando do arquivo. As opções lidas são inseridas no lugar da opção de arquivo original. Se o arquivo não existe ou não pode ser lido, a opção será tratada literalmente e não será removida. As opções no arquivo são separadas por espaços em branco. Um caractere de espaço em branco pode ser incluído em uma opção ao circundar toda a opção em aspas simples ou duplas. Qualquer personagem (incluindo uma barra invertida) pode ser incluído por prefixo do personagem a ser incluído com uma barra invertida. O próprio arquivo pode conter opções de arquivo adicionais, que tais opções serão processadas de forma recursiva. Esta opção é suportada para compatibilidade HP-UX. O argumento da palavra-chave deve ser um dos arquivos de strings. Compartilhado. Ou padrão. - archivo é funcionalmente equivalente a - Bestático. E as outras duas palavras-chave são funcionalmente equivalentes a - Bynamic. Esta opção pode ser usada em qualquer número de vezes. Adiciona AUDITLIB à entrada DTAUDIT da seção dinâmica. AUDITLIB não é verificado para existência, nem usará o DTSONAME especificado na biblioteca. Se especificado várias vezes, o DTAUDIT conterá uma lista separada de duas interfaces de auditoria para usar. Se o vinculador encontrar um objeto com uma entrada de auditoria enquanto procura por bibliotecas compartilhadas, ele adicionará uma entrada DTDEPAUDIT correspondente no arquivo de saída. Esta opção só é significativa nas plataformas ELF que suportam a interface rtld-audit. Na versão atual do ld. Esta opção é útil apenas para a família de arquiteturas Intel 960. Nessa configuração ld, o argumento da arquitetura identifica a arquitetura particular da família 960, possibilitando algumas salvaguardas e modificando o caminho da pesquisa de arquivo-biblioteca. Futuras versões do ld podem suportar funcionalidades semelhantes para outras famílias de arquitetura. Ld pode ser configurado para suportar mais de um tipo de arquivo de objeto. Se o seu ld estiver configurado desta forma, você pode usar a opção - b para especificar o formato binário para arquivos de objeto de entrada que seguem esta opção na linha de comando. Mesmo quando ld está configurado para suportar formatos de objeto alternativos, você geralmente não precisa especificar isso, pois ld deve ser configurado para esperar como formato de entrada padrão o formato mais usual em cada máquina. Formato de entrada é uma string de texto, o nome de um formato específico suportado pelas bibliotecas BFD. Você pode listar os formatos binários disponíveis com objdump - i. Você pode querer usar essa opção se você estiver ligando arquivos com um formato binário incomum. Você também pode usar - b para alternar formatos de forma explícita (ao vincular arquivos de objeto de diferentes formatos), incluindo o formato de entrada - b antes de cada grupo de arquivos de objeto em um formato específico. O formato padrão é retirado da variável de ambiente GNUTARGET. Você também pode definir o formato de entrada a partir de um script, usando o comando TARGET Para compatibilidade com conectores produzidos pela MRI, ld aceita arquivos de script escritos em um idioma de comando alternativo e restrito, descrito na seção MIG de arquivos de scripts compatíveis da documentação GNU ld. Introduza arquivos de script MRI com a opção - c use a opção - T para executar scripts de link escritos na linguagem de script ld de propósito geral. Se MRI-cmdfile não existir, ld procura por eles nos diretórios especificados por quaisquer opções - L. Essas três opções são equivalentes. Os vários tipos são suportados para compatibilidade com outros vinculadores. Eles atribuem espaço a símbolos comuns, mesmo que um arquivo de saída relocável seja especificado (com - r). O comando de script FORCECOMMONALLOCATION tem o mesmo efeito. Adiciona AUDITLIB à entrada DTDEPAUDIT da seção dinâmica. AUDITLIB não é verificado para existência, nem usará o DTSONAME especificado na biblioteca. Se especificado várias vezes, o DTDEPAUDIT conterá uma lista separada de duas interfaces de auditoria para usar. Esta opção só é significativa nas plataformas ELF que suportam a interface rtld-audit. A opção - P é fornecida para a compatibilidade do Solaris. Use a entrada como o símbolo explícito para iniciar a execução do seu programa, em vez do ponto de entrada padrão. Se não houver um símbolo chamado entrada. O vinculador tentará analisar a entrada como um número e usá-lo como o endereço de entrada (o número será interpretado na base 10, você pode usar um líder 0x para a base 16 ou um líder 0 para a base 8). Especifica uma lista de bibliotecas de arquivo a partir da qual os símbolos não devem ser exportados automaticamente. Os nomes das bibliotecas podem ser delimitados por vírgulas ou dois pontos. Especificando --exclude-libs ALL exclui símbolos em todas as bibliotecas de arquivo de exportação automática. Esta opção está disponível apenas para a porta do i386 PE orientada do linker e para as portas com destino ELF. Para i386 PE, os símbolos explicitamente listados em um arquivo. def ainda são exportados, independentemente desta opção. Para portas direcionadas ELF, os símbolos afetados por esta opção serão tratados como ocultos. Especifica uma lista de arquivos de objeto ou membros de arquivo, a partir do qual os símbolos não devem ser exportados automaticamente, mas que devem ser copiados por atacado para a biblioteca de importação que está sendo gerada durante o link. Os nomes dos módulos podem ser delimitados por vírgulas ou dois pontos, e devem coincidir exatamente com os nomes dos arquivos usados ​​pelo ld para abrir os arquivos para os membros do arquivo. Este é simplesmente o nome do membro, mas para os arquivos de objetos o nome listado deve incluir e combinar exatamente qualquer caminho usado Para especificar o arquivo de entrada na linha de comando dos conectores. Esta opção está disponível apenas para a porta do i386 PE orientada do linker. Os símbolos listados explicitamente em um arquivo. def ainda são exportados, independentemente desta opção. Ao criar um executável vinculado dinamicamente, usar a opção - E ou a opção --export-dynamic faz com que o vinculador adicione todos os símbolos à tabela de símbolos dinâmicos. A tabela de símbolos dinâmicos é o conjunto de símbolos que são visíveis a partir de objetos dinâmicos em tempo de execução. Se você não usar nenhuma dessas opções (ou use a opção --no-export-dynamic para restaurar o comportamento padrão), a tabela de símbolos dinâmicos normalmente contém apenas os símbolos que são referenciados por algum objeto dinâmico mencionado no link. Se você usa dlopen para carregar um objeto dinâmico que precisa se referir aos símbolos definidos pelo programa, em vez de algum outro objeto dinâmico, provavelmente você precisará usar essa opção ao vincular o próprio programa. Você também pode usar a lista dinâmica para controlar quais símbolos devem ser adicionados à tabela de símbolos dinâmicos se o formato de saída o suportar. Veja a descrição de --dynamic-list. Observe que esta opção é específica para portas direcionadas ELF. Os objetivos de PE suportam uma função similar para exportar todos os símbolos de uma DLL ou EXE. Veja a descrição de --export-all-symbols abaixo. Vincule objetos big-endian. Isso afeta o formato de saída padrão. Vincule objetos pequenos-endiantes. Isso afeta o formato de saída padrão. Ao criar um objeto compartilhado ELF, defina o campo DTAUXILIARY interno para o nome especificado. Isso diz ao vinculador dinâmico que a tabela de símbolos do objeto compartilhado deve ser usada como um filtro auxiliar na tabela de símbolos do nome do objeto compartilhado. Se você mais tarde ligar um programa contra este objeto de filtro, então, quando você executar o programa, o vinculador dinâmico verá o campo DTAUXILIARY. Se o vinculador dinâmico resolver qualquer símbolo do objeto de filtro, ele primeiro verificará se existe uma definição no nome do objeto compartilhado. Se houver um, ele será usado em vez da definição no objeto de filtro. O nome do objeto compartilhado não precisa existir. Assim, o nome do objeto compartilhado pode ser usado para fornecer uma implementação alternativa de certas funções, talvez para depuração ou para desempenho específico da máquina. Esta opção pode ser especificada mais de uma vez. As entradas DTAUXILIARY serão criadas na ordem em que aparecem na linha de comando. Ao criar um objeto compartilhado ELF, defina o campo DTFILTER interno para o nome especificado. Isso diz ao vinculador dinâmico que a tabela de símbolos do objeto compartilhado que está sendo criado deve ser usada como um filtro na tabela de símbolos do nome do objeto compartilhado. Se você mais tarde ligar um programa contra este objeto de filtro, então, quando você executar o programa, o vinculador dinâmico verá o campo DTFILTER. O vinculador dinâmico irá resolver símbolos de acordo com a tabela de símbolos do objeto de filtro como de costume, mas ele realmente irá vincular às definições encontradas no nome do objeto compartilhado. Assim, o objeto de filtro pode ser usado para selecionar um subconjunto dos símbolos fornecidos pelo nome do objeto. Alguns leitores mais antigos usaram a opção - F ao longo de uma linha de ferramentas de compilação para especificar o formato do arquivo objeto para arquivos de objeto de entrada e saída. O vinculador GNU usa outros mecanismos para esse fim: o - b. --format. --Oformat opções, o comando TARGET em scripts de linker e a variável de ambiente GNUTARGET. O vinculador GNU ignorará a opção - F quando não estiver criando um objeto compartilhado ELF. Ao criar um executável ELF ou um objeto compartilhado, chame NAME quando o executável ou o objeto compartilhado estiver descarregado, definindo DTFINI no endereço da função. Por padrão, o vinculador usa fini como a função a chamar. Ignorado. Fornecido para compatibilidade com outras ferramentas. Defina o tamanho máximo de objetos a serem otimizados usando o registro de GP para o tamanho. Isso só é significativo para formatos de arquivo de objeto, como o MIPS ECOFF, que suporta a colocação de objetos grandes e pequenos em seções diferentes. Isso é ignorado para outros formatos de arquivo de objeto. Ao criar um objeto compartilhado ELF, defina o campo DTSONAME interno para o nome especificado. Quando um executável está vinculado a um objeto compartilhado que tem um campo DTSONAME, então, quando o executável é executado, o vinculador dinâmico tentará carregar o objeto compartilhado especificado pelo campo DTSONAME em vez de usar o nome do arquivo atribuído ao vinculador. Execute um link incremental (o mesmo que a opção - r). Ao criar um executável ELF ou objeto compartilhado, chamar NAME quando o executável ou o objeto compartilhado é carregado, definindo DTINIT para o endereço da função. Por padrão, o vinculador usa o init como função para chamar. Adicione o arquivo ou arquivo de objeto especificado por namespec para a lista de arquivos a serem vinculados. Esta opção pode ser usada em qualquer número de vezes. Se o item de nome for da forma: nome do arquivo. Ld pesquisará o caminho da biblioteca para um arquivo chamado nome de arquivo. Caso contrário, irá pesquisar o caminho da biblioteca para um arquivo chamado lib namepec. a. Em sistemas que suportam bibliotecas compartilhadas, ld também pode procurar arquivos que não sejam o nome da biblioteca. a. Especificamente, nos sistemas ELF e SunOS, ld pesquisará um diretório para uma biblioteca chamada lib namespec. so antes de procurar um chamado lib namepec. a. Por convenção, uma extensão. so indica uma biblioteca compartilhada. Observe que esse comportamento não se aplica a: filename. Que sempre especifica um arquivo chamado nome de arquivo. O vinculador pesquisará um arquivo apenas uma vez, no local onde ele é especificado na linha de comando. Se o arquivo define um símbolo que estava indefinido em algum objeto que apareceu antes do arquivo na linha de comando, o vinculador incluirá o (s) arquivo (s) apropriado (s) do arquivo. No entanto, um símbolo indefinido em um objeto que aparece mais tarde na linha de comando não fará com que o vinculador busque o arquivo novamente. Veja o - (opção para forçar o vinculador a pesquisar arquivos várias vezes. Você pode listar o mesmo arquivo várias vezes na linha de comando. Esse tipo de pesquisa de arquivo é padrão para conectores Unix. No entanto, se você estiver usando ld on AIX. Observe que é diferente do comportamento do vinculador AIX. Adicione o caminho searchdir à lista de caminhos que ld procurará bibliotecas de arquivos e scripts de controle ld. Você pode usar esta opção em qualquer número de vezes. Os diretórios são pesquisados ​​em A ordem em que são especificados na linha de comando. Os diretórios especificados na linha de comando são pesquisados ​​antes dos diretórios padrão. Todas as opções - L se aplicam a todas as opções - l, independentemente da ordem em que as opções aparecem. Não afeta a forma como ld procura um script de vinculador a menos que a opção - T seja especificada. Se o searchdir começar, então será substituído pelo prefixo sysroot, um caminho especificado quando o vinculador estiver configurado. O conjunto padrão de caminhos pesquisados ​​(sem bei Ng especificado com - L) depende do modo de emulação que ld está usando e, em alguns casos, também sobre como ele foi configurado no tempo de compilação. Os caminhos também podem ser especificados em um script de link com o comando SEARCHDIR. Os diretórios especificados dessa maneira são pesquisados ​​no ponto em que o script do vinculador aparece na linha de comando. Emular o linker da emulação. Você pode listar as emulações disponíveis com as opções --verbose ou - V. Se a opção - m não for usada, a emulação é tirada da variável de ambiente LDEMULATION, se isso for definido. Caso contrário, a emulação padrão depende da forma como o vinculador foi configurado. Imprima um mapa de link para a saída padrão. Um mapa de links fornece informações sobre o link, incluindo o seguinte: Onde arquivos de objeto são mapeados na memória. Como os símbolos comuns são alocados. Todos os membros do arquivo incluídos no link, com uma menção do símbolo que fez com que o membro do arquivo fosse trazido. Os valores atribuídos aos símbolos. Nota: símbolos cujos valores são computados por uma expressão que envolve uma referência a um valor anterior do mesmo símbolo podem não ter resultados corretos exibidos no mapa de links. Isso ocorre porque o vinculador descarta resultados intermédios e apenas mantém o valor final de uma expressão. Sob tais circunstâncias, o vinculador exibirá o valor final entre colchetes. Assim, por exemplo, um script de vinculador que contém: produzirá a seguinte saída no mapa de links se a opção - M for usada: Desligue o alinhamento das páginas das seções e desative a ligação contra bibliotecas compartilhadas. Se o formato de saída suportar números mágicos do estilo Unix, marque a saída como NMAGIC. Defina as seções de texto e dados para serem legíveis e graváveis. Além disso, não alinhe o segmento de dados alinhado na página e desative a ligação contra bibliotecas compartilhadas. Se o formato de saída suportar números mágicos do estilo Unix, marque a saída como OMAGIC. Nota: Embora uma seção de texto gravável seja permitida para destinos PE-COFF, ela não está em conformidade com a especificação de formato publicada pela Microsoft. Esta opção nega a maioria dos efeitos da opção - N. Ele define a seção de texto para ser somente leitura e força o segmento de dados a ser alinhado na página. Nota: esta opção não permite a ligação a bibliotecas compartilhadas. Use - Bynamic para isso. Use a saída como o nome para o programa produzido por ld se esta opção não for especificada, o nome a. out é usado por padrão. O comando de script OUTPUT também pode especificar o nome do arquivo de saída. Se o nível for um valor numérico superior a zero ld otimiza a saída. Isso pode levar significativamente mais tempo e, portanto, provavelmente só deve ser habilitado para o binário final. No momento, esta opção apenas afeta a geração de biblioteca compartilhada ELF. Futuras versões do linker podem fazer mais uso desta opção. Também atualmente não há diferença no comportamento dos vinculadores para diferentes valores diferentes de zero dessa opção. Novamente isso pode mudar com futuras versões. Deixe secções de deslocalização e conteúdos em executáveis ​​totalmente vinculados. As ferramentas de análise e otimização de link de postagem podem precisar dessas informações para realizar modificações corretas dos executáveis. Isso resulta em executáveis ​​maiores. Esta opção atualmente é suportada apenas em plataformas ELF. Força o arquivo de saída para ter seções dinâmicas. Esta opção é específica para os alvos do VxWorks. Gerar saída relocável: ou seja, gerar um arquivo de saída que, por sua vez, pode servir como entrada para ld. Isso geralmente é chamado de ligação parcial. Como efeito colateral, em ambientes que suportam números mágicos Unix padrão, esta opção também define o número mágico de arquivos de saída para o OMAGIC. Se esta opção não for especificada, um arquivo absoluto é produzido. Ao vincular programas C, esta opção não resolverá referências aos construtores para fazer isso, use - Ur. Quando um arquivo de entrada não tem o mesmo formato que o arquivo de saída, a ligação parcial só é suportada se esse arquivo de entrada não contiver quaisquer deslocalizações. Diferentes formatos de saída podem ter restrições adicionais, por exemplo, alguns formatos baseados em a. out não oferecem suporte a vinculação parcial com arquivos de entrada em outros formatos. Esta opção faz o mesmo que - i. Leia nomes de símbolos e seus endereços a partir do nome do arquivo. Mas não o deslocalize ou o inclua na saída. Isso permite que seu arquivo de saída se dirija simbolicamente a locais absolutos de memória definidos em outros programas. Você pode usar essa opção mais de uma vez. Para compatibilidade com outros leitores de ELF, se a opção - R é seguida por um nome de diretório, em vez de um nome de arquivo, ele é tratado como a opção - rpath. Omita todas as informações de símbolos do arquivo de saída. Use scriptfile como o script do linker. Este script substitui o script de vinculador padrão de ld s (em vez de adicionar a ele), então commandfile deve especificar tudo o necessário para descrever o arquivo de saída. Se scriptfile não existir no diretório atual, ld procura por eles nos diretórios especificados por qualquer opção - L anterior. As múltiplas opções - T se acumulam. Use scriptfile como o script de vinculador padrão. Esta opção é semelhante à opção --script, exceto que o processamento do script está atrasado até que o restante da linha de comando tenha sido processado. Isso permite que as opções colocadas após a opção --default-script na linha de comando para afetar o comportamento do script do vinculador, o que pode ser importante quando a linha de comando do vinculador não pode ser controlada diretamente pelo usuário. (Por exemplo, porque a linha de comando está sendo construída por outra ferramenta, tal como gcc). Forçar o símbolo a ser inserido no arquivo de saída como um símbolo indefinido. Isso pode, por exemplo, desencadear a ligação de módulos adicionais de bibliotecas padrão. - u pode ser repetido com argumentos de opção diferentes para inserir símbolos adicionais indefinidos. Essa opção é equivalente ao comando de script do vinculador EXTERN. Para outros programas que não sejam C, esta opção é equivalente a - r. Gera saída relocável, isto é, um arquivo de saída que pode, por sua vez, servir como entrada para ld. Ao vincular os programas C, - Ur resolve as referências aos construtores, ao contrário de - r. Não funciona para usar - Ur em arquivos que foram vinculados com - Ur uma vez que a tabela do construtor foi construída, não pode ser adicionada. Use - Ur apenas para o último link parcial e - r para os outros. Cria uma seção de saída separada para cada seção de entrada que corresponde a SEÇÃO, ou se o argumento opcional da categoria curinga estiver faltando, para cada seção de entrada órfão. Uma seção órfã é uma não especificamente mencionada em um script de linker. Você pode usar esta opção várias vezes na linha de comando. Ela impede a fusão normal de seções de entrada com o mesmo nome, substituindo as atribuições de seção de saída em um script de vinculador. Exibir o número da versão para ld. A opção - V também lista as emulações suportadas. Outras palavras-chave são ignoradas para a compatibilidade do Solaris. --Arquivos de grupo inicial - grupo de fim Os arquivos devem ser uma lista de arquivos. Eles podem ser nomes de arquivos explícitos ou - l opções. Os arquivos especificados são pesquisados ​​repetidamente até que nenhuma nova referência indefinida seja criada. Normalmente, um arquivo é pesquisado apenas uma vez na ordem em que é especificado na linha de comando. Se um símbolo desse arquivo for necessário para resolver um símbolo indefinido referido por um objeto em um arquivo que aparece mais tarde na linha de comando, o vinculador não poderá resolver essa referência. Ao agrupar os arquivos, todos serão pesquisados ​​repetidamente até que todas as referências possíveis sejam resolvidas. Usar essa opção possui um custo de desempenho significativo. É melhor usá-lo somente quando houver referências circulares inevitáveis ​​entre dois ou mais arquivos. Avisa o vinculador para aceitar arquivos de entrada cuja arquitetura não pode ser reconhecida. O pressuposto é que o usuário sabe o que está fazendo e deseja deliberadamente vincular esses arquivos de entrada desconhecidos. Este foi o comportamento padrão do vinculador, antes da versão 2.14. O comportamento padrão da versão 2.14 em diante é rejeitar esses arquivos de entrada e, portanto, a opção --accept-unknown-input-arch foi adicionada para restaurar o comportamento antigo. Esta opção afeta as tags ELF DTNEEDED para bibliotecas dinâmicas mencionadas na linha de comando após a opção --como necessária. Normalmente, o vinculador adicionará uma etiqueta DTNEEDED para cada biblioteca dinâmica mencionada na linha de comando, independentemente de a biblioteca ser realmente necessária ou não. --como necessário - faz com que uma etiqueta DTNEEDED seja emitida apenas para uma biblioteca que satisfaça uma referência de símbolo indefinida de um arquivo de objeto regular ou, se a biblioteca não for encontrada nas listas DTNEEDED de outras bibliotecas ligadas até esse ponto, um indefinido Referência de símbolo de outra biblioteca dinâmica. --no-como-necessário restaura o comportamento padrão. Essas duas opções foram obsoletas devido à semelhança de seus nomes com as opções --como necessárias e não necessárias. Eles foram substituídos por entradas --copy-dt-needed-e - não-copy-dt-needed-entries. Esta opção é ignorada para a compatibilidade do SunOS. Link contra bibliotecas dinâmicas. Isso só é significativo em plataformas para as quais as bibliotecas compartilhadas são suportadas. Esta opção normalmente é o padrão em tais plataformas. As diferentes variantes desta opção são para compatibilidade com vários sistemas. Você pode usar esta opção várias vezes na linha de comando: ela afeta a biblioteca procurando por - l opções que a seguem. Defina o sinalizador DF1GROUP na entrada DTFLAGS1 na seção dinâmica. Isso faz com que o vinculador de tempo de execução manipule pesquisas neste objeto e suas dependências sejam executadas apenas dentro do grupo. - relatório de símbolos não resolvido - tudo está implícito. Esta opção só é significativa em plataformas ELF que suportam bibliotecas compartilhadas. Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for - l options which follow it. This option also implies --unresolved-symbolsreport-all . This option can be used with - shared . Doing so means that a shared library is being created but that all of the librarys external references must be resolved by pulling in entries from static libraries. When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries. When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries. Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldnt be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. Include all global data symbols to the dynamic list. Provide the builtin dynamic list for C operator new and delete. It is mainly useful for building shared libstdc. Provide the builtin dynamic list for C runtime type identification. Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command line switch --check-sections . Section overlap is not usually checked for relocatable links. You can force checking in that case by using the --check-sections option. This option affects the treatment of dynamic libraries referred to by DTNEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker wont add a DTNEEDED tag to the output binary for each library mentioned in a DTNEEDED tag in an input dynamic library. With --copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DTNEEDED entries added. The default behaviour can be restored with --no-copy-dt-needed-entries . This option also has an effect on the resolution of symbols in dynamic libraries. With --copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DTNEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DTNEEDED links will be traversed to resolve symbols. Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. The remaining files contain references to the symbol. This option inhibits the assignment of addresses to common symbols. The script command INHIBITCOMMONALLOCATION has the same effect. The --no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using --no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution. Create a global symbol in the output file, containing the absolute address given by expression . You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ( ), and expression . These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECTNODEMANGLE is set. These options may be used to override the default. Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct dont use this unless you know what you are doing. Treat all warnings as errors. The default behaviour can be restored with the option --no-fatal-warnings . Make sure that an output file has a. exe suffix. If a successfully built fully linked output file does not have a. exe or. dll suffix, this option forces the linker to copy the output file to one of the same name with a. exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows wont run an image unless it ends in a. exe suffix. Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying --no-gc-sections on the command line. --gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See --entry and --undefined . This option can be set when doing a partial link (enabled with option - r ). In this case the root of symbols kept must be explicitly specified either by an --entry or --undefined option or by a ENTRY command in the linker script. List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the --gc-sections ) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying --no-print-gc-sections on the command line. Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUTFORMAT linker script command. Print a summary of the command-line options on the standard output and exit. Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files. Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linkers command line. The behaviour for shared libraries on their own can also be controlled by the -- no - allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option --warn-unresolved-symbols can change this to a warning. Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument gt 1 . plugin symbol status will also be displayed. Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported. Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples: A definition, which goes in the initialized data section of the output file. An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere. A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable. The --warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol. 1. Turning a common symbol into a reference, because there is already a definition for the symbol. 2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. 3. Merging a common symbol with a previous same-sized common symbol. 4. Merging a common symbol with a previous larger common symbol. 5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors. Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the DEC Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e. g. 16 bits ), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs. Only warn once for each undefined symbol, rather than once per module which refers to it. Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified that is, if the SECTIONS command does not specify a start address for the section. Warn if the linker adds a DTTEXTREL to a shared object. The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior. Here is a summary of the options you can use on the ld command line: This plethora of command-line options may seem intimidating, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello. o. This tells ld to produce a file called output as the result of linking the file libcrt0.o with hello. o and the library libc. a. which will come from the standard search directories. (See the discussion of the - l option below.) The command-line options to ld may be specified in any order, and may be repeated at will. Repeating most options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. The exceptions--which may meaningfully be used more than once--are - A. - b (or its synonym - format ), - defsym. - L. - l. - R. - u. and -( (or its synonym --start-group ). The list of object files to be linked together, shown as objfile. may follow, precede, or be mixed in with command-line options, except that an objfile argument may not be placed between an option and its argument. Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using - l. - R. and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files. If the linker can not recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using - T ). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. See sec tion Command Language. For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them. For options whose names are multiple letters, either one dash or two can precede the option name for example, --oformat and - oformat are equivalent. Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, --oformat srec and --oformatsrec are equivalent. Unique abbreviations of the names of multiple-letter options are accepted. - b input-format ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the - b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you dont usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump - i .) - format input-format has the same effect, as does the script command TARGET. See section BFD. You may want to use this option if you are linking files with an unusual binary format. You can also use - b to switch formats explicitly (when linking object files of different formats), by including - b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET see section Option Commands. - Bstatic Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. - Bdynamic Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. - Bsymbolic When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries. - c MRI-commandfile For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in section MRI Compatible Script Files. Introduce MRI script files with the option - c use the - T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any - L options. - d - dc - dp These three options are equivalent multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with - r ). The script command FORCECOMMONALLOCATION has the same effect. See section Option Commands. - defsym symbol expression Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script (see section Assignment: Defining Symbols ). Note: there should be no white space between symbol. the equals sign ( ), and expression. - embedded-relocs This option is only meaningful when linking MIPS embedded PIC code, generated by the - membedded-pic option to the GNU compiler and assembler. It causes the linker to create a table which may be used at runtime to relocate any data which was statically initialized to pointer values. See the code in testsuiteld-empic for details. - e entry Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. See section The Entry Point. for a discussion of defaults and other ways of specifying the entry point. - F - F format Ignored. Some older linkers used this option throughout a compilation toolchain for specifying object-file format for both input and output object files. The mechanisms ld uses for this purpose (the - b or - format options for input files, - oformat option or the TARGET command in linker scripts for output files, the GNUTARGET environment variable) are more flexible, but ld accepts the - F option for compatibility with scripts written to call the old linker. - format input-format Synonym for - b input-format . - g Ignored. Provided for compatibility with other tools. - G value - G value Set the maximum size of objects to be optimized using the GP register to size under MIPS ECOFF. Ignored for other object file formats. - help Print a summary of the command-line options on the standard output and exit. - i Perform an incremental link (same as option - r ). - l ar Add archive file archive to the list of files to link. This option may be used any number of times. ld will search its path-list for occurrences of lib ar. a for every archive specified. - L searchdir - L searchdir Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All - L options apply to all - l options, regardless of the order in which the options appear. The paths can also be specified in a link script with the SEARCHDIR command. Directories specified this way are searched at the point in which the linker script appears in the command line. - M Print (to the standard output) a link map--diagnostic information about where symbols are mapped by ld. and information on global common storage allocation. - Map mapfile Print to the file mapfile a link map--diagnostic information about where symbols are mapped by ld. and information on global common storage allocation. - m emulation - m emulation Emulate the emulation linker. You can list the available emulations with the --verbose or - V options. The default depends on how your ld was configured. - N Set the text and data sections to be readable and writable. Also, do not page-align the data segment. If the output format supports Unix style magic numbers, mark the output as OMAGIC. - n Set the text segment to be read only, and mark the output as NMAGIC if possible. - noinhibit-exec Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process it exits without writing an output file when it issues any error whatsoever. - no-keep-memory ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable. - o output Use output as the name for the program produced by ld if this option is not specified, the name a. out is used by default. The script command OUTPUT can also specify the output file name. - oformat output-format ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the - oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you dont usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump - i .) The script command OUTPUTFORMAT can also specify the output format, but this option overrides it. See section BFD. - R filename Read symbol names and their addresses from filename. but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. - relax An option with machine dependent effects. On some platforms, the - relax option performs global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes and synthesizing new instructions in the output object file. - retain-symbols-file filename Retain only the symbols listed in the file filename. discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments where a large global symbol table is accumulated gradually, to conserve run-time memory. - retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify - retain-symbols-file once in the command line. It overrides - s and - S. - r Generate relocatable output--i. e. generate an output file that can in turn serve as input to ld. This is often called partial linking . As a side effect, in environments that support standard Unix magic numbers, this option also sets the output files magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C programs, this option will not resolve references to constructors to do that, use - Ur. This option does the same thing as - i. - S Omit debugger symbol information (but not all symbols) from the output file. - s Omit all symbol information from the output file. - shared Create a shared library. This is currently only supported on ELF and SunOS platforms. No SunOS, o vinculador criará automaticamente uma biblioteca compartilhada se a opção - e não for usada e existirem símbolos indefinidos no link. - sort-common Normally, when ld places the global common symbols in the appropriate output sections, it sorts them by size. First come all the one byte symbols, then all the two bytes, then all the four bytes, and then everything else. This is to prevent gaps between symbols due to alignment constraints. This option disables that sorting. - split-by-reloc count Trys to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable for downloading into certain real time kernels with the COFF object file format since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. - split-by-file Similar to - split-by-reloc but creates a new output section for each input file. - stats Compute and display statistics about the operation of the linker, such as execution time and memory usage. - Tbss org - Tdata org - Ttext org Use org as the starting address for--respectively--the bss. dados. or the text segment of the output file. org must be a single hexadecimal integer for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. - T commandfile - T commandfile Read link commands from the file commandfile. These commands replace ld s default link script (rather than adding to it), so commandfile must specify everything necessary to describe the target format. See section Command Language. If commandfile does not exist, ld looks for it in the directories specified by any preceding - L options. Multiple - T options accumulate. - t Print the names of the input files as ld processes them. - traditional-format For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program ( gdb has no trouble). The - traditional-format switch tells ld to not combine duplicate entries. - u symbol Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. - u may be repeated with different option arguments to enter additional undefined symbols. - Ur For anything other than C programs, this option is equivalent to - r. it generates relocatable output--i. e. an output file that can in turn serve as input to ld. When linking C programs, - Ur does resolve references to constructors, unlike - r. It does not work to use - Ur on files that were themselves linked with - Ur once the constructor table has been built, it cannot be added to. Use - Ur only for the last partial link, and - r for the others. --verbose Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. - v - V Display the version number for ld. The - V option also lists the supported emulations. - version Display the version number for ld and exit. - warn-common Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples: int i 1 A definition, which goes in the initialized data section of the output file. extern int i An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere. int i A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable. The - warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol. Turning a common symbol into a reference, because there is already a definition for the symbol. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. Merging a common symbol with a previous same-sized common symbol. Merging a common symbol with a previous larger common symbol. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. - warn-constructors Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors. - warn-once Only warn once for each undefined symbol, rather than once per module which refers to it. For each archive mentioned on the command line, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. - X Delete all temporary local symbols. For most targets, this is all local symbols whose names begin with L. - x Delete all local symbols. - y symbol Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but dont know where the reference is coming from. -( archives -) --start-group archives --end-group The archives should be a list of archive files. They may be either explicit file names, or - l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives. Go to the first. previous. Próximo. last section, table of contents.

Comments

Popular posts from this blog

Best Binário Opções Corretores Com Demo Contas

Forex Trading With Forex Robots

Gcm Forex Demo Hesap Kapatma