Re: [PATCH] Recent libm additions

2018-07-16 Thread Steve Kargl
Version 2.  After applying the patch, one can

% svn delete libm/msun/src/polevll.c
% svn commit libm/msun/src/polevll.c

* lib/msun/Makefile:
  . Remove polevll.c

* lib/msun/ld80/e_powl.c:
  . Copy contents of polevll.c to here.  This is the only consumer of 
these functions.  Make functions 'static inline'.
  . Make reducl a 'static inline' function.
 
* lib/msun/man/exp.3:
  . Remove BUGS section that no longer applies.

* lib/msun/src/math_private.h:
  . Remove prototypes of __p1evll() and __polevll()

* lib/msun/src/s_cpow.c:
* lib/msun/src/s_cpowf.c:
* lib/msun/src/s_cpowl.c
  . Use the CMPLX macro from either C99 or math_private.h (depends of
compiler support) instead of the problematic use of complex I.

Index: lib/msun/Makefile
===
--- lib/msun/Makefile   (revision 336360)
+++ lib/msun/Makefile   (working copy)
@@ -17,6 +17,8 @@
 
 .include "${ARCH_SUBDIR}/Makefile.inc"
 
+CFLAGS+=-msse
+
 .PATH: ${.CURDIR}/${ARCH_SUBDIR}
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
 .PATH: ${.CURDIR}/x86
@@ -56,7 +58,6 @@
imprecise.c \
k_cos.c k_cosf.c k_exp.c k_expf.c k_rem_pio2.c k_sin.c k_sinf.c \
k_tan.c k_tanf.c \
-   polevll.c \
s_asinh.c s_asinhf.c s_atan.c s_atanf.c s_carg.c s_cargf.c s_cargl.c \
s_cbrt.c s_cbrtf.c s_ceil.c s_ceilf.c s_clog.c s_clogf.c \
s_copysign.c s_copysignf.c s_cos.c s_cosf.c \
Index: lib/msun/ld80/e_powl.c
===
--- lib/msun/ld80/e_powl.c  (revision 336360)
+++ lib/msun/ld80/e_powl.c  (working copy)
@@ -14,6 +14,52 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+
+#include "math_private.h"
+
+/*
+ * Polynomial evaluator:
+ *  P[0] x^n  +  P[1] x^(n-1)  +  ...  +  P[n]
+ */
+static inline long double
+__polevll(long double x, long double *PP, int n)
+{
+   long double y;
+   long double *P;
+
+   P = PP;
+   y = *P++;
+   do {
+   y = y * x + *P++;
+   } while (--n);
+
+   return (y);
+}
+
+/*
+ * Polynomial evaluator:
+ *  x^n  +  P[0] x^(n-1)  +  P[1] x^(n-2)  +  ...  +  P[n]
+ */
+static inline long double
+__p1evll(long double x, long double *PP, int n)
+{
+   long double y;
+   long double *P;
+
+   P = PP;
+   n -= 1;
+   y = x + *P++;
+   do {
+   y = y * x + *P++;
+   } while (--n);
+
+   return (y);
+}
+
 /* powl.c
  *
  * Power function, long double precision
@@ -467,7 +513,7 @@
 
 
 /* Find a multiple of 1/NXT that is within 1/NXT of x. */
