NetBSD Problem Report #53923

From www@NetBSD.org  Tue Jan 29 19:35:41 2019
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id DE6937A1B1
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 29 Jan 2019 19:35:41 +0000 (UTC)
Message-Id: <20190129193539.C6CCC7A1EC@mollari.NetBSD.org>
Date: Tue, 29 Jan 2019 19:35:39 +0000 (UTC)
From: scole_mail@gmx.com
Reply-To: scole_mail@gmx.com
To: gnats-bugs@NetBSD.org
Subject: build.sh and MKLINT fails for 32 bit host/64 bit target
X-Send-Pr-Version: www-1.0

>Number:         53923
>Category:       misc
>Synopsis:       build.sh and MKLINT fails for 32 bit host/64 bit target
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    misc-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 29 19:40:00 +0000 2019
>Closed-Date:    Thu Sep 17 20:23:05 +0000 2020
>Last-Modified:  Thu Sep 17 20:23:05 +0000 2020
>Originator:     scole_mail
>Release:        8.0 host/current target
>Organization:
none
>Environment:
NetBSD dstar 8.0_STABLE NetBSD 8.0_STABLE (GENERIC) #0: Thu Jan  3 13:28:10 PST 2019  scole@dstar:/home/scole/nbsd/cvs/8_0/obj/sys/arch/i386/compile/GENERIC i386
>Description:
Trying to build.sh with MKLINT and a 64 bit target on a 32 bit host fails:

...
dependall ===> lib/../crypto/external/bsd/openssl/lib
dependall ===> lib/../crypto/external/bsd/openssl/lib/libcrypto
#   compile  libcrypto/bn_asm.ln
CC=/home/scole/nbsd/cvs/src/obj/tooldir.NetBSD-8.0_STABLE-i386/bin/ia64--netbsd-gcc /home/scole/nbsd/cvs/src/obj/tooldir.NetBSD-8.0_STABLE-i386/bin/ia64--netbsd-lint -chapbxzgFS -D__int128='long long' -d /home/scole/nbsd/cvs/src/obj/destdir.ia64/usr/include   -Dlibcrypto -I. -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/include -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/asn1 -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/evp -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/modes -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/../include -DOPENSSLDIR=\"/etc/openssl\" -DENGINESDIR=\"/usr/lib/openssl\" -DDSO_DLFCN -DHAVE_DLFCN_H  -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn  -i
  /home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: possible pointer alignment problem [135]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(197): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: possible pointer alignment problem [135]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/lhash.h(207): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: possible pointer alignment problem [135]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/openssl/err.h(217): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: possible pointer alignment problem [135]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include/internal/cryptlib.h(52): warning: pointer casts may be troublesome [247]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(28): syntax error 'ret' [249]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(28): warning: shift equal to size of object [267]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(28): warning: expression has null effect [129]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(29): syntax error 'ret' [249]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(29): warning: shift equal to size of object [267]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(29): warning: expression has null effect [129]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(30): syntax error 'ret' [249]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(30): warning: shift equal to size of object [267]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(30): warning: expression has null effect [129]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(31): syntax error 'ret' [249]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(31): warning: shift equal to size of object [267]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(31): warning: expression has null effect [129]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(38): syntax error 'ret' [249]
/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(38): cannot recover from previous errors [224]

*** Failed target:  bn_asm.ln
*** Failed command: CC=/home/scole/nbsd/cvs/src/obj/tooldir.NetBSD-8.0_STABLE-i386/bin/ia64--netbsd-gcc /home/scole/nbsd/cvs/src/obj/tooldir.NetBSD-8.0_STABLE-i386/bin/ia64--netbsd-lint -chapbxzgFS -D__int128='long long' -d /home/scole/nbsd/cvs/src/obj/destdir.ia64/usr/include -Dlibcrypto -I. -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/include -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/include -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/asn1 -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/evp -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/modes -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/../include -DOPENSSLDIR=\"/etc/openssl\" -DENGINESDIR=\"/usr/lib/openssl\" -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/d
 ist/crypto/bn -i /home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c
*** Error code 1

Stop.
nbmake[9]: stopped in /home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/lib/libcrypto

*** Failed target:  dependall
*** Failed command: cd "/home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/lib/libcrypto"; /home/scole/nbsd/cvs/src/obj/tooldir.NetBSD-8.0_STABLE-i386/bin/nbmake realall
*** Error code 1


This failed for me with an i386/host and both ia64/amd64 targets.  The error 
   /home/scole/nbsd/cvs/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_asm.c(28): syntax error 'ret' [249]
 is caused by int128 & uint128 not being available on 32 bit hosts.

Mainly for my own future recollections, here is some info from web searching, not sure if it is completely accurate:

 - GCC supports built-in __int128 and __uint128 types on 64-bit platforms
 - Before version 4.6.0 they were named __int128_t and __uint128_t
 - can view #defines in gcc with "gcc -dM -E -x c /dev/null"
 - __SIZEOF_INT128__ would be defined if int128 is supported, so 
   #if defined(__SIZEOF_INT128__)
   ...
   #endif

I included a patch below which allows the build to complete, but it is not correct.  It looks like someone was already aware of the issue, but I didn't see an existing PR so I submitted this one.

Also, might want to revisit the xlint build workaround in http://gnats.netbsd.org/53710 if a real solution can be implemented.

>How-To-Repeat:
run build.sh with MKLINT=yes in mk.conf on 32 bit host cross-compiling 64 bit target

i386-host> env MAKECONF=mk.conf ./build.sh -j 6 -U -u -m amd64 -x -X ../xsrc release

>Fix:
This patch allows to the build to complete, but is not a real fix.

Summary of changes:  (A/? = New, R/D = Removed, M = Modified)
=============================================================
M Makefile

Apply patch with "cd .../src/crypto/external/bsd/openssl/lib/libcrypto ; patch -s -p0 < .../patchfile"

Index: Makefile
===================================================================
RCS file: /cvsroot/src/crypto/external/bsd/openssl/lib/libcrypto/Makefile,v
retrieving revision 1.19
diff -b -u -r1.19 Makefile
--- Makefile	6 Oct 2018 15:31:09 -0000	1.19
+++ Makefile	29 Jan 2019 19:10:02 -0000
@@ -33,6 +33,9 @@

 # XXX Not yet.
 LINTFLAGS+=-D__int128='long long'
+LINTFLAGS+=-D__uint128='unsigned long long'
+LINTFLAGS+=-D__int128_t='long long'
+LINTFLAGS+=-D__uint128_t='unsigned long long'

 CPPFLAGS+= -Dlib${LIB} -I. -I${OPENSSLSRC}/crypto -I${OPENSSLSRC}
 CPPFLAGS+= -I${OPENSSLSRC}/include -I${OPENSSLSRC}/crypto/include

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->closed
State-Changed-By: scole@NetBSD.org
State-Changed-When: Thu, 17 Sep 2020 13:23:05 -0700
State-Changed-Why:
stale bug, I don't run i386 anymore.  If this is still an issue, open a new PR.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.