Disable gcc-4.8.x + binutils-2.25 + MIPS combination
PATCH 1/1 Disable gcc-4.8.x + binutils-2.25 + MIPS combination
This combination causes a compilation failure of the host-gcc-final recipe like this one:
/br/output/host/usr/mips-buildroot-linux-gnu/bin/ld:.libs/gload.o: relocation R_MIPS_HI16 against `__gnu_local_gp' can not be used when making a shared object; recompile with -fPIC
The problem is the file 'libatomic/gload.c' is compiled without -fPIC when using binutils-2.25. All gcc (with libatomic) versions below 4.9.3 are affected by this issue.
Here is a summary of affected/unaffected versions in Buildroot:
4.7.x: unaffected (doesn't have libatomic)
4.8.x: affected
4.9.x: unaffected (we have 4.9.3 which is fixed)
5.1.x: unaffected
The fix can be found here:
https://github.com/gcc-mirror/gcc/commit/57f5c0954f95cb37f995d60167ddde06c7d6e697
However, given the following reasons...
- Upstream gcc 4.8 branch is closed.
- The fix is very hard to backport from 4.9 to 4.8.
- This stuff is insanely sensitive and not working at all could be better than looking like it works but not quite.
...I think the best choice is to disable that combination in Buildroot.
--- package/gcc/Config.in.host | 2 ++ 1 file changed, 2 insertions(+)
package/gcc/Config.in.host +2 -0
@@ -60,6 +60,8 @@ choice depends on !BR2_cortex_a12 # Broken or unsupported PPC cores depends on !BR2_powerpc_power8 + # gcc-4.8.x + binutils-2.25 is broken for MIPS + depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25) select BR2_GCC_NEEDS_MPC select BR2_GCC_SUPPORTS_GRAPHITE
Signature · 1 line
2.3.6
PATCH 1/1 Disable gcc-4.8.x + binutils-2.25 + MIPS combination
Vicente, All,
On 2015-07-02 17:19 +0200, Vicente Olivert Riera spake thusly:
Quoted 22 lines
This combination causes a compilation failure of the host-gcc-final recipe like this one:
/br/output/host/usr/mips-buildroot-linux-gnu/bin/ld:
.libs/gload.o: relocationR_MIPS_HI16against `__gnu_local_gp' can not be used when making a shared object; recompile with -fPICThe problem is the file '
libatomic/gload.c' is compiled without -fPIC when using binutils-2.25. All gcc (with libatomic) versions below 4.9.3 are affected by this issue.Here is a summary of affected/unaffected versions in Buildroot:
4.7.x: unaffected (doesn't have libatomic)
4.8.x: affected
4.9.x: unaffected (we have 4.9.3 which is fixed)
5.1.x: unaffectedThe fix can be found here:
https://github.com/gcc-mirror/gcc/commit/57f5c0954f95cb37f995d60167ddde06c7d6e697
Quoted 8 lines
However, given the following reasons...
- Upstream gcc 4.8 branch is closed.
- The fix is very hard to backport from 4.9 to 4.8.
- This stuff is insanely sensitive and not working at all could be better than looking like it works but not quite....I think the best choice is to disable that combination in Buildroot.
So do I.
Quoted 1 line
Signed-off-by Vicente Olivert Riera <[email protected]>
Regards,
Yann E. MORIN.
Quoted 24 lines
--- package/gcc/Config.in.host | 2 ++ 1 file changed, 2 insertions(+)package/gcc/Config.in.host +2
-0@@ -60,6 +60,8 @@ choice depends on !BR2_cortex_a12 # Broken or unsupported PPC cores depends on !BR2_powerpc_power8 + # gcc-4.8.x + binutils-2.25 is broken for MIPS + depends on !((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && BR2_BINUTILS_VERSION_2_25) select BR2_GCC_NEEDS_MPC select BR2_GCC_SUPPORTS_GRAPHITESignature · 6 lines
2.3.6 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedPATCH 1/1 Disable gcc-4.8.x + binutils-2.25 + MIPS combination
In reply to Vicente Olivert RieraDear Vicente Olivert Riera,
Quoted 29 lines · Vicente Olivert Riera
This combination causes a compilation failure of the host-gcc-final recipe like this one:
/br/output/host/usr/mips-buildroot-linux-gnu/bin/ld:
.libs/gload.o: relocationR_MIPS_HI16against `__gnu_local_gp' can not be used when making a shared object; recompile with -fPICThe problem is the file '
libatomic/gload.c' is compiled without -fPIC when using binutils-2.25. All gcc (with libatomic) versions below 4.9.3 are affected by this issue.Here is a summary of affected/unaffected versions in Buildroot:
4.7.x: unaffected (doesn't have libatomic)
4.8.x: affected
4.9.x: unaffected (we have 4.9.3 which is fixed)
5.1.x: unaffectedThe fix can be found here:
https://github.com/gcc-mirror/gcc/commit/57f5c0954f95cb37f995d60167ddde06c7d6e697
However, given the following reasons...
- Upstream gcc 4.8 branch is closed.
- The fix is very hard to backport from 4.9 to 4.8.
- This stuff is insanely sensitive and not working at all could be better than looking like it works but not quite.
Quoted 6 lines
...I think the best choice is to disable that combination in Buildroot.
Signed-off-by Vicente Olivert Riera <[email protected]>--- package/gcc/Config.in.host | 2 ++ 1 file changed, 2 insertions(+)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com