#14366: haiku_loader / BIOS: Unaligned porinter from packed class or structure
--------------------------------+------------------------------
Reporter: kallisti5 | Owner: nobody
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: System/Boot Loader | Version: R1/Development
Keywords: | Blocked By:
Blocking: | Has a Patch: 0
Platform: All |
--------------------------------+------------------------------
{{{
/home/kallisti5/Code/haiku/src/system/boot/platform/bios_ia32/mmu.cpp:729:7:
warning: taking address of packed member 'num_physical_memory_ranges' of
class or structure 'kernel_args' may result in an unaligned
pointer value [-Waddress-of-packed-member]
&gKernelArgs.num_physical_memory_ranges,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/platform/bios_ia32/long.cpp:98:37:
warning: taking address of packed member 'phys_pgdir' of class or
structure 'arch_kernel_args' may result in an unaligned pointer
value [-Waddress-of-packed-member]
pml4 =
(uint64*)mmu_allocate_page(&gKernelArgs.arch_args.phys_pgdir);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C++
/home/kallisti5/Code/haiku/generated.clang.x86_64/objects/haiku/x86_64/release/system/boot/loader/bios_ia32/elf.o
/home/kallisti5/Code/haiku/src/system/boot/loader/elf.cpp:302:29: warning:
taking address of packed member 'start' of class or structure
'elf64_region' may result in an unaligned pointer value
[-Waddress-of-packed-member]
if (Class::AllocateRegion(&firstRegion->start, totalSize,
^~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/loader/elf.cpp:662:24: note: in
instantiation of member function 'ELFLoader<ELF64Class>::Load' requested
here
return ELF64Loader::Load(fd, *_image);
^
/home/kallisti5/Code/haiku/src/system/boot/loader/elf.cpp:302:29: warning:
taking address of packed member 'start' of class or structure
'elf32_region' may result in an unaligned pointer value
[-Waddress-of-packed-member]
if (Class::AllocateRegion(&firstRegion->start, totalSize,
^~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/loader/elf.cpp:672:24: note: in
instantiation of member function 'ELFLoader<ELF32Class>::Load' requested
here
return ELF32Loader::Load(fd, *_image);
^
2 warnings generated.
C++
/home/kallisti5/Code/haiku/generated.clang.x86_64/objects/haiku/x86_64/release/system/boot/loader/bios_ia32/kernel_args.o
/home/kallisti5/Code/haiku/src/system/boot/loader/kernel_args.cpp:33:4:
warning: taking address of packed member 'num_kernel_args_ranges' of class
or structure 'kernel_args' may result in an unaligned pointer
value [-Waddress-of-packed-member]
&gKernelArgs.num_kernel_args_ranges,
MAX_KERNEL_ARGS_RANGE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/loader/kernel_args.cpp:279:4:
warning: taking address of packed member 'num_physical_memory_ranges' of
class or structure 'kernel_args' may result in an unaligned
pointer value [-Waddress-of-packed-member]
&gKernelArgs.num_physical_memory_ranges,
MAX_PHYSICAL_MEMORY_RANGE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/loader/kernel_args.cpp:288:4:
warning: taking address of packed member 'num_physical_allocated_ranges'
of class or structure 'kernel_args' may result in an unaligned
pointer value [-Waddress-of-packed-member]
&gKernelArgs.num_physical_allocated_ranges,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kallisti5/Code/haiku/src/system/boot/loader/kernel_args.cpp:297:4:
warning: taking address of packed member 'num_virtual_allocated_ranges' of
class or structure 'kernel_args' may result in an unaligned
pointer value [-Waddress-of-packed-member]
&gKernelArgs.num_virtual_allocated_ranges,
MAX_VIRTUAL_ALLOCATED_RANGE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
}}}
clang warning us about these... could be an issue.
--
Ticket URL: <https://dev.haiku-os.org/ticket/14366>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.