On 25 Apr 2019, at 16:01, Dmitry Chagin wrote:
>
> I'm trying to merge r331056, r331057, r331060, r331356,(by emaste@) to the
> stable/11 and get the following error:
>
> ===> linux (all)
> cc -O2 -pipe -DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 -fno-strict-aliasing
> -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS
> -include
> /usr/home/dchagin/tmp/obj/usr/home/dchagin/freebsd/sys/GENERIC/opt_global.h
> -I. -I/usr/home/dchagin/freebsd/sys -fno-common -g -fno-omit-frame-pointer
> -mno-omit-leaf-frame-pointer
> -I/usr/home/dchagin/tmp/obj/usr/home/dchagin/freebsd/sys/GENERIC -MD
> -MF.depend.linux32_sysvec.o -MTlinux32_sysvec.o -mcmodel=kernel
> -mno-red-zone -mno-mmx -mno-sse -msoft-float
> -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector
> -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef
> -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs
> -fdiagnostics-show-option -Wno-unknown-pragmas
> -Wno-error-tautological-compare -Wno-error-empty-body
> -Wno-error-parentheses-equality -Wno-error-unused-function
> -Wno-error-pointer-sign -Wno-error-shift-negative-value
> -Wno-error-address-of-packed-member -mno-aes -mno-avx -std=iso9899:1999
> -c /usr/home/dchagin/freebsd/sys/amd64/linux32/linux32_sysvec.c -o
> linux32_sysvec.o
> /usr/home/dchagin/freebsd/sys/amd64/linux32/linux32_sysvec.c:322:29:
> warning: taking address of packed member 'uc_sigmask' of class or structure
> 'l_ucontext' may result in an unaligned pointer value
> [-Waddress-of-packed-member]
>bsd_to_linux_sigset(mask, _sc.uc_sigmask);
> ^~
> /usr/home/dchagin/freebsd/sys/amd64/linux32/linux32_sysvec.c:639:23:
> warning: taking address of packed member 'uc_sigmask' of class or structure
> 'l_ucontext' may result in an unaligned pointer value
> [-Waddress-of-packed-member]
>linux_to_bsd_sigset(_sigmask, );
> ^
> /usr/home/dchagin/freebsd/sys/amd64/linux32/linux32_sysvec.c:912:15: error:
> initializing 'int *' with an expression of type 'const int []' discards
> qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
>.sv_errtbl = linux_errtbl,
> ^~~~
> 2 warnings and 1 error generated.
> *** Error code 1
>
> Is I'm missing something?
Yes, please also merge r329787:
r329787 | emaste | 2018-02-22 02:59:59 +0100 (Thu, 22 Feb 2018) | 6 lines
Use 'const int *' for sysentvec errno translation table
This allows an sv_errtbl to be read-only .rodata.
Sponsored by: Turing Robotic Industries Inc.
Index: sys/sys/sysent.h
===
--- sys/sys/sysent.h(revision 329786)
+++ sys/sys/sysent.h(revision 329787)
@@ -94,7 +94,7 @@ struct sysentvec {
struct sysent *sv_table; /* pointer to sysent */
u_int sv_mask;/* optional mask to index */
int sv_errsize; /* size of errno translation table */
- int *sv_errtbl; /* errno translation table */
+ const int *sv_errtbl; /* errno translation table */
int (*sv_transtrap)(int, int);
/* translate trap-to-signal mapping */
int (*sv_fixup)(register_t **, struct image_params *);
-Dimitry
signature.asc
Description: Message signed with OpenPGP