To wok around this kind of problem, you can compile your code with the -G0 flag. This disables gp relative addressing and so avoids these kinds of range issues. The down side is that this will cause your code to run slower.
You will find some further discussion of this in the thread "global pointer relative offset" which may help you track down the underlying cause.
I suspect that the problem is that __RedBoot_IDLE_TAB_END__ is being accessed using relative addressing, when it should be accessed using absolute addressing. If you look in the "General Software" section of the Nios forum, you will find a couple of threads: "Disabling GP-addressing in generated source code" and "pointer out of range link error" that discuss how you can disable relative addressing for a specific variable.