ubuntu – کامپایل مجدد openssl نمایش خطا "هیچ قانون برای ایجاد هدف" jnix / jniglue.c "

من سعی می کنم openssl را با استفاده از ndk-build در یک ماشین لینوکس کامپایل کنم و کامپایل قبلی قبلا نتوانستم ثابت کنم که پرونده «aes.h» برای برطرف کردن اینکه من بسته libssl-dev را نصب کردم و کار کرد و نصب برای برخی مراحل بیشتر حرکت کرد و در این زمینه شکست خورد.

: *** هیچ قاعده ای برای هدف 'jnix / jniglue.c' وجود ندارد، که مورد نیاز 'obj / local / armeabi-v7a / objs / opvpnutil / jniglue.o' است. توقف

در این راه وجود دارد چنین مسیر وجود دارد و من شک دارم که مجبور به نصب برخی از بسته دوباره برای حل این مسئله.

c – کامپایل کردن با پرچم های GPC retpoline

از نسخه 8 (بعدا به 7.3 ارسال شد)، GCC پشتیبانی Retpoline [0] را اضافه کرده است. در حالی که متوجه شدم که [citation needed] برای استفاده در پچ کردن کرنل برای Spectre (یعنی: [1][2]) در نظر گرفته شده است، که از برنامهنویسان معمولی از استفاده از این پرچم جلوگیری نمی کند.

بنابراین، آیا باید از پرچم های Retpoline ( -mindirect-branch ، -mfunction-return ، و مرتبط با آن؟

به عنوان مثال، من یک برنامه تولید رمز عبور رمزنگاری رمزنگاری شده را در C [3] نوشته ام. هنگامی که با استفاده از -mindirect-branch = thunk -mfunction-return = thunk کامپایل می شود، باینری حاصل از آن متفاوت است بدون استفاده از آن پرچم ها. آیا هیچ دلیلی برای انجام این کار وجود دارد یا هر مزیتی از منظر امنیتی؟