Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2019 19:42:47 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r350454 - in projects/fuse2: . contrib/elftoolchain/elfcopy etc/mtree lib/libcasper/libcasper lib/libcasper/services/cap_fileargs share/man/man9 share/mk stand/efi/loader sys/amd64/conf...
Message-ID:  <201907301942.x6UJgl2N015775@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Tue Jul 30 19:42:46 2019
New Revision: 350454
URL: https://svnweb.freebsd.org/changeset/base/350454

Log:
  MFHead @350453
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/fuse2/share/man/man9/seqc.9
     - copied unchanged from r350453, head/share/man/man9/seqc.9
  projects/fuse2/sys/amd64/linux/linux_locore.asm
     - copied unchanged from r350453, head/sys/amd64/linux/linux_locore.asm
  projects/fuse2/sys/amd64/linux32/linux32_locore.asm
     - copied unchanged from r350453, head/sys/amd64/linux32/linux32_locore.asm
  projects/fuse2/sys/arm64/linux/linux_locore.asm
     - copied unchanged from r350453, head/sys/arm64/linux/linux_locore.asm
  projects/fuse2/sys/i386/linux/linux_locore.asm
     - copied unchanged from r350453, head/sys/i386/linux/linux_locore.asm
Deleted:
  projects/fuse2/sys/amd64/linux/linux_locore.s
  projects/fuse2/sys/amd64/linux32/linux32_locore.s
  projects/fuse2/sys/arm/arm/elf_trampoline.c
  projects/fuse2/sys/arm64/linux/linux_locore.s
  projects/fuse2/sys/i386/linux/linux_locore.s
  projects/fuse2/sys/kern/imgact_gzip.c
  projects/fuse2/sys/kern/subr_inflate.c
  projects/fuse2/sys/sys/inflate.h
Modified:
  projects/fuse2/.cirrus.yml
  projects/fuse2/contrib/elftoolchain/elfcopy/main.c
  projects/fuse2/contrib/elftoolchain/elfcopy/strip.1
  projects/fuse2/etc/mtree/BSD.var.dist
  projects/fuse2/lib/libcasper/libcasper/libcasper.3
  projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3
  projects/fuse2/share/man/man9/Makefile
  projects/fuse2/share/mk/bsd.sys.mk
  projects/fuse2/stand/efi/loader/conf.c
  projects/fuse2/sys/amd64/conf/NOTES
  projects/fuse2/sys/arm64/arm64/pmap.c
  projects/fuse2/sys/arm64/conf/GENERIC
  projects/fuse2/sys/conf/files
  projects/fuse2/sys/conf/files.amd64
  projects/fuse2/sys/conf/files.arm64
  projects/fuse2/sys/conf/files.i386
  projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c
  projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c
  projects/fuse2/sys/dev/sound/pci/hda/hdac.h
  projects/fuse2/sys/i386/conf/NOTES
  projects/fuse2/sys/kern/capabilities.conf
  projects/fuse2/sys/kern/init_sysent.c
  projects/fuse2/sys/kern/kern_exit.c
  projects/fuse2/sys/kern/kern_sendfile.c
  projects/fuse2/sys/kern/subr_witness.c
  projects/fuse2/sys/kern/vfs_bio.c
  projects/fuse2/sys/modules/linux64/Makefile
  projects/fuse2/sys/sys/proc.h
  projects/fuse2/sys/sys/refcount.h
  projects/fuse2/sys/sys/seqc.h
  projects/fuse2/sys/vm/vm_page.c
  projects/fuse2/sys/vm/vm_page.h
Directory Properties:
  projects/fuse2/   (props changed)
  projects/fuse2/contrib/elftoolchain/   (props changed)

Modified: projects/fuse2/.cirrus.yml
==============================================================================
--- projects/fuse2/.cirrus.yml	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/.cirrus.yml	Tue Jul 30 19:42:46 2019	(r350454)
@@ -12,7 +12,6 @@ task:
   timeout_in: 90m
   install_script:
   - pkg install -y qemu-devel uefi-edk2-qemu-x86_64
-  - fetch https://people.freebsd.org/~emaste/OVMF.fd
   script:
   - make -j$(sysctl -n hw.ncpu) WITHOUT_TOOLCHAIN=yes buildworld buildkernel
   test_script:

Modified: projects/fuse2/contrib/elftoolchain/elfcopy/main.c
==============================================================================
--- projects/fuse2/contrib/elftoolchain/elfcopy/main.c	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/contrib/elftoolchain/elfcopy/main.c	Tue Jul 30 19:42:46 2019	(r350454)
@@ -1187,6 +1187,12 @@ strip_main(struct elfcopy *ecp, int argc, char **argv)
 		ecp->strip = STRIP_ALL;
 	if (optind == argc)
 		strip_usage();
+	/*
+	 * Only accept a single input file if an output file had been
+	 * specified.
+	 */
+	if (outfile != NULL && argc != (optind + 1))
+		strip_usage();
 
 	for (i = optind; i < argc; i++)
 		create_file(ecp, argv[i], outfile);

Modified: projects/fuse2/contrib/elftoolchain/elfcopy/strip.1
==============================================================================
--- projects/fuse2/contrib/elftoolchain/elfcopy/strip.1	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/contrib/elftoolchain/elfcopy/strip.1	Tue Jul 30 19:42:46 2019	(r350454)
@@ -23,7 +23,7 @@
 .\"
 .\" $Id: strip.1 3642 2018-10-14 14:24:28Z jkoshy $
 .\"
-.Dd September 17, 2011
+.Dd July 27, 2019
 .Dt STRIP 1
 .Os
 .Sh NAME
@@ -51,8 +51,16 @@
 .Sh DESCRIPTION
 The
 .Nm
-utility is used to discard information from ELF objects.
+utility is used to discard information from the ELF objects
+specified by the arguments
+.Ar .
 .Pp
+If an explicit output file name is not specified using the
+.Fl o
+option, the
+.Nm
+utility will modify its input arguments in-place.
+.Pp
 The
 .Nm
 utility supports the following options:
@@ -65,8 +73,9 @@ Print a help message and exit.
 Remove all content except that which would be used for debugging.
 .It Fl o Ar outputfile | Fl -output-file= Ns Ar outputfile
 Write the stripped object to file
-.Ar outputfile .
-The default behaviour is to modify objects in place.
+.Ar outputfile
+instead of modifying the input in-place.
+Only a single input object should be specified if this option is used.
 .It Fl p | Fl -preserve-dates
 Preserve the object's access and modification times.
 .It Fl s | Fl -strip-all

Modified: projects/fuse2/etc/mtree/BSD.var.dist
==============================================================================
--- projects/fuse2/etc/mtree/BSD.var.dist	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/etc/mtree/BSD.var.dist	Tue Jul 30 19:42:46 2019	(r350454)
@@ -5,7 +5,7 @@
 
 /set type=dir uname=root gname=wheel mode=0755 tags=package=runtime
 .
-    account
+    account             mode=0750
     ..
     at
 /set uname=daemon

Modified: projects/fuse2/lib/libcasper/libcasper/libcasper.3
==============================================================================
--- projects/fuse2/lib/libcasper/libcasper/libcasper.3	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/lib/libcasper/libcasper/libcasper.3	Tue Jul 30 19:42:46 2019	(r350454)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 5, 2018
+.Dd July 29, 2019
 .Dt LIBCASPER 3
 .Os
 .Sh NAME
@@ -212,9 +212,6 @@ compatible API
 provides
 .Xr getpwent 3
 compatible API
-.It system.random
-allows to obtain entropy from
-.Pa /dev/random
 .It system.sysctl
 provides
 .Xr sysctlbyname 3

Modified: projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3
==============================================================================
--- projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3	Tue Jul 30 19:42:46 2019	(r350454)
@@ -247,7 +247,7 @@ for (i = 0; i < argc; i++) {
 	fd = fileargs_open(fa, argv[i]);
 	if (fd < 0)
 		err(1, "unable to open file %s", argv[i]);
-	printf("File %s opened in capability mode\n", argv[i]);
+	printf("File %s opened in capability mode\en", argv[i]);
 	close(fd);
 }
 

Modified: projects/fuse2/share/man/man9/Makefile
==============================================================================
--- projects/fuse2/share/man/man9/Makefile	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/share/man/man9/Makefile	Tue Jul 30 19:42:46 2019	(r350454)
@@ -289,6 +289,7 @@ MAN=	accept_filter.9 \
 	securelevel_gt.9 \
 	selrecord.9 \
 	sema.9 \
+	seqc.9 \
 	sf_buf.9 \
 	sglist.9 \
 	shm_map.9 \
@@ -1825,6 +1826,10 @@ MLINKS+=sema.9 sema_destroy.9 \
 	sema.9 sema_trywait.9 \
 	sema.9 sema_value.9 \
 	sema.9 sema_wait.9
+MLINKS+=seqc.9 seqc_consistent.9 \
+	seqc.9 seqc_read.9 \
+	seqc.9 seqc_write_begin.9 \
+	seqc.9 seqc_write_end.9
 MLINKS+=sf_buf.9 sf_buf_alloc.9 \
 	sf_buf.9 sf_buf_free.9 \
 	sf_buf.9 sf_buf_kva.9 \

Copied: projects/fuse2/share/man/man9/seqc.9 (from r350453, head/share/man/man9/seqc.9)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/fuse2/share/man/man9/seqc.9	Tue Jul 30 19:42:46 2019	(r350454, copy of r350453, head/share/man/man9/seqc.9)
@@ -0,0 +1,138 @@
+.\"
+.\" Copyright (C) 2019 Mariusz Zaborski <oshogbo@FreeBSD.org>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice(s), this list of conditions and the following disclaimer as
+.\"    the first lines of this file unmodified other than the possible
+.\"    addition of one or more copyright notices.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice(s), this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
+.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
+.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+.\" DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 29, 2019
+.Dt SEQC 9
+.Os
+.Sh NAME
+.Nm seqc_consistent ,
+.Nm seqc_read ,
+.Nm seqc_write_begin ,
+.Nm seqc_write_end
+.Nd "lockless read algorithm"
+.Sh SYNOPSIS
+.In sys/seqc.h
+.Ft void
+.Fn seqc_write_begin "seqc_t *seqcp"
+.Ft void
+.Fn seqc_write_end "seqc_t *seqcp"
+.Ft seqc_t
+.Fn seqc_read "seqc_t *seqcp"
+.Ft seqc_t
+.Fn seqc_consistent "const seqc_t *seqcp" "seqc_t oldseqc"
+.Sh DESCRIPTION
+The
+.Nm seqc
+allows zero or more readers and zero or one writer to concurrently access
+an object, providing a consistent snapshot of the object for readers.
+No mutual exclusion between readers and writers is required,
+but readers may be starved indefinitely by writers.
+.Pp
+The functions
+.Fn seqc_write_begin
+and
+.Fn seqc_write_end
+are used to create a transaction for writer, and notify the readers that the
+object will be modified.
+.Pp
+The
+.Fn seqc_read
+function returns the current sequence number.
+If a writer has started a transaction, this function will spin until the
+transaction has ended.
+.Pp
+The
+.Fn seqc_consistent
+function compares the sequence number with a previously fetched value.
+The
+.Fa oldseqc
+variable should contain a sequence number from the beginning of read
+transaction.
+.Pp
+The reader at the end of a transaction checks if the sequence number has
+changed.
+If the sequence number didn't change the object wasn't modified, and fetched
+variables are valid.
+If the sequence number changed the object was modified and the fetch should be
+repeated.
+In case when sequence number is odd the object change is in progress and the
+reader will wait until the write will the sequence number will become even.
+.Sh EXAMPLES
+The following example for a writer changees the
+.Va var1
+and
+.Va var2
+variables in the
+.Va obj
+structure:
+.Bd -literal
+lock_exclusive(&obj->lock);
+seqc_write_begin(&obj->seqc);
+obj->var1 = 1;
+obj->var2 = 2;
+seqc_write_end(&obj->seqc);
+unlock_exclusive(&obj->lock);
+.Ed
+The following example for a reader reads the
+.Va var1
+and
+.Va var2
+variables from the
+.Va obj
+structure.
+In the case where the sequence number was changed it restarts the whole process.
+.Bd -literal
+int var1, var2;
+seqc_t seqc;
+
+for (;;) {
+	seqc = seqc_read(&obj->seqc);
+	var1 = obj->var1;
+	var2 = obj->var2;
+	if (seqc_consistent(&obj->seqc, seqc))
+		break;
+}
+.Ed
+.Sh AUTHORS
+The
+.Nm seqc
+functions was implemented by
+.An Mateusz Guzik Aq Mt mjg@FreeBSD.org .
+This manual page was written by
+.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org .
+.Sh CAVEATS
+There is no guarantee of progress for readers.
+In case when there are a lot of writers the reader can be starved.
+This concern may be solved by returning error after a few attempts.
+.Pp
+Theoretically if reading takes a very long time, and when there are many writers
+the counter may overflow and wrap around to the same value.
+In that case the reader will not notice that the object was changed.
+Given that this needs 4 billion transactional writes across a single contended
+reader, it is unlikely to ever happen.
+This could be avoided by extending the interface to allow 64-bit counters.

Modified: projects/fuse2/share/mk/bsd.sys.mk
==============================================================================
--- projects/fuse2/share/mk/bsd.sys.mk	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/share/mk/bsd.sys.mk	Tue Jul 30 19:42:46 2019	(r350454)
@@ -234,6 +234,8 @@ DEBUG_FILES_CFLAGS?= -g
 .if ${MK_WARNS} != "no"
 CFLAGS+=	${CWARNFLAGS:M*} ${CWARNFLAGS.${COMPILER_TYPE}}
 CFLAGS+=	${CWARNFLAGS.${.IMPSRC:T}}
+CXXFLAGS+=	${CXXWARNFLAGS:M*} ${CXXWARNFLAGS.${COMPILER_TYPE}}
+CXXFLAGS+=	${CXXWARNFLAGS.${.IMPSRC:T}}
 .endif
 
 CFLAGS+=	 ${CFLAGS.${COMPILER_TYPE}}

Modified: projects/fuse2/stand/efi/loader/conf.c
==============================================================================
--- projects/fuse2/stand/efi/loader/conf.c	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/stand/efi/loader/conf.c	Tue Jul 30 19:42:46 2019	(r350454)
@@ -40,7 +40,9 @@ struct devsw *devsw[] = {
 	&efipart_cddev,
 	&efipart_hddev,
 	&efihttp_dev, /* ordering with efinet_dev matters */
+#if defined(LOADER_NET_SUPPORT)
 	&efinet_dev,
+#endif
 	&vdisk_dev,
 #ifdef EFI_ZFS_BOOT
 	&zfs_dev,
@@ -64,7 +66,9 @@ struct fs_ops *file_system[] = {
 };
 
 struct netif_driver *netif_drivers[] = {
+#if defined(LOADER_NET_SUPPORT)
 	&efinetif,
+#endif
 	NULL
 };
 

Modified: projects/fuse2/sys/amd64/conf/NOTES
==============================================================================
--- projects/fuse2/sys/amd64/conf/NOTES	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/amd64/conf/NOTES	Tue Jul 30 19:42:46 2019	(r350454)
@@ -127,7 +127,6 @@ device		nvram		# Access to rtc cmos via /dev/nvram
 device		speaker		#Play IBM BASIC-style noises out your speaker
 hint.speaker.0.at="isa"
 hint.speaker.0.port="0x61"
-device		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
 
 
 #####################################################################

Copied: projects/fuse2/sys/amd64/linux/linux_locore.asm (from r350453, head/sys/amd64/linux/linux_locore.asm)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/fuse2/sys/amd64/linux/linux_locore.asm	Tue Jul 30 19:42:46 2019	(r350454, copy of r350453, head/sys/amd64/linux/linux_locore.asm)
@@ -0,0 +1,108 @@
+/* $FreeBSD$ */
+
+#include "linux_assym.h"			/* system definitions */
+#include <machine/asmacros.h>			/* miscellaneous asm macros */
+
+#include <amd64/linux/linux_syscall.h>		/* system call numbers */
+
+	.data
+
+	.globl linux_platform
+linux_platform:
+	.asciz "x86_64"
+
+
+	.text
+/*
+ * To avoid excess stack frame the signal trampoline code emulates
+ * the 'call' instruction.
+ */
+NON_GPROF_ENTRY(linux_rt_sigcode)
+	movq	%rsp, %rbx			/* preserve sigframe */
+	call	.getip
+.getip:
+	popq	%rax
+	add	$.startrtsigcode-.getip, %rax	/* ret address */
+	pushq	%rax
+	jmp	*LINUX_RT_SIGF_HANDLER(%rbx)
+.startrtsigcode:
+	movq	$LINUX_SYS_linux_rt_sigreturn,%rax   /* linux_rt_sigreturn() */
+	syscall					/* enter kernel with args */
+	hlt
+.endrtsigcode:
+0:	jmp	0b
+
+NON_GPROF_ENTRY(__vdso_clock_gettime)
+	movq	$LINUX_SYS_linux_clock_gettime,%rax
+	syscall
+	ret
+.weak clock_gettime
+.set clock_gettime, __vdso_clock_gettime
+
+NON_GPROF_ENTRY(__vdso_time)
+	movq	$LINUX_SYS_linux_time,%rax
+	syscall
+	ret
+.weak time
+.set time, __vdso_time
+
+NON_GPROF_ENTRY(__vdso_gettimeofday)
+	movq	$LINUX_SYS_gettimeofday,%rax
+	syscall
+	ret
+.weak gettimeofday
+.set gettimeofday, __vdso_gettimeofday
+
+NON_GPROF_ENTRY(__vdso_getcpu)
+	movq	$-38,%rax	/* not implemented */
+	ret
+.weak getcpu
+.set getcpu, __vdso_getcpu
+
+#if 0
+	.section .note.Linux, "a",@note
+	.long 2f - 1f		/* namesz */
+	.balign 4
+	.long 4f - 3f		/* descsz */
+	.long 0
+1:
+	.asciz "Linux"
+2:
+	.balign 4
+3:
+	.long LINUX_VERSION_CODE
+4:
+	.balign 4
+	.previous
+#endif
+
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI0:
+	.long .LENDCIEDLSI0-.LSTARTCIEDLSI0
+.LSTARTCIEDLSI0:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zR"				/* NULL-terminated
+						 * augmentation string
+						 */
+	.uleb128 1				/* Code alignment factor */
+	.sleb128 -4				/* Data alignment factor */
+	.byte 8					/* Return address register column */
+	.uleb128 1				/* Augmentation value length */
+	.byte 0x1b				/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0x0c				/* DW_CFA_def_cfa */
+	.uleb128 4
+	.uleb128 4
+	.byte 0x88				/* DW_CFA_offset, column 0x8 */
+	.uleb128 1
+	.align 4
+.LENDCIEDLSI0:
+	.long .LENDFDEDLSI0-.LSTARTFDEDLSI0	/* Length FDE */
+.LSTARTFDEDLSI0:
+	.long .LSTARTFDEDLSI0-.LSTARTFRAMEDLSI0	/* CIE pointer */
+	.long .startrtsigcode-.			/* PC-relative start address */
+	.long .endrtsigcode-.startrtsigcode
+	.uleb128 0
+	.align 4
+.LENDFDEDLSI0:
+	.previous

Copied: projects/fuse2/sys/amd64/linux32/linux32_locore.asm (from r350453, head/sys/amd64/linux32/linux32_locore.asm)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/fuse2/sys/amd64/linux32/linux32_locore.asm	Tue Jul 30 19:42:46 2019	(r350454, copy of r350453, head/sys/amd64/linux32/linux32_locore.asm)
@@ -0,0 +1,156 @@
+/* $FreeBSD$ */
+
+#include "linux32_assym.h"			/* system definitions */
+#include <machine/asmacros.h>			/* miscellaneous asm macros */
+
+#include <amd64/linux32/linux32_syscall.h>	/* system call numbers */
+
+.data
+
+	.globl linux_platform
+linux_platform:
+	.asciz "i686"
+
+.text
+.code32
+
+/*
+ * To avoid excess stack frame the signal trampoline code emulates
+ * the 'call' instruction.
+ */
+NON_GPROF_ENTRY(linux32_sigcode)
+	movl	%esp, %ebx			/* preserve sigframe */
+	call .getip0
+.getip0:
+	popl	%eax
+	add	$.startsigcode-.getip0, %eax	/* ret address */
+	push	%eax
+	jmp	*LINUX_SIGF_HANDLER(%ebx)
+.startsigcode:
+	popl	%eax
+	movl	$LINUX32_SYS_linux_sigreturn,%eax	/* linux_sigreturn() */
+	int	$0x80				/* enter kernel with args */
+.endsigcode:
+0:	jmp	0b
+
+NON_GPROF_ENTRY(linux32_rt_sigcode)
+	leal	LINUX_RT_SIGF_UC(%esp),%ebx	/* linux ucp */
+	leal	LINUX_RT_SIGF_SC(%ebx),%ecx	/* linux sigcontext */
+	movl	%esp, %edi
+	call	.getip1
+.getip1:
+	popl	%eax
+	add	$.startrtsigcode-.getip1, %eax	/* ret address */
+	push	%eax
+	jmp	*LINUX_RT_SIGF_HANDLER(%edi)
+.startrtsigcode:
+	movl	$LINUX32_SYS_linux_rt_sigreturn,%eax   /* linux_rt_sigreturn() */
+	int	$0x80				/* enter kernel with args */
+.endrtsigcode:
+0:	jmp	0b
+
+NON_GPROF_ENTRY(linux32_vsyscall)
+.startvsyscall:
+	int $0x80
+	ret
+.endvsyscall:
+
+#if 0
+	.section .note.Linux, "a",@note
+	.long 2f - 1f		/* namesz */
+	.balign 4
+	.long 4f - 3f		/* descsz */
+	.long 0
+1:
+	.asciz "Linux"
+2:
+	.balign 4
+3:
+	.long LINUX_VERSION_CODE
+4:
+	.balign 4
+	.previous
+#endif
+
+#define do_cfa_expr(offset)						\
+	.byte 0x0f;			/* DW_CFA_def_cfa_expression */	\
+	.uleb128 11f-10f;		/*   length */			\
+10:	.byte 0x74;			/*     DW_OP_breg4 */		\
+	.sleb128 offset;		/*      offset */		\
+	.byte 0x06;			/*     DW_OP_deref */		\
+11:
+
+
+	/* CIE */
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI1:
+	.long .LENDCIEDLSI1-.LSTARTCIEDLSI1
+.LSTARTCIEDLSI1:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zRS"				/* NULL-terminated
+						 * augmentation string
+						 */
+	.uleb128 1				/* Code alignment factor */
+	.sleb128 -4				/* Data alignment factor */
+	.byte 8					/* Return address
+						 * register column
+						 */
+	.uleb128 1				/* Augmentation value length */
+	.byte 0x1b				/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0					/* DW_CFA_nop */
+	.align 4
+.LENDCIEDLSI1:
+
+	/* FDE */
+	.long .LENDFDEDLSI1-.LSTARTFDEDLSI1	/* Length FDE */
+.LSTARTFDEDLSI1:
+	.long .LSTARTFDEDLSI1-.LSTARTFRAMEDLSI1 /* CIE pointer */
+	.long .startsigcode-.			/* PC-relative start address */
+	.long .endsigcode-.startsigcode
+	.uleb128 0				/* Augmentation */
+	do_cfa_expr(LINUX_SIGF_SC-8)
+	.align 4
+.LENDFDEDLSI1:
+
+	.long .LENDFDEDLSI2-.LSTARTFDEDLSI2	/* Length FDE */
+.LSTARTFDEDLSI2:
+	.long .LSTARTFDEDLSI2-.LSTARTFRAMEDLSI1	/* CIE pointer */
+	.long .startrtsigcode-.			/* PC-relative start address */
+	.long .endrtsigcode-.startrtsigcode
+	.uleb128 0				/* Augmentation */
+	do_cfa_expr(LINUX_RT_SIGF_SC-4+LINUX_SC_ESP)
+	.align 4
+.LENDFDEDLSI2:
+	.previous
+
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI2:
+	.long .LENDCIEDLSI2-.LSTARTCIEDLSI2
+.LSTARTCIEDLSI2:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zR"				/* NULL-terminated
+						 * augmentation string
+						 */
+	.uleb128 1				/* Code alignment factor */
+	.sleb128 -4				/* Data alignment factor */
+	.byte 8					/* Return address register column */
+	.uleb128 1				/* Augmentation value length */
+	.byte 0x1b				/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0x0c				/* DW_CFA_def_cfa */
+	.uleb128 4
+	.uleb128 4
+	.byte 0x88				/* DW_CFA_offset, column 0x8 */
+	.uleb128 1
+	.align 4
+.LENDCIEDLSI2:
+	.long .LENDFDEDLSI3-.LSTARTFDEDLSI3 /* Length FDE */
+.LSTARTFDEDLSI3:
+	.long .LSTARTFDEDLSI3-.LSTARTFRAMEDLSI2 /* CIE pointer */
+	.long .startvsyscall-.			/* PC-relative start address */
+	.long .endvsyscall-.startvsyscall
+	.uleb128 0
+	.align 4
+.LENDFDEDLSI3:
+	.previous

Modified: projects/fuse2/sys/arm64/arm64/pmap.c
==============================================================================
--- projects/fuse2/sys/arm64/arm64/pmap.c	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/arm64/arm64/pmap.c	Tue Jul 30 19:42:46 2019	(r350454)
@@ -5743,7 +5743,7 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_
 int
 pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far)
 {
-	pt_entry_t *pte;
+	pt_entry_t pte, *ptep;
 	register_t intr;
 	uint64_t ec, par;
 	int lvl, rv;
@@ -5767,9 +5767,9 @@ pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far)
 	case ISS_DATA_DFSC_AFF_L2:
 	case ISS_DATA_DFSC_AFF_L3:
 		PMAP_LOCK(pmap);
