Yardım Cryptopp GCC12 Build Error

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

nebnebsen

Geliştirici
Geliştirici
Üye
Mesaj
454
Çözümler
23
Beğeni
113
Puan
509
Ticaret Puanı
0
Merhaba,

Cryptopp'u GCC12 ile build edemiyorum. GCC11 ile denedim yine olmadı. Sürümle alakalı olabilir mi bilmiyorum.

Kod:
gcm.cpp: In member function 'size_t CryptoPP::GCM_Base::_ZN8CryptoPP8GCM_Base18AuthenticateBlocksEPKhj.part.0(const CryptoPP::byte*, size_t)':
gcm.cpp:566:13: error: the register '%xmm5' cannot be clobbered in 'asm' for the current target
  566 |             __asm__ __volatile__
      |             ^~~~~~~
Nasıl çözebilirim?
 
hata ssde mebvut 2.resimdeki kodları ekelyince buildde hata alıyorum.
8.6. sürümde problem yok
2. resimdeki kodu eklemeyince.
gcc sürümünde build ediyor.
fakat bana gcc10 üsürmünde build etmesi lazım
 

Dosya Eklentileri

  • Screenshot_1.jpg
    Screenshot_1.jpg
    289 KB · Gösterim: 81
  • Screenshot_2.jpg
    Screenshot_2.jpg
    271,9 KB · Gösterim: 74
GCC12 ile aynı hatayı alıyorum. Çözüm üretebilen oldu mu?

hata:
gcm.cpp: In member function 'size_t CryptoPP::GCM_Base::_ZN8CryptoPP8GCM_Base18AuthenticateBlocksEPKhj.part.0(const CryptoPP::byte*, size_t)':
gcm.cpp:566:13: error: the register '%xmm5' cannot be clobbered in 'as
' for the current target
  566 |             __asm__ __volatile__
      |             ^~~~~~~
gcm.cpp:745:13: error: the register '%xmm1' cannot be clobbered in 'as
' for the current target
  745 |             __asm__ __volatile__
      |             ^~~~~~~
gmake: *** [GNUmakefile:1795: gcm.o] Error 1
gmake: *** Waiting for unfinished jobs....

Sorun CryptoPP sitesinde belirtilmiş:

GCC 12 crash​

We removed GCC 12 from the supported compilers list. We believe it has a bug that is causing the validation suite to crash. See
Linkleri görebilmek için giriş yap veya kayıt ol.
,
Linkleri görebilmek için giriş yap veya kayıt ol.
and
Linkleri görebilmek için giriş yap veya kayıt ol.
for some of the discussion.

The crash is present with GCC 12 at -O2 or higher, and happens around the ECGDSA test suite. The crash is not present in GCC 12 at -O1 or -Os. The crash is not present in other compilers like Clang and MSVC. The crash was not present in earlier versions of GCC. Tools like Asan, UBsan and Valgirnd do not show a problem. -DCRYPTOPP_DISABLE_ASM and -fno-lto do not affect the problem.

We do not have a minimal reproducer, so tracking down the crash is problematic. We also cannot report it to the GCC folks without a reproducer.

The current workaround is to build the library at -O1 or -Os.

Dediği gibi -O1 ve -Os ile de build almayı denedim ama yine de olmadı.

8.6.0 kurdum ben de. 8.7.0 Sürümünde çözemedim hatayı.
 
Son düzenleme:
GCC12 ile aynı hatayı alıyorum. Çözüm üretebilen oldu mu?

hata:
gcm.cpp: In member function 'size_t CryptoPP::GCM_Base::_ZN8CryptoPP8GCM_Base18AuthenticateBlocksEPKhj.part.0(const CryptoPP::byte*, size_t)':
gcm.cpp:566:13: error: the register '%xmm5' cannot be clobbered in 'as
' for the current target
  566 |             __asm__ __volatile__
      |             ^~~~~~~
gcm.cpp:745:13: error: the register '%xmm1' cannot be clobbered in 'as
' for the current target
  745 |             __asm__ __volatile__
      |             ^~~~~~~
gmake: *** [GNUmakefile:1795: gcm.o] Error 1
gmake: *** Waiting for unfinished jobs....

Sorun CryptoPP sitesinde belirtilmiş:

GCC 12 crash​

We removed GCC 12 from the supported compilers list. We believe it has a bug that is causing the validation suite to crash. See
Linkleri görebilmek için giriş yap veya kayıt ol.
,
Linkleri görebilmek için giriş yap veya kayıt ol.
and
Linkleri görebilmek için giriş yap veya kayıt ol.
for some of the discussion.

The crash is present with GCC 12 at -O2 or higher, and happens around the ECGDSA test suite. The crash is not present in GCC 12 at -O1 or -Os. The crash is not present in other compilers like Clang and MSVC. The crash was not present in earlier versions of GCC. Tools like Asan, UBsan and Valgirnd do not show a problem. -DCRYPTOPP_DISABLE_ASM and -fno-lto do not affect the problem.

We do not have a minimal reproducer, so tracking down the crash is problematic. We also cannot report it to the GCC folks without a reproducer.

The current workaround is to build the library at -O1 or -Os.

Dediği gibi -O1 ve -Os ile de build almayı denedim ama yine de olmadı.

8.6.0 kurdum ben de. 8.7.0 Sürümünde çözemedim hatayı.
Bende çözemedim hatayı tam olarak.
 
Sürümle alakalı fixini vereceğim biraz test edeyim.
Sorun x86 defineleri eklenmemiş bu yüzden x64 sistemdeki şeyleri arıyor bunlarıda bulamadığından hataya düşüyor bunun düzeltmesini vereceğim bugün.
İsterseniz gcc1 de test edin yine derlenmez :)
 
Geri
Üst