On Thu, Dec 21, 2017 at 10:54:50PM +1100, Jonathan Gray wrote:
> This appears to break the gcc DRMDEBUG build
> 
> $ make atombios_dp.o CC=gcc COMPILER_VERSION=gcc4 
> gcc -g -Werror -Wall -Wimplicit-function-declaration  -Wno-uninitialized 
> -Wno-pointer-sign  -Wno-address-of-packed-member -Wno-constant-conversion  
> -Wframe-larger-than=2047 -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse 
> -mno-3dnow  -mno-mmx -msoft-float -fno-omit-frame-pointer -ffreestanding 
> -fno-pie -msave-args -O2 -pipe -nostdinc -I/usr/src/sys 
> -I/usr/src/sys/arch/amd64/compile/GENERIC.MP/obj -I/usr/src/sys/arch -DDDB 
> -DDIAGNOSTIC -DKTRACE -DACCOUNTING -DKMEMSTATS -DPTRACE -DPOOL_DEBUG -DCRYPTO 
> -DSYSVMSG -DSYSVSEM -DSYSVSHM -DUVM_SWAP_ENCRYPT -DFFS -DFFS2 
> -DFFS_SOFTUPDATES -DUFS_DIRHASH -DQUOTA -DEXT2FS -DMFS -DNFSCLIENT 
> -DNFSSERVER -DCD9660 -DUDF -DMSDOSFS -DFIFO -DFUSE -DSOCKET_SPLICE -DTCP_ECN 
> -DTCP_SIGNATURE -DINET6 -DIPSEC -DPPP_BSDCOMP -DPPP_DEFLATE -DPIPEX 
> -DMROUTING -DMPLS -DBOOT_CONFIG -DUSER_PCICONF -DAPERTURE -DMTRR -DNTFS 
> -DHIBERNATE -DDRMDEBUG -DPCIVERBOSE -DUSBVERBOSE -DWSDISPLAY_COMPAT_USL 
> -DWSDISPLAY_COMPAT_RAWKBD -DWSDISPLAY_DEFAULTSCREENS="6" -DX86EMU 
> -DONEWIREVERBOSE -DMULTIPROCESSOR -DMAXUSERS=80 -D_KERNEL -MD -MP  -c 
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c
> cc1: warnings being treated as errors
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c: In function 
> 'radeon_dp_probe_oui':
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:376: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:376: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:376: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:376: warning: too many 
> arguments for format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:380: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:380: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:380: warning: unknown 
> conversion type character 'h' in format
> /usr/src/sys/dev/pci/drm/radeon/atombios_dp.c:380: warning: too many 
> arguments for format
> 
> $ make intel_dp.o CC=gcc COMPILER_VERSION=gcc4    
> gcc -g -Werror -Wall -Wimplicit-function-declaration  -Wno-uninitialized 
> -Wno-pointer-sign  -Wno-address-of-packed-member -Wno-constant-conversion  
> -Wframe-larger-than=2047 -mcmodel=kernel -mno-red-zone -mno-sse2 -mno-sse 
> -mno-3dnow  -mno-mmx -msoft-float -fno-omit-frame-pointer -ffreestanding 
> -fno-pie -msave-args -O2 -pipe -nostdinc -I/usr/src/sys 
> -I/usr/src/sys/arch/amd64/compile/GENERIC.MP/obj -I/usr/src/sys/arch -DDDB 
> -DDIAGNOSTIC -DKTRACE -DACCOUNTING -DKMEMSTATS -DPTRACE -DPOOL_DEBUG -DCRYPTO 
> -DSYSVMSG -DSYSVSEM -DSYSVSHM -DUVM_SWAP_ENCRYPT -DFFS -DFFS2 
> -DFFS_SOFTUPDATES -DUFS_DIRHASH -DQUOTA -DEXT2FS -DMFS -DNFSCLIENT 
> -DNFSSERVER -DCD9660 -DUDF -DMSDOSFS -DFIFO -DFUSE -DSOCKET_SPLICE -DTCP_ECN 
> -DTCP_SIGNATURE -DINET6 -DIPSEC -DPPP_BSDCOMP -DPPP_DEFLATE -DPIPEX 
> -DMROUTING -DMPLS -DBOOT_CONFIG -DUSER_PCICONF -DAPERTURE -DMTRR -DNTFS 
> -DHIBERNATE -DDRMDEBUG -DPCIVERBOSE -DUSBVERBOSE -DWSDISPLAY_COMPAT_USL 
> -DWSDISPLAY_COMPAT_RAWKBD -DWSDISPLAY_DEFAULTSCREENS="6" -DX86EMU 
> -DONEWIREVERBOSE -DMULTIPROCESSOR -DMAXUSERS=80 -D_KERNEL -MD -MP  -c 
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c
> cc1: warnings being treated as errors
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c: In function 
> 'intel_dp_source_supports_hbr2':
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:1202: warning: comparison is always 
> true due to limited range of data type
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c: In function 'intel_dp_probe_oui':
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4059: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4059: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4059: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4059: warning: too many arguments 
> for format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4063: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4063: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4063: warning: unknown conversion 
> type character 'h' in format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:4063: warning: too many arguments 
> for format
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c: In function 
> 'intel_dp_init_connector':
> /usr/src/sys/dev/pci/drm/i915/intel_dp.c:6059: warning: comparison is always 
> true due to limited range of data type
> 
> kprintf_length_specs in src/gnu/gcc/gcc/c-format.c has
> { "h", FMT_LEN_h, STD_C89, NULL, 0, 0 },
> 
> not
> 
> { "h", FMT_LEN_h, STD_C89, "hh", FMT_LEN_hh, STD_C99 },
> 
> like printf_length_specs does.
> 
> printf(9) documents %hh as
> "Argument of char type.  This format specifier is accepted by the
> kernel but will be handled as %h."
> 
> It also documents %j as not being supported and sf@ added that to gcc4
> kprintf and subr_prf.c's kprintf() in 2013 (though not libsa printf).

%t rather.

Reply via email to