Issue #2737 has been updated by davshao.

        movl    PCPU(CURPCB),%ecx
in sys/platform/pc32/i386/support.s also gives a compilation error building 
kernel:

sh /usr/src/sys/conf/newvers.sh /usr/src/sys/..
cc -c -O -pipe  -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  
-Wold-style-definition -Wno-inline  -Wno-pointer-sign -Winit-self -std=c99 
-Wno-unused-but-set-variable -g -nostdinc -I. -Iinclude -I/usr/src/sys 
-I/usr/src/sys/../include -I/usr/obj/usr/src/sys/GENERIC 
-I"/usr/src/sys/dev/acpica" -I"/usr/src/sys/contrib/dev/acpica/source/include" 
-I/usr/src/sys/dev/netif/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/ath_hal 
-I/usr/src/sys/dev/drm/include  -D_KERNEL -include opt_global.h  
-Wold-style-declaration  -finline-limit=8000  --param inline-unit-growth=100  
--param large-function-growth=1000 -fno-common -ffreestanding 
-fno-stack-protector -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 
-mpreferred-stack-boundary=2 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4 
-mno-sse4a  -mno-sse5 -mno-abm -mno-aes -mno-avx -mno-pclmul -mno-popcnt 
-mno-avx2 -mno-fsgsbase -mno-rdrnd -mno-f16c -mno-fma -mno-fma4 -mno-bmi!
  -mno-bmi2 -mno-xop -mno-lwp -mno-lzcnt -mno-tbm -msoft-float  vers.c -Werror
linking kernel.debug
support.o: In function `wrmsr_safe':
/usr/src/sys/platform/pc32/i386/support.s:806: undefined reference to 
`gd_CURPCB'
*** Error code 1


----------------------------------------
Bug #2737: i386 drm_bufs.c:259:2 '%lx' offset type 'resource_size_t'
http://bugs.dragonflybsd.org/issues/2737#change-12320

* Author: davshao
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
i386 GENERIC kernel compilation fails with

/usr/src/sys/dev/drm/drm/../drm_bufs.c: In function 'drm_addmap':
/usr/src/sys/dev/drm/drm/../drm_bufs.c:259:2: error: format '%lx' expects 
argument of type 'long unsigned int', but argument 5 has type 'resource_size_t' 
[-Werror=format]
cc1: all warnings being treated as errors

Argument offset is type resource_size_t which appears to be vm_paddr_t and thus 
__unit64_t.

A patch similar to the below fixes compilation problems on i386:

diff --git a/sys/dev/drm/drm_bufs.c b/sys/dev/drm/drm_bufs.c
index 575dbcf..7c66ea8 100644
--- a/sys/dev/drm/drm_bufs.c
+++ b/sys/dev/drm/drm_bufs.c
@@ -256,7 +256,7 @@ int drm_addmap(struct drm_device * dev, resource_size_t 
offset,
 done:
        /* Jumped to, with lock held, when a kernel map is found. */

-       DRM_DEBUG("Added map %d 0x%lx/0x%lx\n", map->type, map->offset,
+       DRM_DEBUG("Added map %d 0x%lx/0x%lx\n", map->type, (unsigned 
long)map->offset,
            map->size);

        *map_ptr = map;



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://bugs.dragonflybsd.org/my/account

Reply via email to