Summary: | dev-db/mysql-connector-c fails to compile on ia64: relocation truncated to fit: GPREL22 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | mysql-bugs |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=749957 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 709620 | ||
Attachments: | build.log |
Description
Agostino Sarubbo
2020-03-22 10:45:14 UTC
Created attachment 624162 [details]
build.log
build log and emerge --info
> /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/include/g++-v9/iostream:74:(.text.startup+0x42): relocation truncated to fit: GPREL22 against symbol `__dso_handle' defined in .data section in /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/crtbeginS.o > /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/../../../../ia64-unknown-linux-gnu/bin/ld: final link failed: nonrepresentable section on output > collect2: error: ld returned 1 exit status Looks like a GCC issue? Found https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90714 ... not sure if this should be fixed in Gentoo already/in the meanwhile. (In reply to Thomas Deutschmann from comment #2) > > /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/include/g++-v9/iostream:74:(.text.startup+0x42): relocation truncated to fit: GPREL22 against symbol `__dso_handle' defined in .data section in /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/crtbeginS.o > > /usr/lib/gcc/ia64-unknown-linux-gnu/9.2.0/../../../../ia64-unknown-linux-gnu/bin/ld: final link failed: nonrepresentable section on output > > collect2: error: ld returned 1 exit status > > Looks like a GCC issue? Found > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90714 ... not sure if this > should be fixed in Gentoo already/in the meanwhile. Yeah, probably a minor deficiency in gcc's crtstartupS.o. I wonder if it could use GPREL64. It's an overflow in short relocations within code section. ia64 assumes 22 bit offsets within code section will be enough as a default (with 128-bit instruction alignment, which gives 4 more addressable bits). I believe that translates to 64MB .text section per module (executable or library) if you are lucky (usually it +/-32MB offsets). The error usually means the executable is too large to be linked without pessimizing generated code into using wider offsets. My guess is that crtstartupS.o makes a reasonable 64MB assumption and fails. Don't know if there are simple ways to decrease .text section size aside from trying -O1/-Os. Let's see how easy it is to tweak crtstartup.S. |