An issue has been identified with the linker script generated by the 11.1 version of the Nios® II Board Support Package (BSP) generator. The issue leads to link errors similar to the following:
/opt/altera/11.0sp1/nios2eds/bin/gnu/H-i686-pc-linux-gnu/bin/.. /lib/gcc/nios2-elf/4.1.2/.. /.. /.. /.. /nios2-elf/lib/libstdc .a(locale.o): 기능 'std::locale:::id::_M_id() const':
/build/swbuild/SJ/nightly/11.0sp1/208/l32/work/ip/sopc/app/gnu/BUILD/gnu/build-0-gcc.nios2-elf.i686-pc-linux-gnu/nios2-elf/libstdc -v3/src/.. /.. /.. /.. /src/gcc-4.1/libstdc -v3/src/locale.cc:436: 경고: 오프셋(1402500)이 허용 범위를 벗어나기 때문에 전역 포인터(0x00d217f0)에서 (null)에 도달할 수 없음(0x00e77e74) -32678에서 32767까지.
이 문제를 해결하려면 BSP에서 linker.x 링커 스크립트를 열고 다음 행을 편집합니다.
.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) SIZEOF (.rwdata) )
마지막 SIZEOF(.rwdata) 지시문을 제거하여 .rwdata 섹션을 다음과 같이 올바르게 정의합니다.
.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) )
이 문제는 Eclipse 위한 Nios II 소프트웨어 빌드 도구의 향후 버전에서 해결되어야 합니다.