AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

mips64el-linux-gnuabi64-objdump - En ligne dans le Cloud

Exécutez mips64el-linux-gnuabi64-objdump dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande mips64el-linux-gnuabi64-objdump qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


objdump - affiche les informations des fichiers objets.

SYNOPSIS


vidage obj [-a|--archive-en-têtes]
[-b nom bfd|--cible=nom bfd]
[-C|--démêler[=Catégorie] ]
[-d|--démonter]
[-D|--désassembler-tout]
[-z|--désassembler-zéros]
[-EB|-LA|--endien={grand | peu }]
[-f|--file-en-têtes]
[-F|--file-offsets]
[--file-start-context]
[-g|--débogage]
[-e|--balises de débogage]
[-h|--en-têtes de section|--en-têtes]
[-i|--Info]
[-j |--section= ]
[-l|--ligne-numéros]
[-S|--la source]
[-m click|--architecture=click]
[-M Options|--disassembler-options=Options]
[-p|--en-têtes-privés]
[-P Options|--privé=Options]
[-r|--relocaliser]
[-R|--dynamique-relocalisation]
[-s|--contenu-complet]
[-W[lLiaprmfFsoRt]|
--nain[=rawline,=decodedline,=info,=abbrev,=noms de pub]
[=arranges,=macro,=frames,=frames-interp,=str,=loc]
[=Plages,=pubtypes,=trace_info,=trace_abbrev]
[=trace_aranges,=gdb_index]
[-G|--coups de poignard]
[-t|--syms]
[-T|--syms-dynamiques]
[-x|--tous les en-têtes]
[-w|--large]
[--adresse-de-début=propos]
[--stop-adresse=propos]
[--prefix-address]
[--[no-]show-raw-insn]
[--adjust-vma=compenser]
[--spécial-sym]
[--préfixe=préfixe]
[--prefix-strip=niveau]
[--insn-largeur=largeur]
[-V|--version]
[-H|--Aidez-moi]
fichier obj

DESCRIPTION


objdump affiche des informations sur un ou plusieurs fichiers objet. Les options contrôlent ce
informations particulières à afficher. Cette information est surtout utile aux programmeurs qui
travaillent sur les outils de compilation, par opposition aux programmeurs qui veulent juste leur
programme à compiler et à travailler.

fichier obj... sont les fichiers objets à examiner. Lorsque vous spécifiez des archives, objdump spectacles
informations sur chacun des fichiers objets membres.

OPTIONS


Les formes longues et courtes des options, présentées ici comme alternatives, sont équivalentes. Au moins
une option de la liste -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T ,-V,-x doit être
donné.

-a
--archive-en-tête
Si l'un des fichier obj sont des archives, afficher les informations d'en-tête de l'archive (dans un
format similaire à ls -l). Outre les informations que vous pourriez énumérer avec ar tv, objdump
-a affiche le format de fichier objet de chaque membre de l'archive.

--adjust-vma=compenser
Lors du vidage des informations, ajoutez d'abord compenser à toutes les adresses des sections. C'est
utile si les adresses des sections ne correspondent pas à la table des mnémoniques, ce qui peut
se produire lors de la mise des sections à des adresses particulières lors de l'utilisation d'un format qui ne peut pas
représentent des adresses de section, telles que a.out.

-b nom bfd
--cible=nom bfd
Spécifiez que le format de code objet pour les fichiers objet est nom bfd. Cette option peut
ne pas être nécessaire ; objdump peut reconnaître automatiquement de nombreux formats.

Par exemple,

objdump -b oasys -m vax -h fu.o

affiche des informations récapitulatives à partir des en-têtes de section (-h) de fu.o, lequel est
explicitement identifié (-m) en tant que fichier objet VAX au format produit par Oasys
compilateurs. Vous pouvez lister les formats disponibles avec le -i option.

-C
--demangle[=Catégorie]
Décoder (démêler) les noms de symboles de bas niveau en noms de niveau utilisateur. En plus de supprimer tout
trait de soulignement initial ajouté par le système, cela rend les noms de fonction C++ lisibles.
Différents compilateurs ont des styles de mutilation différents. Le style de démêlage en option
peut être utilisé pour choisir un style de démêlage approprié pour votre compilateur.

