Hangi bfd sürümünü kullandığımı nasıl kontrol edebilirim?


1

gccKomutu bir Linux makinesinde çalıştırırken bir hatayla karşılaştım ve Googling'de insanların söylediklerini buldum, bfdkütüphanenin daha yeni bir düzeltmesinde düzeltildi . Daha fazla araştırma bfdyaparak gcc, ortak bir dinamik kütüphane değil, kurulduğunda bağlandığı statik bir kütüphane olabileceğini keşfettim , ama bundan emin değilim.

Olmadığını nasıl öğrenmek için gccben sürümü kullanıyor bfdstatik veya dinamik ve hangi sürümü bfd?

Yanıtlar:


2

İDT dahil GNU Binutils oluşturan programlar tarafından kullanılan kütüphane ld, goldve asdiğerleri arasında,. Genellikle binutils ve binutils-dev (Debian ve arkadaşları) veya binutils-devel (Fedora / RHEL) adlı bir pakette gelirler . Yukarıda belirtilen programlardan herhangi birini, -Vsürüm numarasını almak için bir anahtarla çalıştırabilirsiniz . readelfBağımlılıklarını listelemek için kullanabilirsiniz . ldTürlerini dahil etme bağımlılıklarını listelemek için :

readelf -d `which ld`

Dynamic section at offset 0xc900c contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libbfd-2.22-system.so]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

GCC'nin iç çalışmalarına pek aşina değilim, ancak GCC'nin BFD'ye karşı bir bağlantısı olduğunu düşünmenin garip olduğunu söyleyebilirim.


iyi, demek ldBFD kullanır, ancak, değil ldbir parçası gccanlamda gcc foobar.o -o foobariseld
user322908

gccldbağlantı için kullanır , evet. Ancak bu söylemekten çok farklıdır gccBFD'ye (mesajınıza yazdıklarınız) karşı.
Larssend,

Doğru. Kesin olarak BFD'nin hangi versiyonuna gcckarşı olduğumu bilmek istedim . ldBFD ile bağlantılı olduğunu söylüyordun, öyle gccdeğil. gccGerçekte kullandığı zaman, bu nasıl olabilir ld.
user322908

@ user322908 çünkü: gccdeğil ld, çünkü gccKolayEvAl tarafından sağlanan işlevlerin herhangi ihtiyacı yoktur. Asıl sorudan sapıyorsun.
Larssend,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.