GCC 12.1 ইতিমধ্যেই প্রকাশিত হয়েছে, জানুন এর খবর এবং এর 35তম বার্ষিকী

জিএনইউ জিসিসি লোগো

প্রবর্তন কম্পাইলারের নতুন সংস্করণ জিসিসি (GNU কম্পাইলার সংগ্রহ) 12.1 ইতিমধ্যেই মুক্তি পেয়েছে এবং GCC-এর সমস্ত বড় রিলিজের মতো, এই রিলিজটি অনেক সংযোজন, উন্নতি, বাগ ফিক্স এবং নতুন বৈশিষ্ট্য নিয়ে আসবে, এছাড়াও এই মাসে (23 মে), প্রকল্পটি প্রথম রিলিজ গঠনের 35 বছর উদযাপন করবে।

GCC 12 ইতিমধ্যেই ফেডোরা 36-এর সিস্টেম কম্পাইলার, এবং GCC 12 এছাড়াও Red Hat Enterprise Linux-এ Red Hat ডেভেলপার টুলসেট (সংস্করণ 7) বা Red Hat GCC টুলসেটে (সংস্করণ 8 এবং 9) উপলব্ধ হবে।

GCC ডেভেলপাররা GCC-এর আরেকটি বড় রিলিজ, 12.1 ঘোষণা করতে পেরে গর্বিত।

এই বছর আমরা GCC-এর প্রথম বিটা সংস্করণের 35তম বার্ষিকী উদযাপন করছি
এবং এই মাসে আমরা GCC 35 প্রকাশের 1.0 বছর উদযাপন করব!

এই রিলিজটি STABS ডিবাগ ফরম্যাটের জন্য সমর্থন ড্রপ করে এবং
CTF ডিবাগিং ফরম্যাটের জন্য সমর্থন প্রবর্তন করে [1]। সি এবং সি++
বৈশিষ্ট্যগুলির জন্য বর্ধিত সমর্থন সহ ইন্টারফেসগুলি অগ্রসর হতে থাকে
আসন্ন C2X এবং C++ 23 মান এবং C++ স্ট্যান্ডার্ড লাইব্রেরিতে
C++20 এবং C++23-এর পরীক্ষামূলক অংশগুলির জন্য সমর্থন উন্নত করে।
C-এর সাথে ইন্টারঅপারেবিলিটির জন্য Fortran ইন্টারফেসটি এখন TS 29113-এর সাথে সম্পূর্ণরূপে সঙ্গতিপূর্ণ।

GCC 12.1 এ নতুন কি?

এই নতুন সংস্করণে বেশ কিছু প্রস্তাব বাস্তবায়ন করা হয়েছে, যেমন ভাষার জন্য C এবং C++ যোগ করা হয়েছে একটি অন্তর্নির্মিত ফাংশন __বিল্টিন_ডাইনামিক_অবজেক্ট_সাইজ একটি বস্তুর আকার নির্ধারণ করতে, ঝনঝন একটি অনুরূপ ফাংশন সঙ্গে সামঞ্জস্যপূর্ণ.

যুক্ত হয়েছে C এবং C++ ভাষার জন্য "অনুপলব্ধ" বৈশিষ্ট্যের জন্য সমর্থন (উদাহরণস্বরূপ, আপনি এমন ফাংশনগুলি চিহ্নিত করতে পারেন যা ব্যবহার করার সময় একটি ত্রুটি দেখা দেবে), সেইসাথে C এবং C++ ভাষার জন্য "#elifdef" এবং "#elifndef" প্রিপ্রসেসিং নির্দেশাবলীর জন্য যোগ করা সমর্থন।

এটাও উল্লেখ্য যে, UTF-8 অক্ষর অপব্যবহার হলে সতর্ক করার জন্য "-Wbidi-chars" পতাকা৷, দ্বিমুখী পাঠ্য প্রদর্শনের ক্রম পরিবর্তন করে, পাশাপাশি অ্যারে উল্লেখ করে এমন দুটি অপারেন্ড তুলনা করার চেষ্টা করার সময় একটি সতর্কতা জারি করার জন্য "-Warray-তুলনা" পতাকা।

উপরন্তু, আইOpenMP 5.0 এবং 5.1 মান বাস্তবায়ন (ওপেন মাল্টি-প্রসেসিং), যা শেয়ার্ড মেমরি এবং ভেক্টরাইজেশন ইউনিট (SIMD) সহ মাল্টিকোর এবং হাইব্রিড (CPU + GPU / DSP) সিস্টেমে সমান্তরাল প্রোগ্রামিং পদ্ধতি প্রয়োগের জন্য API এবং পদ্ধতিগুলিকে সংজ্ঞায়িত করে, অব্যাহত ছিল।

এছাড়াও OpenACC 2.6 সমান্তরাল প্রোগ্রামিং স্পেসিফিকেশনের উন্নত বাস্তবায়ন, GPUs এবং NVIDIA PTX-এর মতো বিশেষায়িত প্রসেসরগুলিতে অফলোড করার উপায়গুলি সংজ্ঞায়িত করা; এবং x512 কোড জেনারেশন ব্যাকএন্ডে Intel AVX16-FP16 বর্ধিত নির্দেশাবলী এবং _Float86 প্রকারের জন্য সমর্থন যোগ করা।

Fortran ফ্রন্ট-এন্ড TS 29113 স্পেসিফিকেশনের জন্য সম্পূর্ণ সমর্থন প্রদান করে, যা Fortran এবং C কোডের মধ্যে বহনযোগ্যতা নিশ্চিত করার সম্ভাবনার বর্ণনা করে।

1980-এর দশকে তৈরি করা "STABS" ডিবাগিং তথ্য স্টোরেজ বিন্যাসের জন্য অপ্রচলিত সমর্থন।

__builtin_shufflevector(vec1, vec2, index1, index2, …) এক্সটেনশনের জন্য সমর্থন যোগ করা হয়েছে যা আগে ক্ল্যাং-এ যোগ করা হয়েছে, যা সাধারণ ভেক্টর শাফেল এবং শাফেল ক্রিয়াকলাপ সম্পাদন করতে একটি একক কল প্রদান করে।

"-O2" অপ্টিমাইজেশান স্তর ব্যবহার করার সময়, ডিফল্টরূপে ভেক্টরাইজেশন সক্রিয় করা হয় (-ftree-vectorize এবং -fvect-cost-model=খুব-সস্তা মোড সক্রিয় করা হয়)। "খুব সস্তা" মডেল শুধুমাত্র ভেক্টরাইজেশনের অনুমতি দেয় যদি ভেক্টর কোড সম্পূর্ণরূপে ভেক্টরাইজযোগ্য স্কেলার কোড প্রতিস্থাপন করতে পারে।

যোগ করা হয়েছে "-ftrivial-auto-var-init" মোড সমস্যাগুলি ট্র্যাক করতে এবং অপ্রবর্তিত ভেরিয়েবলগুলির ব্যবহারের সাথে সম্পর্কিত দুর্বলতাগুলিকে ব্লক করতে স্ট্যাকের উপর সুস্পষ্ট পরিবর্তনশীল প্রাথমিককরণ সক্ষম করতে।

যোগ করা হয়েছে কম্পাইলার মধ্যে নির্মিত সি ফাংশন বাস্তবায়ন বর্ধিত ARM নির্দেশাবলী (ls64) ব্যবহারের উপর ভিত্তি করে মেমরিতে পারমাণবিক লোডিং এবং ডেটা স্টোরেজের জন্য (অভ্যন্তরীণ)। ARM mopoption এক্সটেনশন ব্যবহার করে memcpy, memmove, এবং memset ফাংশন দ্রুত করার জন্য সমর্থন যোগ করা হয়েছে।

যুক্ত হয়েছে একটি নতুন যাচাইকরণ মোড "-fsanitize=shadow-call-stack" ( ShadowCallStack ), যা বর্তমানে শুধুমাত্র AArch64 আর্কিটেকচারের জন্য উপলব্ধ এবং "-fixed-r18" বিকল্পের সাথে কোড কম্পাইল করার সময় কাজ করে। স্ট্যাক বাফার ওভারফ্লো হওয়ার ক্ষেত্রে মোডটি ফাংশনের রিটার্ন ঠিকানা পুনর্লিখনের বিরুদ্ধে সুরক্ষা প্রদান করে। সুরক্ষার সারমর্ম হ'ল ফাংশনে নিয়ন্ত্রণ স্থানান্তরের পরে একটি পৃথক "ছায়া" স্ট্যাকে রিটার্ন ঠিকানা সংরক্ষণ করা এবং ফাংশন থেকে প্রস্থান করার আগে এই ঠিকানাটি পুনরুদ্ধার করা।

উৎস: https://gcc.gnu.org/pipermail


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।