-static long double
+static inline long double
 reducl(long double x)
 {
 long double t;
Index: lib/msun/man/exp.3
===
--- lib/msun/man/exp.3  (revision 336360)
+++ lib/msun/man/exp.3  (working copy)
@@ -180,16 +180,9 @@
 then \*(Na**0 = 1 too because x**0 = 1 for all finite
 and infinite x, i.e., independently of x.
 .El
-.Sh BUGS
-To conform with newer C/C++ standards, a stub implementation for
-.Nm powl
-was committed to the math library, where
-.Nm powl
-is mapped to
-.Nm pow .
-Thus, the numerical accuracy is at most that of the 53-bit double
-precision implementation.
 .Sh SEE ALSO
+.Xr clog 3
+.Xr cpow 3
 .Xr fenv 3 ,
 .Xr ldexp 3 ,
 .Xr log 3 ,
Index: lib/msun/src/math_private.h
===
--- lib/msun/src/math_private.h (revision 336360)
+++ lib/msun/src/math_private.h (working copy)
@@ -828,7 +828,4 @@
 long double __kernel_cosl(long double, long double);
 long double __kernel_tanl(long double, long double, int);
 
-long double __p1evll(long double, void *, int);
-long double __polevll(long double, void *, int);
-
 #endif /* !_MATH_PRIVATE_H_ */
Index: lib/msun/src/s_cpow.c
===
--- lib/msun/src/s_cpow.c   (revision 336360)
+++ lib/msun/src/s_cpow.c   (working copy)
@@ -60,7 +60,7 @@
y = cimag (z);
absa = cabs (a);
if (absa == 0.0) {
-   return (0.0 + 0.0 * I);
+   return (CMPLX(0.0, 0.0));
}
arga = carg (a);
r = pow (absa, x);
@@ -69,6 +69,6 @@
r = r * exp (-y * arga);
theta = theta + y * log (absa);
}
-   w = r * cos (theta) + (r * sin (theta)) * I;
+   w = CMPLX(r * cos (theta),  r * sin (theta));
return (w);
 }
