changeset 38903:742924486992

havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64. * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32", set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
author Bruno Haible <bruno@clisp.org>
date Thu, 26 Oct 2017 21:45:33 +0200
parents 78a7785c42b9
children 46445583d1fb
files ChangeLog m4/lib-ld.m4
diffstat 2 files changed, 21 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Oct 21 12:20:29 2017 -0700
+++ b/ChangeLog	Thu Oct 26 21:45:33 2017 +0200
@@ -1,3 +1,9 @@
+2017-10-26  Bruno Haible  <bruno@clisp.org>
+
+	havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
+	* m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
+	set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
+
 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
 
 	glob: fix another heap buffer overflow
--- a/m4/lib-ld.m4	Sat Oct 21 12:20:29 2017 -0700
+++ b/m4/lib-ld.m4	Thu Oct 26 21:45:33 2017 +0200
@@ -1,4 +1,4 @@
-# lib-ld.m4 serial 7
+# lib-ld.m4 serial 8
 dnl Copyright (C) 1996-2003, 2009-2017 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -133,6 +133,20 @@
            esac
           ], [])
         ;;
+      sparc64-*-netbsd*)
+        AC_EGREP_CPP([yes],
+          [#if defined __sparcv9 || defined __arch64__
+           yes
+           #endif],
+          [],
+          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
+           # so that the linker groks 32-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -m elf32_sparc "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
+           esac
+          ])
+        ;;
     esac
   ])
   LD="$acl_cv_path_LD"