Page MenuHomeFreeBSD

Fix casts between 64-bit physical addresses and pointers in EFI.
ClosedPublic

Authored by jhb on Aug 3 2018, 9:00 PM.
Tags
None
Referenced Files
F173736094: D16586.id46906.diff
Mon, Sep 28, 1:04 AM
F173729997: D16586.id46270.diff
Mon, Sep 28, 12:13 AM
F173726707: D16586.diff
Sun, Sep 27, 11:46 PM
Unknown Object (File)
Sat, Sep 19, 2:10 AM
Unknown Object (File)
Fri, Sep 18, 4:39 PM
Unknown Object (File)
Sun, Sep 13, 11:46 AM
Unknown Object (File)
Sun, Sep 13, 11:46 AM
Unknown Object (File)
Wed, Sep 9, 9:13 PM
Subscribers
None

Details

Summary

Compiling FreeBSD/i386 with modern GCC triggers warnings for various
places that convert 64-bit EFI_ADDRs to pointers and vice versa.

  • Cast pointers to uintptr_t rather than to uint64_t when assigning to a 64-bit integer.
  • Cast 64-bit integers to uintptr_t before a cast to a pointer.
Test Plan
  • build world with CROSS_TOOLCHAIN=i386-gcc

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 18569
Build 18264: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Aug 14 2018, 4:23 AM
This revision was automatically updated to reflect the committed changes.