Index: lib/msun/src/s_cpowf.c
===
--- lib/msun/src/s_cpowf.c  (revision 336360)
+++ lib/msun/src/s_cpowf.c  (working copy)
@@ -59,7 +59,7 @@
y = cimagf(z);
absa = cabsf (a);
if (absa == 0.0f) {
-   return (0.0f + 0.0f * I);
+   return (CMPLXF(0.0f, 0.0f));
  

Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Mark Millard
[ toolchain-metadata.mk is missing when kernel-toolchain is used.
I've no clue if this is intentional or not. ]

On 2018-Jul-16, at 6:13 PM, Mark Millard  wrote:

> On 2018-Jul-16, at 4:47 PM, Bryan Drewery  wrote:
> 
>> On 7/16/2018 3:49 PM, Mark Millard wrote:
>>> 
>>> 
>>> On 2018-Jul-16, at 3:31 PM, Bryan Drewery  wrote:
>>> 
 On 7/16/18 1:21 PM, Mark Millard wrote:
> I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
> buildkernel
> targeting aarch64 from amd64 based on head -r336349 . It failed by ending 
> up
> using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :
 
 I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
 thought I had left that out for kernel-toolchain but apparently not.
 
 Try this patch and kernel-toolchain after applying please:
 http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff
 . . .
>>> 
>>> Result is unchanged. Details follow.
>> 
>> Ok, I'll look more tomorrow.
>> 
>>> 
>>> With:
>>> 
>>> # svnlite diff /usr/src/Makefile.inc1
>>> Index: /usr/src/Makefile.inc1
>>> ===
>>> --- /usr/src/Makefile.inc1  (revision 336349)
>>> +++ /usr/src/Makefile.inc1  (working copy)
>>> @@ -666,7 +666,7 @@
>>> BMAKE=  \
>>> ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
>>> ${BSARGS}
>>> -.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL)
>>> +.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) && !make(*toolchain*)
>>> BMAKE+= MK_LLVM_TARGET_ALL=no
>>> .endif
>>> 
>>> used via:
>>> 
>>> # rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/*
>>> # 
>>> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>>>  -j4 kernel-toolchain buildkernel
>>> 
>>> I still get:
>>> 
>>> --- buildkernel ---
>>> Building 
>>> /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
>>> --- accf_data.kld ---
>>> ld: unrecognised emulation mode: aarch64elf
>>> Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
>>> *** [accf_data.kld] Error code 1
>>> 
>>> 
>>> 
>>> Reminder of what my .sh script does:
>>> 
>>> # more 
>>> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>>> kldload -n filemon && \
>>> script 
>>> ~/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-$(date
>>>  +%Y-%m-%d:%H:%M:%S) \
>>> env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" 
>>> SRC_ENV_CONF="/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host"
>>>  \
>>> WITH_META_MODE=yes \
>>> MAKEOBJDIRPREFIX="/usr/obj/cortexA53_clang/arm64.aarch64" \
>>> make $*
>>> 
>>> (I'll not repeat the other supporting material.)
> 
> In case it helps:
> 
> # 
> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>  test-system-linker
> Script started, output file is 
> /root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-2018-07-16:17:48:38
> USING_SYSTEM_LINKER= no
> MK_SYSTEM_LINKER   = no
> MK_LLD_BOOTSTRAP   = yes
> MK_BINUTILS_BOOTSTRAP  = no
> WANT_LINKER_TYPE   = lld
> WANT_LINKER_VERSION= 60001
> WANT_LINKER_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
> WANT_LINKER_FREEBSD_VERSION= 335540-123
> WANT_LINKER_FREEBSD_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
> LD = ld
> LINKER_TYPE= bfd
> LINKER_FEATURES=  filter
> LINKER_VERSION = 21750
> LINKER_FREEBSD_VERSION = 0
> XLD= ld
> X_LINKER_TYPE  = bfd
> X_LINKER_FEATURES  =  filter
> X_LINKER_VERSION   = 21750
> X_LINKER_FREEBSD_VERSION   = 0
> 
> Script done, output file is 
> /root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-2018-07-16:17:48:38
> 
> The part after the WANT_'s looks odd to me.
> 
> (I think the above type of output would be good in ci.freebsd.org
> build logs for the likes of FreeBSD-head-*-build . Similarly for
> test-system-compiler output.)
> 
> I get similar oddness for a self-hosted amd64 build via my
> usual .sh and src/make configuration files:
> 
> # ~/sys_build_scripts.amd64-host/make_amd64_nodebug_clang-amd64-host.sh 
> test-system-linker
> Script started, output file is 
> /root/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2018-07-16:18:00:52
> USING_SYSTEM_LINKER= no
> MK_SYSTEM_LINKER   = yes
> MK_LLD_BOOTSTRAP   = yes
> MK_BINUTILS_BOOTSTRAP  = yes
> WANT_LINKER_TYPE   = lld
> WANT_LINKER_VERSION= 60001
> 

Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Mark Millard



On 2018-Jul-16, at 4:47 PM, Bryan Drewery  wrote:

> On 7/16/2018 3:49 PM, Mark Millard wrote:
>> 
>> 
>> On 2018-Jul-16, at 3:31 PM, Bryan Drewery  wrote:
>> 
>>> On 7/16/18 1:21 PM, Mark Millard wrote:
 I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
 buildkernel
 targeting aarch64 from amd64 based on head -r336349 . It failed by ending 
 up
 using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :
>>> 
>>> I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
>>> thought I had left that out for kernel-toolchain but apparently not.
>>> 
>>> Try this patch and kernel-toolchain after applying please:
>>> http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff
>>> . . .
>> 
>> Result is unchanged. Details follow.
> 
> Ok, I'll look more tomorrow.
> 
>> 
>> With:
>> 
>> # svnlite diff /usr/src/Makefile.inc1
>> Index: /usr/src/Makefile.inc1
>> ===
>> --- /usr/src/Makefile.inc1   (revision 336349)
>> +++ /usr/src/Makefile.inc1   (working copy)
>> @@ -666,7 +666,7 @@
>> BMAKE=   \
>>  ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
>>  ${BSARGS}
>> -.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL)
>> +.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) && !make(*toolchain*)
>> BMAKE+=  MK_LLVM_TARGET_ALL=no
>> .endif
>> 
>> used via:
>> 
>> # rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/*
>> # 
>> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>>  -j4 kernel-toolchain buildkernel
>> 
>> I still get:
>> 
>> --- buildkernel ---
>> Building 
>> /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
>> --- accf_data.kld ---
>> ld: unrecognised emulation mode: aarch64elf
>> Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
>> *** [accf_data.kld] Error code 1
>> 
>> 
>> 
>> Reminder of what my .sh script does:
>> 
>> # more 
>> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>> kldload -n filemon && \
>> script 
>> ~/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-$(date
>>  +%Y-%m-%d:%H:%M:%S) \
>> env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" 
>> SRC_ENV_CONF="/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host"
>>  \
>> WITH_META_MODE=yes \
>> MAKEOBJDIRPREFIX="/usr/obj/cortexA53_clang/arm64.aarch64" \
>> make $*
>> 
>> (I'll not repeat the other supporting material.)

In case it helps:

# 
~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
 test-system-linker
Script started, output file is 
/root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-2018-07-16:17:48:38
USING_SYSTEM_LINKER= no
MK_SYSTEM_LINKER   = no
MK_LLD_BOOTSTRAP   = yes
MK_BINUTILS_BOOTSTRAP  = no
WANT_LINKER_TYPE   = lld
WANT_LINKER_VERSION= 60001
WANT_LINKER_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
WANT_LINKER_FREEBSD_VERSION= 335540-123
WANT_LINKER_FREEBSD_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
LD = ld
LINKER_TYPE= bfd
LINKER_FEATURES=  filter
LINKER_VERSION = 21750
LINKER_FREEBSD_VERSION = 0
XLD= ld
X_LINKER_TYPE  = bfd
X_LINKER_FEATURES  =  filter
X_LINKER_VERSION   = 21750
X_LINKER_FREEBSD_VERSION   = 0

Script done, output file is 
/root/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-2018-07-16:17:48:38

The part after the WANT_'s looks odd to me.

(I think the above type of output would be good in ci.freebsd.org
build logs for the likes of FreeBSD-head-*-build . Similarly for
test-system-compiler output.)

I get similar oddness for a self-hosted amd64 build via my
usual .sh and src/make configuration files:

# ~/sys_build_scripts.amd64-host/make_amd64_nodebug_clang-amd64-host.sh 
test-system-linker
Script started, output file is 
/root/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2018-07-16:18:00:52
USING_SYSTEM_LINKER= no
MK_SYSTEM_LINKER   = yes
MK_LLD_BOOTSTRAP   = yes
MK_BINUTILS_BOOTSTRAP  = yes
WANT_LINKER_TYPE   = lld
WANT_LINKER_VERSION= 60001
WANT_LINKER_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
WANT_LINKER_FREEBSD_VERSION= 335540-123
WANT_LINKER_FREEBSD_VERSION_FILE   = lib/clang/include/lld/Common/Version.inc
LD = ld
LINKER_TYPE= bfd
LINKER_FEATURES=  filter
LINKER_VERSION   

Re: updates to HEAD online, RSS non-browser ??

2018-07-16 Thread Jeffrey Bouquet



On Mon, 16 Jul 2018 22:12:28 +0200, "Piotr P. Stefaniak"  
wrote:

> On 2018-07-14 04:36:05, Jeffrey Bouquet wrote:
> >secnetix.de used to let me read HEAD updates to src daily.  About
> >several monhts ago, my browsers cannot reach it and the 2ndry site is
> >tedious to read in an equivalent manner. AFAIK the site is still up.
> >Recent EU laws or some other cause?  Reachable by some legal VPN
> >trickery?  RSS feed better serving to inform? legal web scraping
> >connects to site when browsers cannot?
> 
> Would this suffice?
> https://github.com/freebsd/freebsd/commits/master.atom
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Looks good. Is it new?  Have to get upto speed on RSS-to-pc methods ...
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Bryan Drewery
On 7/16/2018 3:49 PM, Mark Millard wrote:
> 
> 
> On 2018-Jul-16, at 3:31 PM, Bryan Drewery  wrote:
> 
>> On 7/16/18 1:21 PM, Mark Millard wrote:
>>> I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
>>> buildkernel
>>> targeting aarch64 from amd64 based on head -r336349 . It failed by ending up
>>> using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :
>>
>> I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
>> thought I had left that out for kernel-toolchain but apparently not.
>>
>> Try this patch and kernel-toolchain after applying please:
>> http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff
>> . . .
> 
> Result is unchanged. Details follow.

Ok, I'll look more tomorrow.

> 
> With:
> 
> # svnlite diff /usr/src/Makefile.inc1
> Index: /usr/src/Makefile.inc1
> ===
> --- /usr/src/Makefile.inc1(revision 336349)
> +++ /usr/src/Makefile.inc1(working copy)
> @@ -666,7 +666,7 @@
>  BMAKE=   \
>   ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
>   ${BSARGS}
> -.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL)
> +.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) && !make(*toolchain*)
>  BMAKE+=  MK_LLVM_TARGET_ALL=no
>  .endif
>  
> used via:
> 
> # rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/*
> # 
> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
>  -j4 kernel-toolchain buildkernel
> 
> I still get:
> 
> --- buildkernel ---
> Building 
> /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
> --- accf_data.kld ---
> ld: unrecognised emulation mode: aarch64elf
> Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
> *** [accf_data.kld] Error code 1
> 
> 
> 
> Reminder of what my .sh script does:
> 
> # more 
> ~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
> kldload -n filemon && \
> script 
> ~/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-$(date
>  +%Y-%m-%d:%H:%M:%S) \
> env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" 
> SRC_ENV_CONF="/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host"
>  \
> WITH_META_MODE=yes \
> MAKEOBJDIRPREFIX="/usr/obj/cortexA53_clang/arm64.aarch64" \
> make $*
> 
> (I'll not repeat the other supporting material.)
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> ( dsl-only.net went
> away in early 2018-Mar)
> 


-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Mark Millard



On 2018-Jul-16, at 3:31 PM, Bryan Drewery  wrote:

> On 7/16/18 1:21 PM, Mark Millard wrote:
>> I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
>> buildkernel
>> targeting aarch64 from amd64 based on head -r336349 . It failed by ending up
>> using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :
> 
> I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
> thought I had left that out for kernel-toolchain but apparently not.
> 
> Try this patch and kernel-toolchain after applying please:
> http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff
> . . .

Result is unchanged. Details follow.

With:

# svnlite diff /usr/src/Makefile.inc1
Index: /usr/src/Makefile.inc1
===
--- /usr/src/Makefile.inc1  (revision 336349)
+++ /usr/src/Makefile.inc1  (working copy)
@@ -666,7 +666,7 @@
 BMAKE= \
${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
${BSARGS}
-.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL)
+.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) && !make(*toolchain*)
 BMAKE+=MK_LLVM_TARGET_ALL=no
 .endif
 
