On 25 Apr 2019, at 16:01, Dmitry Chagin <dcha...@freebsd.org> 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, &frame.sf_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(&uc.uc_sigmask, &bmask);
>                             ^~~~~~~~~~~~~
> /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

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to