-g
--débogage
Afficher les informations de débogage. Cela tente d'analyser le format de débogage STABS et IEEE
informations stockées dans le fichier et l'imprimer en utilisant une syntaxe de type C. Si ni l'un ni l'autre
ces formats se trouvent cette option se rabat sur le -W option pour imprimer n'importe quel nain
informations dans le fichier.

-e
--balises de débogage
Comme -g, mais les informations sont générées dans un format compatible avec l'outil ctags.

-d
--démonter
Afficher les mnémoniques assembleur pour les instructions de la machine de fichier obj. Ce
L'option désassemble uniquement les sections qui devraient contenir des instructions.

-D
--désassembler-tout
Comme -d, mais démontez le contenu de toutes les sections, pas seulement celles censées
contiennent des instructions.

Cette option a aussi un effet subtil sur le désassemblage des instructions dans le code
sections. Quand option -d est en effet objdump supposera que tous les symboles présents dans
une section de code se produit à la frontière entre les instructions et il refusera de
démonter à travers une telle frontière. Quand option -D est en vigueur cependant ce
l'hypothèse est supprimée. Cela signifie qu'il est possible pour la sortie de -d et -D
différer si, par exemple, les données sont stockées dans des sections de code.

Si la cible est une architecture ARM ce switch a aussi pour effet de forcer le
désassembleur pour décoder les données trouvées dans les sections de code comme si elles étaient
des instructions.

--prefix-address
Lors du démontage, imprimez l'adresse complète sur chaque ligne. C'est le plus vieux
format de démontage.

-EB
-LA
--endian={grand|petit}
Spécifiez le caractère endian des fichiers objets. Cela n'affecte que le démontage. Ceci peut
être utile lors du démontage d'un format de fichier qui ne décrit pas le caractère endian
informations, telles que les enregistrements S.

-f
--file-en-têtes
Afficher les informations récapitulatives de l'en-tête global de chacun des fichier obj fichiers.

-F
--file-offsets
Lors du démontage des sections, à chaque fois qu'un symbole est affiché, afficher également le fichier
décalage de la région de données qui est sur le point d'être vidé. Si des zéros sont ignorés,
puis lorsque le démontage reprend, dites à l'utilisateur combien de zéros ont été ignorés et le fichier
décalage de l'emplacement à partir duquel le démontage reprend. Lors du vidage des sections,
afficher le décalage de fichier de l'emplacement à partir duquel le vidage commence.

--file-start-context
Spécifiez que lors de l'affichage du code source/désassemblage interlisté (en supposant -S) de
fichier qui n'a pas encore été affiché, étendez le contexte au début du fichier.

-h
--en-têtes de section
--en-têtes
Affichez les informations récapitulatives des en-têtes de section du fichier objet.

Les segments de fichier peuvent être déplacés vers des adresses non standard, par exemple en utilisant le
-Ttexte, -Tdonnéesou -Tbss Options pour ld. Cependant, certains formats de fichier objet, tels que
a.out, ne stocke pas l'adresse de début des segments de fichier. Dans ces situations,
bien que ld déplace correctement les sections, en utilisant objdump -h pour lister le fichier
les en-têtes de section ne peuvent pas afficher les adresses correctes. Au lieu de cela, il montre l'habituel
adresses, qui sont implicites pour la cible.

-H
--Aidez-moi
Imprimer un résumé des options pour objdump et sortie.

-i
--Info
Afficher une liste de toutes les architectures et formats d'objets disponibles pour
spécification avec -b or -m.

-j prénom
--section=prénom
Afficher les informations uniquement pour la section prénom.

-l
--ligne-numéros
Étiquetez l'affichage (en utilisant les informations de débogage) avec le nom de fichier et la ligne source
numéros correspondant au code objet ou aux relocs affichés. Uniquement utile avec -d, -Dou
-r.

-m click
--architecture=click
Spécifiez l'architecture à utiliser lors du désassemblage des fichiers objet. Cela peut être utile
lors du démontage de fichiers objets qui ne décrivent pas d'informations d'architecture, telles que
comme enregistrements S. Vous pouvez lister les architectures disponibles avec les -i option.

