diff mbox

[v2] openssl: fix m68k uclinux compile

Message ID 20160731184800.GA6199@waldemar-brodkorb.de
State Accepted
Headers show

Commit Message

Waldemar Brodkorb July 31, 2016, 6:48 p.m. UTC
The GCC manual suggest when getting:
relocation truncated to fit: R_68K_GOT16O foobar
to use -mxgot.

Fixes:
http://autobuild.buildroot.net/results/455fd0f274bfa4bbd786bcd6740ecf960e47c1bd/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 package/openssl/openssl.mk |    5 +++++
 1 file changed, 5 insertions(+)

Comments

Thomas Petazzoni Aug. 1, 2016, 9:05 p.m. UTC | #1
Hello,

On Sun, 31 Jul 2016 20:48:00 +0200, Waldemar Brodkorb wrote:
> The GCC manual suggest when getting:
> relocation truncated to fit: R_68K_GOT16O foobar
> to use -mxgot.
> 
> Fixes:
> http://autobuild.buildroot.net/results/455fd0f274bfa4bbd786bcd6740ecf960e47c1bd/
> 
> Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
> ---
>  package/openssl/openssl.mk |    5 +++++
>  1 file changed, 5 insertions(+)

It's somewhat annoying that we have to do this manually instead of
having the compiler switch automatically to this less efficient mode
for handling the GOT. But I guess we don't really have the choice.
Let's see how many packages need such a hack.

Applied, thanks!

Thomas
Khem Raj Aug. 4, 2016, 7:28 a.m. UTC | #2
> On Jul 31, 2016, at 11:48 AM, Waldemar Brodkorb <wbx@openadk.org> wrote:
> 
> The GCC manual suggest when getting:
> relocation truncated to fit: R_68K_GOT16O foobar
> to use -mxgot.
> 
> Fixes:
> http://autobuild.buildroot.net/results/455fd0f274bfa4bbd786bcd6740ecf960e47c1bd/
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
> package/openssl/openssl.mk |    5 +++++
> 1 file changed, 5 insertions(+)
> 
> diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
> index e34868e..b926fe3 100644
> --- a/package/openssl/openssl.mk
> +++ b/package/openssl/openssl.mk
> @@ -19,6 +19,11 @@ OPENSSL_PATCH = \
> 	https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \
> 	https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
> 
> +# relocation truncated to fit: R_68K_GOT16O
> +ifeq ($(BR2_m68k_cf),y)
> +OPENSSL_CFLAGS += -mxgot
> +endif

perhaps -fPIC could be used here instead ?

> +
> ifeq ($(BR2_USE_MMU),)
> OPENSSL_CFLAGS += -DHAVE_FORK=0
> endif
> --
> 1.7.10.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox

Patch

diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk
index e34868e..b926fe3 100644
--- a/package/openssl/openssl.mk
+++ b/package/openssl/openssl.mk
@@ -19,6 +19,11 @@  OPENSSL_PATCH = \
 	https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d \
 	https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2a-parallel-symlinking.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d
 
+# relocation truncated to fit: R_68K_GOT16O
+ifeq ($(BR2_m68k_cf),y)
+OPENSSL_CFLAGS += -mxgot
+endif
+
 ifeq ($(BR2_USE_MMU),)
 OPENSSL_CFLAGS += -DHAVE_FORK=0
 endif