.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "AR 1" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH AR 1 "21 febbraio 2024" binutils\-2.42 "Strumenti di sviluppo GNU" .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NOME ar \- crea, modifica ed estrae da archivi .SH SINTASSI .IX Header SINTASSI ar [\fB\-X32_64\fP] [\fB\-\fP]\fIp\fP[\fImod\fP] [\fB\-\-plugin\fP \fIname\fP] [\fB\-\-target\fP \fIbfdname\fP] [\fB\-\-output\fP \fIdirname\fP] [\fB\-\-record\-libdeps\fP \fIlibdeps\fP] [\fB\-\-thin\fP] [\fIrelpos\fP] [\fIcount\fP] \fIarchive\fP [\fImember\fP...] .SH DESCRIZIONE .IX Header DESCRIZIONE The GNU \fBar\fP program creates, modifies, and extracts from archives. An \fIarchive\fP is a single file holding a collection of other files in a structure that makes it possible to retrieve the original individual files (called \fImembers\fP of the archive). .PP I contenuti originali dei file, modi (permessi), data e ora, proprietario, e gruppo sono preservati nell'archivio, e possono essere ripristinati all'estrazione. .PP GNU \fBar\fP can maintain archives whose members have names of any length; however, depending on how \fBar\fP is configured on your system, a limit on member\-name length may be imposed for compatibility with archive formats maintained with other tools. If it exists, the limit is often 15 characters (typical of formats related to a.out) or 16 characters (typical of formats related to coff). .PP \&\fBar\fP is considered a binary utility because archives of this sort are most often used as \fIlibraries\fP holding commonly needed subroutines. Since libraries often will depend on other libraries, \&\fBar\fP can also record the dependencies of a library when the \&\fB\-\-record\-libdeps\fP option is specified. .PP \&\fBar\fP crea un indice nell'archivio dei simboli definiti in moduli oggetto rilocabili quando si specifica il modificatore \fBs\fP. Una volta creato, questo indice è aggiornato nell'archivio qualora \fBar\fP apporti un cambiamento ai suoi contenuti (eccetto che per l'operazione aggiornamento \fBq\fP). Un archivio con tale indice velocizza il collegamento alla libreria, e permette alle routine nella libreria di chiamare le altre senza tener conto della loro posizione nell'archivio. .PP Si può usare \fBnm \-s\fP o \fBnm \-\-print\-armap\fP per elencare questa tabella indice. Se a un archivio manca la tabella, può essere usata un'altra forma di \fBar\fP chiamata \&\fBranlib\fP per aggiungere solo la tabella. .PP GNU \fBar\fP can optionally create a \fIthin\fP archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space. .PP Un archivio può essere o \fIleggero\fP o normale. Non può essere entrambi allo stesso tempo. Una volta creato, il formato dell'archivio non può essere cambiato senza prima cancellarlo e poi creare un nuovo archivio al suo posto. .PP Gli archivi leggeri sono anche \fIflattened\fP, così che aggiungendo un archivio leggero a un altro archivio leggero non lo nidifica, come accadrebbe con un archivio normale. Invece gli elementi del primo archivio vengono aggiunti individualmente al secondo archivio. .PP I percorsi agli elementi dell'archivio sono immagazzinati rispetto all'archiviostesso. .PP GNU \fBar\fP is designed to be compatible with two different facilities. You can control its activity using command\-line options, like the different varieties of \fBar\fP on Unix systems; or, if you specify the single command\-line option \fB\-M\fP, you can control it with a script supplied via standard input, like the MRI "librarian" program. .SH OPZIONI .IX Header OPZIONI GNU \fBar\fP allows you to mix the operation code \fIp\fP and modifier flags \fImod\fP in any order, within the first command\-line argument. .PP Se lo si desidera, si può cominciare il primo argomento della riga di comando con un trattino. .PP La lettera chiave \fIp\fP specifica quale operazione eseguire; può essere qualunque delle seguenti, ma se ne deve specificare solo una: .IP \fBd\fP 4 .IX Item d \&\fICancella\fP moduli dall'archivio. Specifica i nomi dei moduli da cancellare come \fImembri\fP...; l'archivio non viene modificato se non si specificano file da cancellare. .Sp Se si specifica il modificatore \fBv\fP, \fBar\fP elenca ciascun modulo che viene cancellato. .IP \fBm\fP 4 .IX Item m Usare questa operazione per \fIspostare\fP i membri in un archivio. .Sp L'ordinamento dei membri in un archivio può creare differenze in come i programmi sono collegati usando la libreria, se un simbolo è definito in più di un membro. .Sp Se non sono usati modificatori con \f(CW\*(C`m\*(C'\fP, ogni membro che si nomina negli argomenti \&\fImember\fP viene spostato alla \fIfine\fP dell'archivio; si possono usare i modificatori \fBa\fP, \fBb\fP, o \fBi\fP per spostarli invece in un punto specificato. .IP \fBp\fP 4 .IX Item p \&\fIStampa\fP i membri dell'archivio specificati, sul file dello standard output. Se è specificato il modificatore \fBv\fP, visualizza il nome del membro prima di copiare i suoi contenuti sullo standard output. .Sp Se non si specificano argomenti \fImember\fP, tutti i file nell'archivio sono stampati. .IP \fBq\fP 4 .IX Item q \&\fIQuick append\fP; Storicamente aggiunge i file \fImembro\fP... alla fine dell'\&\fIarchivio\fP, senza verificare le sostituzioni. .Sp I modificatori \fBa\fP, \fBb\fP e \fBi\fP \fInon\fP influenzano questa operazione; nuovi membri sono sempre posti alla fine dell'archivio. .Sp Il modificatore \fBv\fP fa sì che \fBar\fP elenchi ciascun file quando viene aggiunto. .Sp Since the point of this operation is speed, implementations of \&\fBar\fP have the option of not updating the archive's symbol table if one exists. Too many different systems however assume that symbol tables are always up\-to\-date, so GNU \fBar\fP will rebuild the table even with a quick append. .Sp Note \- GNU \fBar\fP treats the command \fBqs\fP as a synonym for \fBr\fP \- replacing already existing files in the archive and appending new ones at the end. .IP \fBr\fP 4 .IX Item r Inserisce i file \fImembri\fP... in \fIarchivio\fP (con \&\fIsostituzione\fP). Questa operazione differisce da \fBq\fP nel senso che tutti i membri precedentemente esistenti sono cancellati se i loro nomi corrispondono a quelli che sono stati aggiunti. .Sp Se uno dei file nominati come \fImembri\fP... non esiste, \fBar\fP visualizza un messaggio di errore, e lascia indisturbati tutti i membri esistenti dell'archivio che corrisponde a questo nome. .Sp In modo predefinito, i nuovi membri sono aggiunti alla fine del file; ma si può usare uno dei modificatori \fBa\fP, \fBb\fP, o \fBi\fP per richiedere posizionamenti relativi a qualche membro esistente. .Sp Il modificatore \fBv\fP usato con questa operazione ricava una riga di output per ciascun file inserito, insieme a una delle lettere \fBa\fP o \&\fBr\fP per indicare se il file è stato aggiunto (nessun membro vecchio cancellato) o sostituito. .IP \fBs\fP 4 .IX Item s Aggiunge un indice all'archivio, o lo aggiorna se già esiste. Notare che questo comando è un'eccezione alla regola che ci può essere solo una lettera comando, in quanto è possibile usarla sia come comando che come modificatore. In entrambi i casi fa la stessa cosa. .IP \fBt\fP 4 .IX Item t Visualizza una \fItabella\fP che elenca i contenuti dell'\fIarchivio\fP, o quelli dei file elencati in \fImembro\fP... che sono presenti nell'archivio. Normalmente è mostrato solo il nome del membro; se si vogliono vedere anche i modi (permessi), data e ora, proprietario, grupppo e dimensione, si può richiederlo specificando anche il modificatore \fBv\fP. .Sp Se non si specifica un \fImembro\fP sono elencati tutti i file nell'archivio. .Sp Se c'è più di un file con lo stesso nome (diciamo, \fBfie\fP) in un archivio (diciamo, \fBb.a\fP), \fBar t b.a fie\fP elenca solo la prima istanza; per vederle tutte bisogna richiedere l'elenco completo \-\-\- nel nostro esempio, \fBar t b.a\fP. .IP \fBx\fP 4 .IX Item x \&\fIEstrae\fP membri (chiamati \fImembro\fP) dall'archivio. Si può usare il modificatore \fBv\fP con questa operazione, per richiedere che \&\fBar\fP elenchi il nome di ciascun membro quando lo estrae. .Sp Se non si specifica un \fImembro\fP, tutti i file nell'archivio vengono estratti. .Sp Files cannot be extracted from a thin archive, and there are restrictions on extracting from archives created with \fBP\fP: The paths must not be absolute, may not contain \f(CW\*(C`..\*(C'\fP, and any subdirectories in the paths must exist. If it is desired to avoid these restrictions then used the \fB\-\-output\fP option to specify an output directory. .PP Un numero di modificatori (\fImod\fP) può seguire immediatamente la lettera chiave \fIp\fP per specificare variazioni su di un comportamento di un'operazione: .IP \fBa\fP 4 .IX Item a Aggiunge nuovi file \fIdopo\fP un membro esistente dell'archivio. Se si usa il modificatore \fBa\fP, il nome di un membro di archivio esistente deve essere presente come argomento \fIrelpos\fP, prima della specificazione dell'\&\fIarchivio\fP. .IP \fBb\fP 4 .IX Item b Aggiunge nuovi file \fIprima\fP di un membro esistente dell'archivio.Se si usa il modificatore \fBb\fP, il nome di un membro di archivioesistente deve essere presente come argomento \fIrelpos\fP, prima dellaspecificazione dell'\&\fIarchivio\fP. (lo stesso come \fBi\fP). .IP \fBc\fP 4 .IX Item c \&\fICrea\fP l'archivio. L'\fIarchivio\fP specificato è sempre creato se esso non esiste, quando si richiede un aggiornamento. Ma, usando questo modificatore, viene emesso un avviso, a meno che non si specifichi in anticipo che si intende crearlo. .IP \fBD\fP 4 .IX Item D Opera in modalità \fIdeterministica\fP. Quando si aggiungono file e l'indice di archivio, usa zero per gli UID, i GID e le marcature temporali, e usa permessi di file coerenti per tutti i file. Quando viene usata quest'opzione, se \fBar\fP è usato con le stesse identiche opzioni e gli stessi file, esecuzioni multiple creano file di output identici, a prescindere da proprietari, gruppi, permessi, o data/ora di modifica, dei file di input. .Sp Se \fIbinutils\fP è stato configurato con \&\fB\-\-enable\-deterministic\-archives\fP, questa modalità è attiva in modo predefinito. Può essere disabilitata col modificatore \fBU\fP, più avanti. .IP \fBf\fP 4 .IX Item f Truncate names in the archive. GNU \fBar\fP will normally permit file names of any length. This will cause it to create archives which are not compatible with the native \fBar\fP program on some systems. If this is a concern, the \fBf\fP modifier may be used to truncate file names when putting them in the archive. .IP \fBi\fP 4 .IX Item i Inserisce nuovi file \fIprima\fP di un membro esistente dell'archivio. Se si usa il modificatore \fBi\fP, il nome di un membro di archivio esistente deve essere presente come argomento \fIrelpos\fP, prima della specificazione dell'\&\fIarchivio\fP. (lo stesso come \fBb\fP). .IP \fBl\fP 4 .IX Item l Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted to form a single command line argument. For example \fBL "\-L/usr/local/lib \-lmydep1 \-lmydep2"\fP .IP \fBN\fP 4 .IX Item N Usa il parametro \fIcount\fP. Questo è usato se ci sono campi multipli nell'archivio con lo stesso nome. Estrae o cancella l'istanza \&\fIcount\fP del dato nome dall'archivio. .IP \fBo\fP 4 .IX Item o Preserva le date \fIoriginali\fP dei membri quando li si estrae. Se non si specifica questo modificatore, i file estratti dall'archivio sono marcati con l'ora dell'estrazione. .IP \fBO\fP 4 .IX Item O Display member offsets inside the archive. Use together with the \fBt\fP option. .IP \fBP\fP 4 .IX Item P Use the full path name when matching or storing names in the archive. Archives created with full path names are not POSIX compliant, and thus may not work with tools other than up to date GNU tools. Modifying such archives with GNU \fBar\fP without using \&\fBP\fP will remove the full path names unless the archive is a thin archive. Note that \fBP\fP may be useful when adding files to a thin archive since \fBr\fP without \fBP\fP ignores the path when choosing which element to replace. Thus .Sp .Vb 1 \& ar rcST archive.a subdir/file1 subdir/file2 file1 .Ve .Sp will result in the first \f(CW\*(C`subdir/file1\*(C'\fP being replaced with \&\f(CW\*(C`file1\*(C'\fP from the current directory. Adding \fBP\fP will prevent this replacement. .IP \fBs\fP 4 .IX Item s Scrive un indice dei file oggetto nell'archivio, o ne aggiorna uno esistente, anche se non vengono apportati altri cambiamenti all'archivio. Si può usare questo modificatore sia con altre operazioni che da solo. L'esecuzione di \fBar s\fP su un archivio è equivalente all'esecuzione di \fBranlib\fP su di esso. .IP \fBS\fP 4 .IX Item S Non genera una tabella simboli dell'archivio. Questo può accelerare la costruzione di una grande libreria in molte fasi. L'archivio risultante non può essere usato con il linker. Per costruire una tabella simboli bisogna omettere il modificatore \&\fBS\fP sull'ultima esecuzione di \fBar\fP, o bisogna eseguire \&\fBranlib\fP sull'archivio. .IP \fBT\fP 4 .IX Item T Deprecated alias for \fB\-\-thin\fP. \fBT\fP is not recommended because in many ar implementations \fBT\fP has a different meaning, as specified by X/Open System Interface. .IP \fBu\fP 4 .IX Item u Normalmente \fBar r\fP... inserisce tutti i file elencati nell'archivio. Se si desidera inserire \fIsolo\fP quei file elencati che sono più nuovi dei membri esistenti dello stesso nome, usare questo modificatore. Il modificatore \fBu\fP è permesso solo per l'operazione \fBr\fP (sostituzione). In particolare, la combinazione \fBqu\fP non è permessa, poiché la verifica di data e ora farebbe perdere ogni vantaggio in velocità dall'operazione \fBq\fP. .Sp Note \- if an archive has been created in a deterministic manner, eg via the use of the \fBD\fP modifier, then replacement will always happen and the \fBu\fP modifier will be ineffective. .IP \fBU\fP 4 .IX Item U Do \fInot\fP operate in \fIdeterministic\fP mode. This is the inverse of the \fBD\fP modifier, above: added files and the archive index will get their actual UID, GID, timestamp, and file mode values. .Sp Questo è il predefinito a meno che \fIbinutils\fP non sia stato configurato con \&\fB\-\-enable\-deterministic\-archives\fP. .IP \fBv\fP 4 .IX Item v Questo modificatore richiede la versione \fIprolissa\fP di un'operazione. Molte operazioni visualizzano informazioni aggiuntive, come i nomi di file processati, quando viene aggiunto il modificatore \fBv\fP. .IP \fBV\fP 4 .IX Item V Questo modificatore mostra il numero di versione di \fBar\fP. .PP The \fBar\fP program also supports some command\-line options which are neither modifiers nor actions, but which do change its behaviour in specific ways: .IP \fB\-\-help\fP 4 .IX Item \-\-help Mostra l'elenco delle opzioni da riga di comando supportate da \fBar\fP ed poi esce. .IP \fB\-\-version\fP 4 .IX Item \-\-version Mostra le informazioni sulla versione di \fBar\fP ed poi esce. .IP \fB\-X32_64\fP 4 .IX Item \-X32_64 \&\fBar\fP ignores an initial option spelled \fB\-X32_64\fP, for compatibility with AIX. The behaviour produced by this option is the default for GNU \fBar\fP. \fBar\fP does not support any of the other \fB\-X\fP options; in particular, it does not support \&\fB\-X32\fP which is the default for AIX \fBar\fP. .IP "\fB\-\-plugin\fP \fInome\fP" 4 .IX Item "\-\-plugin nome" The optional command\-line switch \fB\-\-plugin\fP \fIname\fP causes \&\fBar\fP to load the plugin called \fIname\fP which adds support for more file formats, including object files with link\-time optimization information. .Sp This option is only available if the toolchain has been built with plugin support enabled. .Sp If \fB\-\-plugin\fP is not provided, but plugin support has been enabled then \fBar\fP iterates over the files in \&\fI${libdir}/bfd\-plugins\fP in alphabetic order and the first plugin that claims the object in question is used. .Sp Please note that this plugin search directory is \fInot\fP the one used by \fBld\fP's \fB\-plugin\fP option. In order to make \&\fBar\fP use the linker plugin it must be copied into the \&\fI${libdir}/bfd\-plugins\fP directory. For GCC based compilations the linker plugin is called \fIliblto_plugin.so.0.0.0\fP. For Clang based compilations it is called \fILLVMgold.so\fP. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one. .IP "\fB\-\-target\fP \fItarget\fP" 4 .IX Item "\-\-target target" Il commutatore opzionale da riga di comando \fB\-\-target\fP \fIbfdname\fP specifica che i membri dell'archivio sono in un formato di codice oggetto diverso dal formato predefinito per il sistema in uso. Si veda .IP "\fB\-\-output\fP \fIdirname\fP" 4 .IX Item "\-\-output dirname" The \fB\-\-output\fP option can be used to specify a path to a directory into which archive members should be extracted. If this option is not specified then the current directory will be used. .Sp Note \- although the presence of this option does imply a \fBx\fP extraction operation that option must still be included on the command line. .IP "\fB\-\-record\-libdeps\fP \fIlibdeps\fP" 4 .IX Item "\-\-record\-libdeps libdeps" L'opzione \fB\-\-record\-libdeps\fP è identica al modificatore \fBl\fP, solo che è scritta nella forma lunga. .IP \fB\-\-thin\fP 4 .IX Item \-\-thin Rende l'\fIarchivio\fP specificato un archivio \fIleggero\fP. Se esiste già ed è un archivio regolare, i membri esistenti devono essere presenti nella stessa directory come \fIarchivio\fP. .IP \fB@\fP\fIfile\fP 4 .IX Item @file Legge le opzioni da riga di comando da \fIfile\fP. Le opzioni lette sono inserite al posto dell'opzione originale @\fIfile\fP. Se \fIfile\fP non esiste o non può essere letto, l'opzione sarà trattata letteralmente, e non rimossa. .Sp Le opzioni in \fIfile\fP sono separate da spazi vuoti. Si può includere uno spazio vuoto in un'opzione racchiudendo l'intera opzione fra apici, singoli o doppi. Può essere incluso qualsiasi carattere (compresa la barra inversa) facendo precedere al carattere una barra inversa. Il \fIfile\fP può esso stesso contenere ulteriori opzioni @\fIfile\fP; ciascuna di queste opzioni sarà elaborata ricorsivamente. .SH "VEDERE ANCHE" .IX Header "VEDERE ANCHE" \&\fBnm\fP\|(1), \fBranlib\fP\|(1) e i campi Info per \fIbinutils\fP. .SH COPYRIGHT .IX Header COPYRIGHT Copyright (c) 1991\-2024 Free Software Foundation, Inc. .PP È permesso copiare, distribuire e/o modificare questo documento nei termini della \*(lqLicenza per documentazione libera GNU\*(rq (GNU Free Documentation License), versione 1.3 o ogni versione successiva pubblicata dalla Free Software Foundation; senza sezioni non modificabili, senza testi di prima di copertina e di quarta di copertina. Una copia della licenza è inclusa nella sezione intitolata \*(lqLicenza per la documentazione libera GNU" (GNU Free Documentation License). .PP .SH TRADUZIONE La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà , Hugh Hartmann e Marco Curreli . .PP Questa traduzione è documentazione libera; leggere la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Versione 3 .UE o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità. .PP Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a .MT pluto-ildp@lists.pluto.it .ME .