ID Artikel: 000079861 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 12/08/2012

Mengapa saya mendapatkan galat linker dengan penunjuk global saat mencoba mengkompile kode Nios II?

Lingkungan

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Deskripsi

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): Dalam fungsi '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: peringatan: Tidak dapat mencapai (null) (pada 0x00e77e74) dari penunjuk global (pada 0x00d217f0) karena offset (1402500) berada di luar jangkauan yang diizinkan, -32678 hingga 32767.

Resolusi

Untuk mengatasi masalah ini, buka skrip linker.x linker di BSP dan edit baris berikut:

.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) SIZEOF (.rwdata) )

Hapus arahan SIZEOF (.rwdata) terakhir, untuk mendefinisikan dengan benar bagian .rwdata sebagai berikut:

.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) )

Masalah ini akan diperbaiki pada versi Nios II Software Build Tools yang akan datang untuk Eclipse.

Produk Terkait

Artikel ini berlaku untuk 1 produk

Perangkat yang Dapat Diprogram Intel®

1

Konten pada halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten asli berbahasa Inggris. Konten ini disediakan untuk kenyamanan Anda dan hanya untuk informasi umum dan tidak boleh dianggap lengkap atau akurat. Jika ada kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris yang akan mengatur dan mengendalikan. Lihat versi bahasa Inggris halaman ini.