stable/9 fails to compile: kmem_alloc_contig bad definition

Volodymyr Kostyrko c.kworr at gmail.com
Fri Jul 12 05:51:36 UTC 2013


Hello.

/usr/local/libexec/ccache/world/cc -c -O -pipe -march=native -std=c99 -g 
-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef 
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option  -Wno-error-tautological-compare 
-Wno-error-empty-body  -Wno-error-parentheses-equality -nostdinc  -I. 
-I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL 
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -mno-aes -mno-avx 
-mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector 
/usr/src/sys/vm/vm_contig.c
/usr/src/sys/vm/vm_contig.c:319:1: error: conflicting types for 
'kmem_alloc_contig'
kmem_alloc_contig(vm_map_t map, vm_size_t size, int flags, vm_paddr_t low,
^
/usr/src/sys/vm/vm_extern.h:46:13: note: previous declaration is here
vm_offset_t kmem_alloc_contig(vm_map_t map, vm_size_t size, int flags,
             ^
1 error generated.

vm_extern.h:
vm_offset_t kmem_alloc_contig(vm_map_t map, vm_size_t size, int flags,
     vm_paddr_t low, vm_paddr_t high, unsigned long alignment,
     unsigned long boundary, vm_memattr_t memattr);

Why boundary is unsigned long and not vm_paddr_t?

vm_contig.c:
vm_offset_t
kmem_alloc_contig(vm_map_t map, vm_size_t size, int flags, vm_paddr_t low,
      vm_paddr_t high, u_long alignment, vm_paddr_t boundary,
      vm_memattr_t memattr)

-- 
Sphinx of black quartz judge my vow.


More information about the freebsd-stable mailing list