-		pte = pmap_pte(pmap, far, &lvl);
-		if (pte != NULL) {
-			pmap_set_bits(pte, ATTR_AF);
+		ptep = pmap_pte(pmap, far, &lvl);
+		if (ptep != NULL) {
+			pmap_set_bits(ptep, ATTR_AF);
 			rv = KERN_SUCCESS;
 			/*
 			 * XXXMJ as an optimization we could mark the entry
@@ -5785,12 +5785,13 @@ pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far)
 		    (esr & ISS_DATA_WnR) == 0)
 			return (rv);
 		PMAP_LOCK(pmap);
-		pte = pmap_pte(pmap, far, &lvl);
-		if (pte != NULL &&
-		    (pmap_load(pte) & (ATTR_AP_RW_BIT | ATTR_SW_DBM)) ==
-		    (ATTR_AP(ATTR_AP_RO) | ATTR_SW_DBM)) {
-			pmap_clear_bits(pte, ATTR_AP_RW_BIT);
-			pmap_invalidate_page(pmap, far);
+		ptep = pmap_pte(pmap, far, &lvl);
+		if (ptep != NULL &&
+		    ((pte = pmap_load(ptep)) & ATTR_SW_DBM) != 0) {
+			if ((pte & ATTR_AP_RW_BIT) == ATTR_AP(ATTR_AP_RO)) {
+				pmap_clear_bits(ptep, ATTR_AP_RW_BIT);
+				pmap_invalidate_page(pmap, far);
+			}
 			rv = KERN_SUCCESS;
 		}
 		PMAP_UNLOCK(pmap);

Modified: projects/fuse2/sys/arm64/conf/GENERIC
==============================================================================
--- projects/fuse2/sys/arm64/conf/GENERIC	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/arm64/conf/GENERIC	Tue Jul 30 19:42:46 2019	(r350454)
@@ -189,6 +189,7 @@ device		aw_mmc			# Allwinner SD/MMC controller
 device		mmc			# mmc/sd bus
 device		mmcsd			# mmc/sd flash cards
 device		dwmmc
+device		dwmmc_altera
 device		rk_emmcphy
 
 # Serial (COM) ports

Copied: projects/fuse2/sys/arm64/linux/linux_locore.asm (from r350453, head/sys/arm64/linux/linux_locore.asm)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/fuse2/sys/arm64/linux/linux_locore.asm	Tue Jul 30 19:42:46 2019	(r350454, copy of r350453, head/sys/arm64/linux/linux_locore.asm)
@@ -0,0 +1,58 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
+ * Copyright (C) 2018 Turing Robotic Industries Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * arm64 Linux VDSO implementation.
+ */
+
+#include <machine/asm.h>
+
+	.data
+
+	.globl linux_platform
+linux_platform:
+	.asciz "arm64"
+
+	.text
+
+ENTRY(__kernel_rt_sigreturn)
+	brk #0 /* LINUXTODO: implement __kernel_rt_sigreturn */
+	ret
+
+ENTRY(__kernel_gettimeofday)
+	brk #0 /* LINUXTODO: implement __kernel_gettimeofday */
+	ret
+
+ENTRY(__kernel_clock_gettime)
+	brk #0 /* LINUXTODO: implement __kernel_clock_gettime */
+	ret
+
+ENTRY(__kernel_clock_getres)
+	brk #0 /* LINUXTODO: implement __kernel_clock_getres */
+	ret

Modified: projects/fuse2/sys/conf/files
==============================================================================
--- projects/fuse2/sys/conf/files	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/conf/files	Tue Jul 30 19:42:46 2019	(r350454)
@@ -3814,7 +3814,6 @@ kern/subr_firmware.c		optional firmware
 kern/subr_gtaskqueue.c		standard
 kern/subr_hash.c		standard
 kern/subr_hints.c		standard
-kern/subr_inflate.c		optional gzip
 kern/subr_kdb.c			standard
 kern/subr_kobj.c		standard
 kern/subr_lock.c		standard

Modified: projects/fuse2/sys/conf/files.amd64
==============================================================================
--- projects/fuse2/sys/conf/files.amd64	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/conf/files.amd64	Tue Jul 30 19:42:46 2019	(r350454)
@@ -45,7 +45,7 @@ linux32_assym.h			optional	compat_linux32		\
 	clean		"linux32_assym.h"
 #
 linux32_locore.o	optional	compat_linux32		\
-	dependency 	"linux32_assym.h $S/amd64/linux32/linux32_locore.s"	\
+	dependency 	"linux32_assym.h $S/amd64/linux32/linux32_locore.asm"	\
 	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
 	no-obj no-implicit-rule						\
 	clean		"linux32_locore.o"
@@ -633,7 +633,6 @@ isa/syscons_isa.c		optional	sc
 isa/vga_isa.c			optional	vga
 kern/kern_clocksource.c		standard
 kern/imgact_aout.c		optional compat_aout
-kern/imgact_gzip.c		optional gzip
 kern/link_elf_obj.c		standard
 libkern/x86/crc32_sse42.c	standard
 #

Modified: projects/fuse2/sys/conf/files.arm64
==============================================================================
--- projects/fuse2/sys/conf/files.arm64	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/conf/files.arm64	Tue Jul 30 19:42:46 2019	(r350454)
@@ -221,6 +221,7 @@ dev/hwpmc/hwpmc_arm64.c		optional	hwpmc
 dev/hwpmc/hwpmc_arm64_md.c	optional	hwpmc
 dev/mbox/mbox_if.m		optional	soc_brcm_bcm2837
 dev/mmc/host/dwmmc.c		optional	dwmmc fdt
+dev/mmc/host/dwmmc_altera.c	optional	dwmmc fdt dwmmc_altera
 dev/mmc/host/dwmmc_hisi.c	optional	dwmmc fdt soc_hisi_hi6220
 dev/mmc/host/dwmmc_rockchip.c	optional	dwmmc fdt soc_rockchip_rk3328
 dev/neta/if_mvneta_fdt.c	optional	neta fdt

Modified: projects/fuse2/sys/conf/files.i386
==============================================================================
--- projects/fuse2/sys/conf/files.i386	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/conf/files.i386	Tue Jul 30 19:42:46 2019	(r350454)
@@ -32,7 +32,7 @@ linux_assym.h			optional	compat_linux		\
 	clean		"linux_assym.h"
 #
 linux_locore.o			optional	compat_linux		\
-	dependency 	"linux_assym.h $S/i386/linux/linux_locore.s"	\
+	dependency 	"linux_assym.h $S/i386/linux/linux_locore.asm"	\
 	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
 	no-obj no-implicit-rule						\
 	clean		"linux_locore.o"
@@ -529,7 +529,6 @@ isa/syscons_isa.c		optional sc
 isa/vga_isa.c			optional vga
 kern/kern_clocksource.c		standard
 kern/imgact_aout.c		optional compat_aout
-kern/imgact_gzip.c		optional gzip
 kern/subr_sfbuf.c		standard
 libkern/divdi3.c		standard
 libkern/ffsll.c			standard

Modified: projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c
==============================================================================
--- projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c	Tue Jul 30 19:42:46 2019	(r350454)
@@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/mmc/host/dwmmc_var.h>
 
+#include "opt_mmccam.h"
+
 static struct ofw_compat_data compat_data[] = {
 	{"altr,socfpga-dw-mshc",	1},
 	{NULL,				0},
@@ -66,9 +68,17 @@ static int
 altera_dwmmc_attach(device_t dev)
 {
 	struct dwmmc_softc *sc;
+	phandle_t root;
 
 	sc = device_get_softc(dev);
 	sc->hwtype = HWTYPE_ALTERA;
+
+	root = OF_finddevice("/");
+
+	if (ofw_bus_node_is_compatible(root, "altr,socfpga-stratix10")) {
+		sc->bus_hz = 24000000;
+		sc->use_pio = 1;
+	}
 
 	return (dwmmc_attach(dev));
 }

Modified: projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c
==============================================================================
--- projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c	Tue Jul 30 19:42:46 2019	(r350454)
@@ -425,12 +425,21 @@ hdac_pin_patch(struct hdaa_widget *w)
 	} else if (id == HDA_CODEC_ALC298 && subid == DELL_XPS9560_SUBVENDOR) {
 		switch (nid) {
 		case 24:
-			config  = 0x01a1913c;
+			config = 0x01a1913c;
 			break;
 		case 26:
-			config  = 0x01a1913d;
+			config = 0x01a1913d;
 			break;
 		}
+	} else if (id == HDA_CODEC_ALC256 && subid == DELL_I7577_SUBVENDOR ) {
+		switch (nid) {
+		case 20:
+			patch = "as=1 seq=0";
+			break;
+		case 33:
+			patch = "as=1 seq=15";
+			break;
+		}
 	}
 
 	if (patch != NULL)
@@ -768,6 +777,10 @@ hdaa_patch_direct(struct hdaa_devinfo *devinfo)
 			hdaa_write_coef(dev, 0x20, 0x07, 0x7cb);
 		}
 		break;
+	}
+	if (id == HDA_CODEC_ALC255 || id == HDA_CODEC_ALC256) {
+		val = hdaa_read_coef(dev, 0x20, 0x46);
+		hdaa_write_coef(dev, 0x20, 0x46, val|0x3000);
 	}
 	if (subid == APPLE_INTEL_MAC)
 		hda_command(dev, HDA_CMD_12BIT(0, devinfo->nid,

Modified: projects/fuse2/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- projects/fuse2/sys/dev/sound/pci/hda/hdac.h	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/dev/sound/pci/hda/hdac.h	Tue Jul 30 19:42:46 2019	(r350454)
@@ -203,6 +203,7 @@
 #define DELL_XPSM1210_SUBVENDOR	HDA_MODEL_CONSTRUCT(DELL, 0x01d7)
 #define DELL_OPLX745_SUBVENDOR	HDA_MODEL_CONSTRUCT(DELL, 0x01da)
 #define DELL_XPS9560_SUBVENDOR	HDA_MODEL_CONSTRUCT(DELL, 0x07be)
+#define DELL_I7577_SUBVENDOR	HDA_MODEL_CONSTRUCT(DELL, 0x0802)
 #define DELL_ALL_SUBVENDOR	HDA_MODEL_CONSTRUCT(DELL, 0xffff)
 
 /* Clevo */

Modified: projects/fuse2/sys/i386/conf/NOTES
==============================================================================
--- projects/fuse2/sys/i386/conf/NOTES	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/i386/conf/NOTES	Tue Jul 30 19:42:46 2019	(r350454)
@@ -275,7 +275,6 @@ device		nvram		# Access to rtc cmos via /dev/nvram
 device		speaker		#Play IBM BASIC-style noises out your speaker
 hint.speaker.0.at="isa"
 hint.speaker.0.port="0x61"
-device		gzip		#Exec gzipped a.out's.  REQUIRES COMPAT_AOUT!
 device		apm_saver	# Requires APM
 
 

Copied: projects/fuse2/sys/i386/linux/linux_locore.asm (from r350453, head/sys/i386/linux/linux_locore.asm)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/fuse2/sys/i386/linux/linux_locore.asm	Tue Jul 30 19:42:46 2019	(r350454, copy of r350453, head/sys/i386/linux/linux_locore.asm)
@@ -0,0 +1,149 @@
+/* $FreeBSD$ */
+
+#include "linux_assym.h"			/* system definitions */
+#include <machine/asmacros.h>			/* miscellaneous asm macros */
+
+#include <i386/linux/linux_syscall.h>		/* system call numbers */
+
+#include "assym.inc"
+
+/*
+ * To avoid excess stack frame the signal trampoline code emulates
+ * the 'call' instruction.
+ */
+NON_GPROF_ENTRY(linux_sigcode)
+	movl	%esp, %ebx			/* preserve sigframe */
+	call .getip0
+.getip0:
+	popl	%eax
+	add	$.startsigcode-.getip0, %eax	/* ret address */
+	push	%eax
+	jmp	*LINUX_SIGF_HANDLER(%ebx)
+.startsigcode:
+	popl	%eax				/* gcc unwind code need this */
+	movl	$LINUX_SYS_linux_sigreturn,%eax	/* linux_sigreturn() */
+	int	$0x80				/* enter kernel with args */
+.endsigcode:
+0:	jmp	0b
+
+NON_GPROF_ENTRY(linux_rt_sigcode)
+	leal	LINUX_RT_SIGF_UC(%esp),%ebx	/* linux ucp */
+	leal	LINUX_RT_SIGF_SC(%ebx),%ecx	/* linux sigcontext */
+	movl	%esp, %edi
+	call	.getip1
+.getip1:
+	popl	%eax
+	add	$.startrtsigcode-.getip1, %eax	/* ret address */
+	push	%eax
+	jmp	*LINUX_RT_SIGF_HANDLER(%edi)
+.startrtsigcode:
+	movl	$LINUX_SYS_linux_rt_sigreturn,%eax   /* linux_rt_sigreturn() */
+	int	$0x80				/* enter kernel with args */
+.endrtsigcode:
+0:	jmp	0b
+
+NON_GPROF_ENTRY(linux_vsyscall)
+.startvsyscall:
+	int $0x80
+	ret
+.endvsyscall:
+
+#if 0
+	.section .note.Linux, "a",@note
+	.long 2f - 1f		/* namesz */
+	.balign 4
+	.long 4f - 3f		/* descsz */
+	.long 0
+1:
+	.asciz "Linux"
+2:
+	.balign 4
+3:
+	.long LINUX_VERSION_CODE
+4:
+	.balign 4
+	.previous
+#endif
+
+#define do_cfa_expr(offset)						\
+	.byte 0x0f;			/* DW_CFA_def_cfa_expression */	\
+	.uleb128 11f-10f;		/*   length */			\
+10:	.byte 0x74;			/*     DW_OP_breg4 */		\
+	.sleb128 offset;		/*      offset */		\
+	.byte 0x06;			/*     DW_OP_deref */		\
+11:
+
+
+	/* CIE */
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI1:
+	.long .LENDCIEDLSI1-.LSTARTCIEDLSI1
+.LSTARTCIEDLSI1:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zRS"				/* NULL-terminated
+						 * augmentation string
+						 */
+	.uleb128 1				/* Code alignment factor */
+	.sleb128 -4				/* Data alignment factor */
+	.byte 8					/* Return address
+						 * register column
+						 */
+	.uleb128 1				/* Augmentation value length */
+	.byte 0x1b				/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0					/* DW_CFA_nop */
+	.align 4
+.LENDCIEDLSI1:
+
+	/* FDE */
+	.long .LENDFDEDLSI1-.LSTARTFDEDLSI1	/* Length FDE */
+.LSTARTFDEDLSI1:
+	.long .LSTARTFDEDLSI1-.LSTARTFRAMEDLSI1 /* CIE pointer */
+	.long .startsigcode-.			/* PC-relative start address */
+	.long .endsigcode-.startsigcode
+	.uleb128 0				/* Augmentation */
+	do_cfa_expr(LINUX_SIGF_SC-8)
+	.align 4
+.LENDFDEDLSI1:
+
+	.long .LENDFDEDLSI2-.LSTARTFDEDLSI2	/* Length FDE */
+.LSTARTFDEDLSI2:
+	.long .LSTARTFDEDLSI2-.LSTARTFRAMEDLSI1	/* CIE pointer */
+	.long .startrtsigcode-.			/* PC-relative start address */
+	.long .endrtsigcode-.startrtsigcode
+	.uleb128 0				/* Augmentation */
+	do_cfa_expr(LINUX_RT_SIGF_SC-4+LINUX_SC_ESP)
+	.align 4
+.LENDFDEDLSI2:
+	.previous
+
+	.section .eh_frame,"a",@progbits
+.LSTARTFRAMEDLSI2:
+	.long .LENDCIEDLSI2-.LSTARTCIEDLSI2
+.LSTARTCIEDLSI2:
+	.long 0					/* CIE ID */
+	.byte 1					/* Version number */
+	.string "zR"				/* NULL-terminated
+						 * augmentation string
+						 */
+	.uleb128 1				/* Code alignment factor */
+	.sleb128 -4				/* Data alignment factor */
+	.byte 8					/* Return address register column */
+	.uleb128 1				/* Augmentation value length */
+	.byte 0x1b				/* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
+	.byte 0x0c				/* DW_CFA_def_cfa */
+	.uleb128 4
+	.uleb128 4
+	.byte 0x88				/* DW_CFA_offset, column 0x8 */
+	.uleb128 1
+	.align 4
+.LENDCIEDLSI2:
+	.long .LENDFDEDLSI3-.LSTARTFDEDLSI3 /* Length FDE */
+.LSTARTFDEDLSI3:
+	.long .LSTARTFDEDLSI3-.LSTARTFRAMEDLSI2 /* CIE pointer */
+	.long .startvsyscall-.			/* PC-relative start address */
+	.long .endvsyscall-.startvsyscall
+	.uleb128 0
+	.align 4
+.LENDFDEDLSI3:
+	.previous

Modified: projects/fuse2/sys/kern/capabilities.conf
==============================================================================
--- projects/fuse2/sys/kern/capabilities.conf	Tue Jul 30 19:34:39 2019	(r350453)
+++ projects/fuse2/sys/kern/capabilities.conf	Tue Jul 30 19:42:46 2019	(r350454)
@@ -133,6 +133,11 @@ closefrom
 connectat
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907301942.x6UJgl2N015775>