Si la cible est une architecture ARM, ce commutateur a un effet supplémentaire. Ce
restreint le désassemblage aux seules instructions prises en charge par l'architecture
spécifié par click. S'il est nécessaire d'utiliser ce commutateur car le fichier d'entrée
ne contient aucune information d'architecture, mais il est également souhaité de désassembler
toutes les instructions utilisent -marm.

-M Options
--disassembler-options=Options
Transmettez les informations spécifiques à la cible au désassembleur. Uniquement pris en charge sur certaines cibles.
S'il est nécessaire de spécifier plus d'une option de désassembleur, plusieurs -M
les options peuvent être utilisées ou peuvent être placées ensemble dans une liste séparée par des virgules.

Si la cible est une architecture ARM, ce commutateur peut être utilisé pour sélectionner
Le jeu de noms de registre est utilisé pendant le désassembleur. En précisant -M noms-reg-std (les
par défaut) sélectionnera les noms de registre tels qu'ils sont utilisés dans le jeu d'instructions d'ARM
documentation, mais avec le registre 13 appelé 'sp', le registre 14 appelé 'lr' et le registre
15 appelé 'pc'. En précisant -M noms-reg-apcs sélectionnera le nom défini utilisé par l'ARM
Procédure d'appel standard, tout en spécifiant -M noms-reg-raw va juste utiliser r suivi
par le numéro de registre.

Il existe également deux variantes du schéma de nommage des registres APCS activé par -M reg-
noms-atpcs et -M noms d'enregistrement-spécial-atpcs qui utilisent l'appel de procédure ARM/Tumb
Conventions de nommage standard. (Soit avec les noms de registre normaux ou les noms spéciaux
enregistrer les noms).

Cette option peut également être utilisée pour les architectures ARM pour forcer le désassembleur à
interpréter toutes les instructions comme des instructions du pouce en utilisant le commutateur
--disassembler-options=force-pouce. Cela peut être utile lorsque vous essayez de démonter
thumb code produit par d'autres compilateurs.

Pour le x86, certaines des options dupliquent les fonctions du -m interrupteur, mais permettre plus fin
contrôle grainé. Plusieurs sélections parmi les suivantes peuvent être spécifiées sous forme de virgule
chaîne séparée.

"x86-64"
"i386"
"i8086"
Sélectionnez le désassemblage pour l'architecture donnée.

"intel"
"att"
Choisissez entre le mode de syntaxe Intel et le mode de syntaxe AT&T.

"amd64"
"intel64"
Choisissez entre AMD64 ISA et Intel64 ISA.

"intel-mnémonique"
"att-mnémonique"
Choisissez entre le mode mnémonique Intel et le mode mnémonique AT&T. Remarque : « intel-mnémonique »
implique "intel" et "att-mnemonic" implique "att".

"addr64"
"addr32"
"addr16"
"données32"
"données16"
Spécifiez la taille d'adresse et la taille d'opérande par défaut. Ces quatre options seront
remplacé si "x86-64", "i386" ou "i8086" apparaissent plus tard dans la chaîne d'options.

"suffixe"
En mode AT&T, indique au désassembleur d'imprimer un suffixe mnémonique même lorsque
le suffixe peut être déduit par les opérandes.

Pour PowerPC, réserver contrôle le démontage des instructions BookE. 32 et 64 Sélectionner
Démontage PowerPC et PowerPC64, respectivement. e300 sélectionne le démontage pour le
famille e300. 440 sélectionne le démontage pour le PowerPC 440. ppcps sélectionne le démontage
pour les instructions simples appariées du PPC750CL.

Pour MIPS, cette option contrôle l'impression des noms mnémoniques des instructions et le registre
noms dans les instructions démontées. Plusieurs sélections parmi les suivantes peuvent être
spécifié comme une chaîne séparée par des virgules, et les options non valides sont ignorées :

"pas d'alias"
Imprimez le mnémonique de l'instruction « brute » au lieu d'un mnémonique de pseudo-instruction.
C'est-à-dire, imprimez 'daddu' ou 'or' au lieu de 'move', 'sll' au lieu de 'nop', etc.