used via:

# rm -fr /usr/obj/cortexA53_clang/arm64.aarch64/*
# 
~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
 -j4 kernel-toolchain buildkernel

I still get:

--- buildkernel ---
Building 
/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
--- accf_data.kld ---
ld: unrecognised emulation mode: aarch64elf
Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
*** [accf_data.kld] Error code 1



Reminder of what my .sh script does:

# more 
~/sys_build_scripts.amd64-host/make_cortexA53_nodebug_clang_bootstrap-amd64-host.sh
kldload -n filemon && \
script 
~/sys_typescripts/typescript_make_cortexA53_nodebug_clang_bootstrap-amd64-host-$(date
 +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" 
SRC_ENV_CONF="/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host" \
WITH_META_MODE=yes \
MAKEOBJDIRPREFIX="/usr/obj/cortexA53_clang/arm64.aarch64" \
make $*

(I'll not repeat the other supporting material.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Bryan Drewery
On 7/16/18 1:21 PM, Mark Millard wrote:
> I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
> buildkernel
> targeting aarch64 from amd64 based on head -r336349 . It failed by ending up
> using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :

I probably extended the LLVM_TARGET_ALL=no in cross-compiler too far. I
thought I had left that out for kernel-toolchain but apparently not.

Try this patch and kernel-toolchain after applying please:
http://people.freebsd.org/~bdrewery/patches/cross-compiler-fix.diff

> 
> . . .
> --- buildkernel ---
> Building 
> /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
> --- accf_data.kld ---
> ld: unrecognised emulation mode: aarch64elf
> Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
> *** [accf_data.kld] Error code 1
> 
> make[4]: stopped in /usr/src/sys/modules/accf_data
> .ERROR_TARGET='accf_data.kld'
> .ERROR_META_FILE='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld.meta'
> .MAKE.LEVEL='4'
> MAKEFILE=''
> .MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose'
> _ERROR_CMD='ld -m aarch64elf -d -warn-common -r -d -o accf_data.kld 
> accf_data.o; ctfmerge -L VERSION -g -o accf_data.kld accf_data.o; :> 
> export_syms; awk -f /usr/src/sys/conf/kmod_syms.awk accf_data.kld  
> export_syms | xargs -J% objcopy % accf_data.kld;'
> .CURDIR='/usr/src/sys/modules/accf_data'
> .MAKE='make'
> .OBJDIR='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data'
> .TARGETS='all'
> DESTDIR=''
> LD_LIBRARY_PATH=''
> MACHINE='arm64'
> MACHINE_ARCH='aarch64'
> MAKEOBJDIRPREFIX='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules'
> MAKESYSPATH='/usr/src/share/mk'
> MAKE_VERSION='20180512'
> PATH='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin'
> SRCTOP='/usr/src'
> OBJTOP='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src'
> .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk 
> /usr/src/share/mk/src.sys.env.mk 
> /root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host 
> /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk 
> /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk 
> /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk 
> /usr/src/share/mk/src.sys.mk /dev/null 
> /usr/src/sys/modules/accf_data/Makefile /usr/src/share/mk/bsd.kmod.mk 
> /usr/src/sys/conf/kmod.mk /usr/src/share/mk/bsd.init.mk 
> /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk 
> /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init.mk 
> /usr/src/sys/modules/accf_data/../Makefile.inc /usr/src/share/mk/bsd.own.mk 
> /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk 
> /usr/src/sys/conf/kern.opts.mk /usr/src/sys/conf/config.mk 
> /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.dep.mk 
> /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk 
> /usr/src/share/mk/bsd.subdir.mk /usr/src/sys/conf/kern.mk'
> .PATH='. /usr/src/sys/modules/accf_data /usr/src/sys/netinet 
> /usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG'
> 1 error
> 
> 
> 
> Detailed context:
> 
> # uname -apKU
> FreeBSD FBSDUSSD 12.0-CURRENT FreeBSD 12.0-CURRENT  r336349M  amd64 amd64 
> 1200073 1200073
> 
> The "M" is mostly for powerpc* family experiments:
> 
> # svnlite status /usr/src/ | sort
> ?   /usr/src/sys/amd64/conf/GENERIC-DBG
> ?   /usr/src/sys/amd64/conf/GENERIC-NODBG
> ?   /usr/src/sys/arm/conf/GENERIC-DBG
> ?   /usr/src/sys/arm/conf/GENERIC-NODBG
> ?   /usr/src/sys/arm64/conf/GENERIC-DBG
> ?   /usr/src/sys/arm64/conf/GENERIC-NODBG
> ?   /usr/src/sys/powerpc/conf/GENERIC64vtsc-DBG
> ?   /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODBG
> ?   /usr/src/sys/powerpc/conf/GENERICvtsc-DBG
> ?   /usr/src/sys/powerpc/conf/GENERICvtsc-NODBG
> M   /usr/src/Makefile.libcompat
> M   /usr/src/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
> M   /usr/src/contrib/llvm/tools/lld/ELF/Arch/PPC64.cpp
> M   /usr/src/crypto/openssl/crypto/armcap.c
> M   /usr/src/lib/libkvm/kvm_powerpc.c
> M   /usr/src/lib/libkvm/kvm_private.c
> M   /usr/src/release/Makefile.vm
> M   /usr/src/release/scripts/mk-vmimage.sh
> M   /usr/src/release/tools/vmimage.subr
> M   /usr/src/secure/lib/libcrypto/Makefile
> M   /usr/src/stand/defs.mk

New kernel-toolchain buildkernel problem for amd64 -> aarch64 cross build ( after -r336348 ) : ld used for addf_data only can target: elf_x86_64_fbsd elf_i386_fbsd

2018-07-16 Thread Mark Millard
I attempted a from-scratch (. . ./arm64.aarch64/ empty) kernel-toolchain 
buildkernel
targeting aarch64 from amd64 based on head -r336349 . It failed by ending up
using an ld that can only target elf_x86_64_fbsd elf_i386_fbsd :

. . .
--- buildkernel ---
Building 
/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld
--- accf_data.kld ---
ld: unrecognised emulation mode: aarch64elf
Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
*** [accf_data.kld] Error code 1

make[4]: stopped in /usr/src/sys/modules/accf_data
.ERROR_TARGET='accf_data.kld'
.ERROR_META_FILE='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data/accf_data.kld.meta'
.MAKE.LEVEL='4'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose'
_ERROR_CMD='ld -m aarch64elf -d -warn-common -r -d -o accf_data.kld 
accf_data.o; ctfmerge -L VERSION -g -o accf_data.kld accf_data.o; :> 
export_syms; awk -f /usr/src/sys/conf/kmod_syms.awk accf_data.kld  export_syms 
| xargs -J% objcopy % accf_data.kld;'
.CURDIR='/usr/src/sys/modules/accf_data'
.MAKE='make'
.OBJDIR='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src/sys/modules/accf_data'
.TARGETS='all'
DESTDIR=''
LD_LIBRARY_PATH=''
MACHINE='arm64'
MACHINE_ARCH='aarch64'
MAKEOBJDIRPREFIX='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules'
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20180512'
PATH='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin'
SRCTOP='/usr/src'
OBJTOP='/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG/modules/usr/src'
.MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk 
/usr/src/share/mk/src.sys.env.mk 
/root/src.configs/src.conf.cortexA53-clang-bootstrap.amd64-host 
/usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk 
/usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk 
/root/src.configs/make.conf /usr/src/share/mk/local.sys.mk 
/usr/src/share/mk/src.sys.mk /dev/null /usr/src/sys/modules/accf_data/Makefile 
/usr/src/share/mk/bsd.kmod.mk /usr/src/sys/conf/kmod.mk 
/usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk 
/usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk 
/usr/src/share/mk/src.init.mk /usr/src/sys/modules/accf_data/../Makefile.inc 
/usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk 
/usr/src/share/mk/bsd.linker.mk /usr/src/sys/conf/kern.opts.mk 
/usr/src/sys/conf/config.mk /usr/src/share/mk/bsd.links.mk 
/usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk 
/usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.
 subdir.mk /usr/src/sys/conf/kern.mk'
.PATH='. /usr/src/sys/modules/accf_data /usr/src/sys/netinet 
/usr/obj/cortexA53_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG'
1 error



Detailed context:

# uname -apKU
FreeBSD FBSDUSSD 12.0-CURRENT FreeBSD 12.0-CURRENT  r336349M  amd64 amd64 
1200073 1200073

The "M" is mostly for powerpc* family experiments:

# svnlite status /usr/src/ | sort
?   /usr/src/sys/amd64/conf/GENERIC-DBG
?   /usr/src/sys/amd64/conf/GENERIC-NODBG
?   /usr/src/sys/arm/conf/GENERIC-DBG
?   /usr/src/sys/arm/conf/GENERIC-NODBG
?   /usr/src/sys/arm64/conf/GENERIC-DBG
?   /usr/src/sys/arm64/conf/GENERIC-NODBG
?   /usr/src/sys/powerpc/conf/GENERIC64vtsc-DBG
?   /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODBG
?   /usr/src/sys/powerpc/conf/GENERICvtsc-DBG
?   /usr/src/sys/powerpc/conf/GENERICvtsc-NODBG
M   /usr/src/Makefile.libcompat
M   /usr/src/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M   /usr/src/contrib/llvm/tools/lld/ELF/Arch/PPC64.cpp
M   /usr/src/crypto/openssl/crypto/armcap.c
M   /usr/src/lib/libkvm/kvm_powerpc.c
M   /usr/src/lib/libkvm/kvm_private.c
M   /usr/src/release/Makefile.vm
M   /usr/src/release/scripts/mk-vmimage.sh
M   /usr/src/release/tools/vmimage.subr
M   /usr/src/secure/lib/libcrypto/Makefile
M   /usr/src/stand/defs.mk
M   /usr/src/stand/powerpc/boot1.chrp/Makefile
M   /usr/src/stand/powerpc/kboot/Makefile
M   /usr/src/sys/arm64/arm64/identcpu.c
M   /usr/src/sys/conf/kmod.mk
M   /usr/src/sys/conf/ldscript.powerpc
M   /usr/src/sys/powerpc/aim/mmu_oea64.c
M   /usr/src/sys/powerpc/ofw/ofw_machdep.c

# more /usr/src/sys/arm64/conf/GENERIC-NODBG
#
# GENERIC -- Custom configuration for the arm64/aarch64
#

include "GENERIC"

ident   GENERIC-NODBG

makeoptions DEBUG=-g  

Re: updates to HEAD online, RSS non-browser ??

2018-07-16 Thread Piotr P. Stefaniak

On 2018-07-14 04:36:05, Jeffrey Bouquet wrote:

secnetix.de used to let me read HEAD updates to src daily.  About
several monhts ago, my browsers cannot reach it and the 2ndry site is
tedious to read in an equivalent manner. AFAIK the site is still up.
Recent EU laws or some other cause?  Reachable by some legal VPN
trickery?  RSS feed better serving to inform? legal web scraping
connects to site when browsers cannot?


Would this suffice?
https://github.com/freebsd/freebsd/commits/master.atom
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [PATCH] Recent libm additions

2018-07-16 Thread Dima Pasechnik
Julia's libm is https://github.com/JuliaMath/openlibm (or http://openlibm.org/)

The do try merging latest from freebsd (msun), although it seems not
the very latest.
(see e.g. https://github.com/JuliaMath/openlibm/pull/118)

I did try installing the master git branch of openlibm on FreeBSD 11.1
with clang,
it builds and passes all tests they have.

Does it make sense to contribute there more tests (if any --- they seem to have
quite a list), to clear
suspicions about precision?

On Sun, Jul 15, 2018 at 10:03 PM Matthew Macy  wrote:
>
> On Sun, Jul 15, 2018 at 12:43 PM, Montgomery-Smith, Stephen
>  wrote:
> > On 07/15/2018 02:09 PM, Warner Losh wrote:
> >> I'm not saying that he has a lock. I'm saying he's are domain expert and
> >> many mistakes can be avoided by talking to him.
> >>
> >> I'm saying we have history here, and that history, while poorly documented,
> >> wasn't followed. To the extent it is poorly documented, we should fix that.
> >>
> >> Warner
> >>
> > I agree that we should document the process.  Maybe also include
> > freebsd-numerics@ on these discussions, as that is why it was created.
> >
> > But I'm really glad these changes were committed.  I have found the
> > people tend to drag their feet a lot on numerics issues.
> >
> > Has anyone done an analysis of the OpenBSD powl functions from an
> > accuracy point of view?  That is, to test how many ULP of error these
> > functions have?  If not, I could give it a go, although not for several
> > months because life is very busy.
>
> They're also used by Julia. You might ask there first.
> -M
> ___
> freebsd-numer...@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-numerics
> To unsubscribe, send any mail to "freebsd-numerics-unsubscr...@freebsd.org"
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"