Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12699 Discussions

Implementation of -fPIC (large mode) for Nios 'toolchain-mmu'

Altera_Forum
Honored Contributor II
1,939 Views

Hi, 

 

Unfortunately, it seems that MontaVista guys did not implement the Nios tool-chains to allow the GOT size more than 32Kbytes. So I tried to make those. The diff-files are attached below. Now with the -fPIC switch, you can make a quite large dynamic-link library. But please note that you must re-make some other libraries to link with -fPIC mode. I tested these for gtk+2.0 libraries and those are working well. 

 

Kazu
(Virus scan in progress ...)
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
625 Views

Hi Kazu, 

 

It would be awesome if you could post your patches to the Nios II Linux development mailing list where the developers could review them and maybe commit them. 

 

Nios2-dev mailing list 

Nios2-dev@sopc.et.ntust.edu.tw 

http://sopc.et.ntust.edu.tw/cgi-bin/mailman/listinfo/nios2-dev
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi, 

 

 

--- Quote Start ---  

 

It would be awesome if you could post your patches to the Nios II Linux development mailing list where the developers could review them and maybe commit them. 

 

Nios2-dev mailing list 

Nios2-dev@sopc.et.ntust.edu.tw 

http://sopc.et.ntust.edu.tw/cgi-bin/mailman/listinfo/nios2-dev 

 

--- Quote End ---  

 

 

Thank you for your suggestion. But I'm hesitating to join there, because the discussions are dull a little bit and I can't understand the intention and direction of maintainers. Of course, also I can't understand why Altera throws these thing all to volunteers and does nothing. Now it seems that they are planning to put ARM and MIPS CPU into their FPGA, but I can't believe their business goes well. 

 

Kazu
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi Kazu, 

 

What toolchain source were you using to work on these patches? Is it the one listed here http://alterawiki.com/wiki/build_the_gcc4_toolchain ? Have you looked into updating the toolchain at all?
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi, 

 

 

--- Quote Start ---  

 

What toolchain source were you using to work on these patches? Is it the one listed here http://alterawiki.com/wiki/build_the_gcc4_toolchain ? Have you looked into updating the toolchain at all? 

--- Quote End ---  

 

 

I'm using the source of version 4.1-176. And of course, I did not up-load these patches anywhere except this forum. 

 

Kazu
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi Kazu, 

 

Do you have a patch for elf/nios2.h's RELOC_NUMBER declarations (and possibly other things)? Trying to build binutils, I get errors like: 

 

 

/opt/nios2gcc4/obj/binutils-src-4.1-176-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:778: error: `R_NIOS2_CALL_LO' undeclared here (not in a function)
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi,  

 

 

--- Quote Start ---  

 

 

Do you have a patch for elf/nios2.h's RELOC_NUMBER declarations (and possibly other things)? Trying to build binutils, I get errors like: 

 

 

/opt/nios2gcc4/obj/binutils-src-4.1-176-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:778: error: `R_NIOS2_CALL_LO' undeclared here (not in a function)  

--- Quote End ---  

 

 

Sorry! Try this. 

 

Kazu
(Virus scan in progress ...)
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

 

--- Quote Start ---  

Hi, 

 

I can't understand why Altera throws these thing all to volunteers and does nothing. Now it seems that they are planning to put ARM and MIPS CPU into their FPGA, but I can't believe their business goes well. 

 

Kazu 

--- Quote End ---  

 

 

Altera looks bigger from the outside than from inside. :-) From the outside Altera looks like this Big Company that should be able to do just everything. From the inside it looks like everyone is running as fast as they can just to stay in place, like the Red Queen. 

 

Getting ARM-based FPGAs out the door did unfortunately divert effort from Nios2 support. That's life in a world of limited resources. 

 

We're trying to make up for that now. (I was hired a year ago to help jump the Nios2 toolchain from 4.1.2 -> 4.7.3.) Going forward, we (and I!) intend and expect to do a much better job of keeping the Nios2 toolchain current. We really appreciate your patience, support, enthusiasm and contributions. 

 

(We've also got some nice updates to Nios2 itself in the tubes, but I don't think I'm allowed to talk about those yet.) 

 

-Jeff
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi, 

 

 

--- Quote Start ---  

 

(We've also got some nice updates to Nios2 itself in the tubes, but I don't think I'm allowed to talk about those yet.) 

 

--- Quote End ---  

 

 

Personally, I will appreciate if Altera discloses the secret around Nios2's data cache.:) 

 

http://www.alterawiki.com/wiki/nios2_smp_system 

 

Kazu
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

 

--- Quote Start ---  

Hi, 

 

Personally, I will appreciate if Altera discloses the secret around Nios2's data cache.:) 

 

http://www.alterawiki.com/wiki/nios2_smp_system 

 

Kazu 

--- Quote End ---  

 

 

I apologize if I'm being dense (I'm not a Hardware Guy), but I skimmed that page without figuring out what it is that you'd like to know. Can you be clearer? 

-Jeff
0 Kudos
Altera_Forum
Honored Contributor II
625 Views

Hi, 

 

 

--- Quote Start ---  

I apologize if I'm being dense (I'm not a Hardware Guy), but I skimmed that page without figuring out what it is that you'd like to know. Can you be clearer? 

 

--- Quote End ---  

 

 

Altera's original data cache lacks several features to make a SMP system, so I made my new one and attached it to Nios CPU from the outside. However, it's not an efficient cache because I can't use some Nios CPU's internal signals, e.g. the linear address signal, cache-uncache signal and cache hit signal, etc. If I could use those signals, I could run the SMP system faster. But this means that Altera is requested to disclose their source code.:) 

 

I think that maybe the 'multi-core Nios2 SMP + linux + shielded CPU technique' system is a good solution for real-time systems from the viewpoint of its flexibility.  

 

Kazu
0 Kudos
Reply