2015-12-02 2 views
3

Voir, en particulier, la section tags.Pourquoi GNU binutils et GDB ont-ils été fusionnés en un seul paquet?

Quelle était la raison d'être de cette décision? La fusion affecte-t-elle la méthode suggérée pour créer les derniers binutils et GDB? (En fait, quand j'ai vérifié binutils-2_25_1 et couru make all && make install, j'ai aussi gdb.)

+0

Avez-vous regardé dans une liste de diffusion liée à binutils ou à gdb? As-tu demandé 'tromey @ redhat.com' (il est très gentil, et je suis sûr qu'il te répondra)? –

+0

@BasileStarynkevitch Merci beaucoup pour l'information! – nodakai

Répondre

8

J'ai fait la conversion. La raison pour laquelle je leur ai fait un référentiel joint était en partie historique et en partie pratique.

Historiquement, gdb et binutils ont toujours été ensemble. Ils étaient dans un seul arbre source (appelé "devo") quand ils étaient maintenus à l'intérieur de Cygnus. Puis, plus tard, quand sourceware.org a été mis en place, ils ont partagé un référentiel (appelé "src"). Vous ne l'avez peut-être pas remarqué car le référentiel utilisait des modules CVS pour permettre aux développeurs de consulter une partie de l'arborescence.

Pratiquement, gdb et binutils partagent beaucoup de code. Ils partagent leur infrastructure de construction (configure et autres); ils partagent des bibliothèques de support (les répertoires libiberty et include); ils partagent la bibliothèque BFD; et ils partagent la bibliothèque opcodes. Pour moi, il était plus logique de les garder ensemble, à la fois pour éviter la fusion constante (cela est déjà fait pour certains composants avec GCC, et c'est vraiment pénible), et aussi pour essayer de minimiser les problèmes où les changements à un projet négativement affecter l'autre. Par exemple, au moins en théorie, les personnes effectuant un développement régulier sur BFD devraient construire les binutils gdb et.

Le script de niveau supérieur configure utilisé par le référentiel partagé permet au développeur de désactiver un répertoire particulier à l'aide de --disable-DIR. Par exemple, si vous ne souhaitez pas générer gdb, transmettez --disable-gdb.

+0

Merveilleuse réponse. Aussi agréable de savoir '--disable-gdb' bien que je sois juste heureux de construire les deux à la fois. – nodakai