"msa"
Désassemblez les instructions MSA.

"vert"
Désassemblez les instructions ASE de virtualisation.

"xpa"
Désassemblez les instructions ASE d'adresse physique étendue (XPA).

"gpr-noms=ABI"
Imprimez les noms GPR (registre à usage général) appropriés pour l'ABI spécifié.
Par défaut, les noms GPR sont sélectionnés en fonction de l'ABI du binaire étant
démonté.

"fpr-noms=ABI"
Imprimez les noms FPR (registre à virgule flottante) appropriés pour l'ABI spécifié.
Par défaut, les numéros FPR sont imprimés plutôt que les noms.

"cp0-noms=CAMBRE"
Imprimer CP0 (coprocesseur de contrôle du système ; coprocesseur 0) enregistrer les noms comme
approprié pour la CPU ou l'architecture spécifiée par CAMBRE. Par défaut, CP0
les noms de registre sont sélectionnés en fonction de l'architecture et du CPU du binaire
étant démonté.

"hwr-names=CAMBRE"
Imprimer les noms HWR (registre matériel, utilisé par l'instruction "rdhwr") comme
approprié pour la CPU ou l'architecture spécifiée par CAMBRE. Par défaut, les noms HWR
sont sélectionnés en fonction de l'architecture et du CPU du binaire étant
démonté.

"reg-names=ABI"
Imprimez les noms GPR et FPR en fonction de l'ABI sélectionnée.

"reg-names=CAMBRE"
Imprimez les noms de registre spécifiques à l'UC (registre CP0 et noms HWR) comme il convient pour
la CPU ou l'architecture sélectionnée.

Pour l'une des options énumérées ci-dessus, ABI or CAMBRE peut être spécifié comme numérique avoir
des numéros imprimés plutôt que des noms, pour les types de registres sélectionnés. Vous pouvez lister
les valeurs disponibles de ABI et CAMBRE utilisant l' --Aidez-moi option.

Pour VAX, vous pouvez spécifier des adresses d'entrée de fonction avec -M entrée : 0xf00ba. Vous pouvez utiliser
ceci plusieurs fois pour désassembler correctement les fichiers binaires VAX qui ne contiennent pas de symbole
tables (comme les vidages ROM). Dans ces cas, le masque de saisie de fonction serait sinon
décodés en tant qu'instructions VAX, ce qui conduirait probablement le reste de la fonction à être
mal démonté.

-p
--en-têtes-privés
Imprimez des informations spécifiques au format de fichier objet. Les informations exactes
imprimé dépend du format du fichier objet. Pour certains formats de fichier objet, non
des informations supplémentaires sont imprimées.

-P Options
--privé=Options
Imprimez des informations spécifiques au format de fichier objet. L'argument Options is
une liste séparée par des virgules qui dépend du format (les listes d'options sont affichées
avec l'aide).

Pour XCOFF, les options disponibles sont :

"entête"
"environ"
"sections"
"syms"
"déplacements"
"lineno,"
chargeur
"sauf"
"typchk"
"retraçage"
"toc"
"ldinfo"

Tous les formats d'objet ne prennent pas en charge cette option. En particulier, le format ELF n'utilise pas
le

-r
--relocaliser
Imprimez les entrées de relocalisation du fichier. Si utilisé avec -d or -D, les déménagements sont
imprimé entrecoupé du démontage.

-R
--dynamique-relocalisation
Imprimez les entrées de relocalisation dynamique du fichier. Ceci n'a de sens que pour la dynamique
objets, tels que certains types de bibliothèques partagées. Pour ce qui est de -r, si utilisé avec -d or -D,
les relocalisations sont imprimées entrecoupées du démontage.

-s
--contenu-complet
Affichez le contenu complet de toutes les sections demandées. Par défaut tout non vide
les sections sont affichées.

-S
--la source
Afficher le code source mélangé avec le désassemblage, si possible. Implique -d.

--préfixe=préfixe
Spécifier préfixe à ajouter aux chemins absolus lorsqu'il est utilisé avec -S.

--prefix-strip=niveau
Indiquez le nombre de noms de répertoire initiaux à supprimer des chemins absolus câblés.
Il n'a aucun effet sans --préfixe=préfixe.

--show-raw-insn
Lors du démontage des instructions, imprimez les instructions en hexadécimal ainsi qu'en symbolique
former. Il s'agit de la valeur par défaut, sauf lorsque --prefix-address est utilisé.

--no-show-raw-insn
Lors du démontage des instructions, n'imprimez pas les octets d'instructions. C'est le
par défaut quand --prefix-address est utilisé.

--insn-largeur=largeur
Commande largeur octets sur une seule ligne lors du démontage des instructions.

-W[lLiaprmfFsoRt]
--dwarf[=ligne brute,=ligne décodée,=info,=abréviation,=noms de pub]
--dwarf[=range,=macro,=frames,=frames-interp,=str,=loc]
--dwarf[=Plages,=pubtypes,=trace_info,=trace_abbrev]
--dwarf[=trace_aranges,=gdb_index]
Affiche le contenu des sections de débogage dans le fichier, le cas échéant. Si un
des lettres ou des mots facultatifs suit le commutateur, alors seules les données trouvées dans ces
des sections spécifiques seront vidés.

Notez qu'il n'y a pas d'option à une seule lettre pour afficher le contenu des sections de trace ou
.gdb_index.

Remarque : la sortie du =infos L'option peut également être affectée par les options
--nain-profondeur, --nain-start et par --vérification naine.

--dwarf-profondeur=n
Limitez le dump de la section ".debug_info" à n enfants. Ceci n'est utile qu'avec
--nain=info. La valeur par défaut est d'imprimer tous les DIE ; la valeur spéciale 0 pour n sera également
avoir cet effet.

Avec une valeur non nulle pour n, DIE à ou plus profond que n les niveaux ne seront pas imprimés. Les
gamme pour n est à base zéro.

--nain-start=n
Imprimer uniquement les DIE commençant par le DIE numéroté n. Ceci n'est utile qu'avec
--nain=info.

Si elle est spécifiée, cette option supprimera l'impression de toute information d'en-tête et de tous
DIE avant le DIE numéroté n. Seuls les frères et sœurs et les enfants du DIE spécifié seront
être imprimé.

Cela peut être utilisé en conjonction avec --nain-profondeur.

--vérification naine
Activez des contrôles supplémentaires pour la cohérence des informations naines.

-G
--coups de poignard
Affichez le contenu complet de toutes les sections demandées. Afficher le contenu du
Sections .stab et .stab.index et .stab.excl d'un fichier ELF. C'est seulement utile
sur les systèmes (tels que Solaris 2.0) dans lesquels les entrées de table de symboles de débogage ".stab" sont
transporté dans une section ELF. Dans la plupart des autres formats de fichiers, le débogage des entrées de la table des symboles
sont entrelacés de symboles de liaison et sont visibles dans le --syms sortie.

--adresse-de-début=propos
Commencez à afficher les données à l'adresse spécifiée. Cela affecte la sortie du -d, -r
et -s options.

--stop-adresse=propos
Arrête d'afficher les données à l'adresse spécifiée. Cela affecte la sortie du -d, -r
et -s options.

-t
--syms
Imprimer les entrées de la table des mnémoniques du fichier. Ceci est similaire aux informations
fourni par nm programme, bien que le format d'affichage soit différent. Le format de
la sortie dépend du format du fichier en cours de vidage, mais il y a deux principaux
les types. L'un ressemble à ceci :

[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred

où le nombre entre crochets est le numéro de l'entrée dans le symbole
tableau, le s. nombre est le numéro de la section, le fl value sont les bits du drapeau du symbole,
le ty le nombre est le type du symbole, le scl nombre est la classe de stockage du symbole et
le nx valeur est le nombre d'entrées auxiliaires associées au symbole. Le dernier
deux champs sont la valeur du symbole et son nom.

L'autre format de sortie commun, généralement vu avec les fichiers basés sur ELF, ressemble à ceci :

00000000 ld .bss 00000000 .bss
00000000 g .texte 00000000 fred

Ici, le premier nombre est la valeur du symbole (parfois appelée son adresse).
Le champ suivant est en fait un ensemble de caractères et d'espaces indiquant les bits du drapeau
qui sont placés sur le symbole. Ces caractères sont décrits ci-dessous. Vient ensuite le
section à laquelle le symbole est associé ou *ABDOS* si la section est absolue (c'est-à-dire
n'est lié à aucune section), ou *UND* si la section est référencée dans le fichier
en cours de dumping, mais pas défini là-bas.

Après le nom de la section vient un autre champ, un nombre, qui pour les symboles communs est le
l'alignement et pour les autres symboles est la taille. Enfin, le nom du symbole s'affiche.

Les caractères de drapeau sont divisés en 7 groupes comme suit :

"l"
"g"
"tu"
"!" Le symbole est un local (l), global (g), unique global (u), ni global ni local
(un espace) ou à la fois global et local (!). Un symbole ne peut être ni local ni global
pour diverses raisons, par exemple, parce qu'il est utilisé pour le débogage, mais il est
probablement une indication d'un bogue s'il est à la fois local et global. Unique
Les symboles globaux sont une extension GNU de l'ensemble standard de liaisons de symboles ELF.
Pour un tel symbole, l'éditeur de liens dynamique s'assurera que dans l'ensemble du processus
il n'y a qu'un seul symbole avec ce nom et ce type utilisé.

"w" Le symbole est faible (w) ou fort (un espace).

"C" Le symbole désigne un constructeur (C) ou un symbole ordinaire (un espace).

"W" Le symbole est un avertissement (W) ou un symbole normal (un espace). Le nom d'un symbole d'avertissement
est un message à afficher si le symbole suivant le symbole d'avertissement est
référencé.

"Je"
"i" Le symbole est une référence indirecte à un autre symbole (I), une fonction à
évalué pendant le traitement de relocalisation (i) ou un symbole normal (un espace).

"ré"
"D" Le symbole est un symbole de débogage (d) ou un symbole dynamique (D) ou un symbole normal (a
espace).

"F"
"F"
"O" Le symbole est le nom d'une fonction (F) ou d'un fichier (f) ou d'un objet (O) ou simplement d'un
symbole normal (un espace).

-T
--syms-dynamiques
Imprimez les entrées de la table des symboles dynamiques du fichier. Ceci n'a de sens que pour
des objets dynamiques, tels que certains types de bibliothèques partagées. Ceci est similaire au
informations fournies par le nm programme lorsqu'on lui donne -D (--dynamique) option.

--spécial-sym
Lorsque vous affichez des symboles, incluez ceux que la cible considère comme spéciaux dans certains
manière et qui n'auraient normalement pas d'intérêt pour l'utilisateur.

-V
--version
Imprimer le numéro de version de objdump et sortie.

-x
--tous les en-têtes
Afficher toutes les informations d'en-tête disponibles, y compris la table des symboles et la relocalisation
entrées. À l'aide de -x équivaut à spécifier tous les -a -f -h -p -r -t.

-w
--large
Formatez quelques lignes pour les périphériques de sortie qui ont plus de 80 colonnes. Ne pas non plus
tronquer les noms de symboles lorsqu'ils sont affichés.

-z
--désassembler-zéros
Normalement, la sortie de désassemblage sautera des blocs de zéros. Cette option oriente le
désassembleur pour désassembler ces blocs, comme n'importe quelle autre donnée.

@filet
Lire les options de ligne de commande à partir de filet. Les options lues sont insérées à la place des
original @filet option. Si filet n'existe pas ou ne peut pas être lu, l'option
seront traités littéralement et non supprimés.

options dans filet sont séparés par des espaces. Un caractère d'espacement peut être inclus
dans une option en entourant l'option entière de guillemets simples ou doubles. Tout
caractère (y compris une barre oblique inverse) peut être inclus en préfixant le caractère à être
inclus avec une barre oblique inverse. Les filet peut lui-même contenir des @ supplémentairesfilet options; tout
ces options seront traitées de manière récursive.

Utilisez mips64el-linux-gnuabi64-objdump en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad