ใน ACDS เวอร์ชัน 13.1 toolchain Nios® II GNU ได้รับการอัปเกรดจาก GCC 4.1.2 เป็น GCC 4.7.3 ผู้ใช้ที่อัปเกรดเป็น Toolchain ใหม่จําเป็นต้องจดบันทึกการเปลี่ยนแปลงต่อไปนี้ตามที่ระบุไว้ด้านล่าง
Nios IIการเปลี่ยนแปลงเฉพาะ:
- ใช้ __buildin_custom_* แทน -mcustom-* หรือ #pragma เพื่อสร้างNios II Floating Point Custom Instructions (FPCI) ได้อย่างน่าเชื่อถือ โดยเป็นอิสระจากระดับการเพิ่มประสิทธิภาพคอมไพเลอร์และแฟลกบรรทัดคําสั่ง
- ในการใช้ -mcustom-* หรือ #pragma สําหรับคําแนะนําแบบกําหนดเองสําหรับจุดลอยตัว Nios II (FPCI):
- ต้องใช้แฟลก -ffinite-math-only เพื่อสร้าง fmins และ fmax FPCI
- ต้องใช้การปรับแต่งประสิทธิภาพ (แฟลก ที่ไม่ใช่ -O0 ) เพื่อสร้าง FSqrts FPCI
- ผู้ใช้ที่ใช้งานฟังก์ชันแบบอนุมานในฮาร์ดแวร์ต้องใช้แฟลก -funsafe-math-optimizations เพื่อสร้าง FPCI สําหรับ fsins ฟังก์ชันแบบแปลงสัญญาณ(), fcoss(), ftans(), fatans(), fexps(), flogs() และฟังก์ชัน Double-Precision ที่เกี่ยวข้อง
- รูปแบบของ Pragma เปลี่ยนไปจากเช่น #pragma custom_fadds 253 ถึง#pragmaเป้าหมาย GCC ("custom-fadds=253") และคุณสมบัติฟังก์ชันให้รูปแบบอื่น __attribute__ ((target("custom-fadds=253"))
- ใช้แฟ ลก -mel/-meb แทน -EL/-EB สําหรับการตั้งค่าแบบ Endian Software Build Tool สําหรับผู้ใช้ Eclipse (SBTE) ต้องสร้าง BSP ใหม่เพื่อให้การตั้งค่านี้มีผล
- ไม่รองรับแฟลกฟิลด์ -mreverse-bitfields และ reverse_bitfields pragma อีกต่อไป
- ต้องใช้แฟลก -fstack-check แทน -mstack-check เพื่อเปิดใช้งานการตรวจสอบสแตก
การเปลี่ยนแปลงและการปรับปรุง GCC:
- แฟลก -Wa,-relax-all ใน nios2-elf-gcc GCC 4.7.3 รองรับการโทรของฟังก์ชันและโปรแกรมที่เกินขีดจํากัด 256MB
- เมื่อใช้งานกับการปรับแต่งประสิทธิภาพ รหัสการประกอบแบบอินไลน์กับตัวดําเนินการ asm จําเป็นต้องประกาศค่าที่นําเข้าจาก C และส่งออกกลับไปที่ C โดยใช้กลไกที่อธิบายไว้ใน http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm
- หัวต่อ C ก่อนมาตรฐานไม่รองรับใน GCC 4.7.3 เปลี่ยน C ก่อนมาตรฐานด้วย C เช่น มาตรฐาน #include , cout, endl with #include , std::cout and std::endl ตามลําดับ
- แฟล็กคอมไพล์ -Wl,--defsym foo=bar โดยที่ แถบ เป็นสัญลักษณ์ที่ไม่ได้กําหนดจะสร้างข้อผิดพลาดที่ระดับลิงก์ใน GCC 4.7.3 GCC 4.1.2 ไม่รวมเช็คนี้
GNU ยังมีคู่มือการพอร์ตไปยัง GCC4.7 เพื่อจัดทําเอกสารปัญหาทั่วไป : http://gcc.gnu.org/gcc-4.7/porting_to.html
หมายเหตุรีลีส GCC ฉบับเต็มมีให้ http://gcc.gnu.org/releases.html