Thread View: gnu.gcc.bug
1 messages
1 total messages
Started by Paul Flinders
Fri, 15 Nov 1996 00:00
HPPA branch problems
Author: Paul Flinders
Date: Fri, 15 Nov 1996 00:00
Date: Fri, 15 Nov 1996 00:00
49 lines
2288 bytes
2288 bytes
I've recently been having problems with the HP linker complaining "target of unconditional branch out of range" when building a largeish C++ program The problem stems from two things. Firstly that I have a large file into which I place all of the template instantiations which I need. The resulting object file can get a little large. The second problem is the fact that the GNU compiler always uses BL for function calls and not BLE (I note that the HP compiler seems to always use BLE). The object file grows sufficiently large that BL can no longer reach functions in the same file I know that there are other ways of dealing with templates than a large file full of explicit instantiations (the repository hacks, #pragma interface/implementation) but I've tried these and they either take much longer to compile or produce larger executables than compiling everything with -fno-implicit-templates and instantiating the required templates (some 1400 of them!) manually. Would it be reasonable to modify gcc to always use BLE for function calls. I know that it's two instructions longer but would have thought that the difference in performance would not be measureable in practice. Failing that how about a -mlong-branches for the PA architecture so that it is possible to enable this per file. I could then compile the template instantiation file alone with this option. I'd do the latter myself but I really don't understand how the machine descriptions work well enough to want to attempt it. Failing making either of the above changes a hint as to what I have to change would be appreciated. Regards Paul Flinders
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads