Page MenuHomeFreeBSD

tests/sys/fs/fusefs/read.cc: fix build on powerpc
ClosedPublic

Authored by kib on Sep 22 2021, 10:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 9, 5:38 PM
Unknown Object (File)
Mon, Dec 9, 12:01 PM
Unknown Object (File)
Sun, Dec 8, 7:02 PM
Unknown Object (File)
Mon, Nov 25, 6:31 AM
Unknown Object (File)
Sun, Nov 24, 9:11 PM
Unknown Object (File)
Tue, Nov 19, 8:48 PM
Unknown Object (File)
Oct 18 2024, 11:04 AM
Unknown Object (File)
Sep 27 2024, 7:43 AM
Subscribers
None

Details

Summary
There sig_atomic_t is shorter than void * (we had similar ABI bug on amd64).
As result, it cannot keep pointer.

Assigning to void * is actually safe for us in a signal handler.

Fixes:  4f917847c9037d

See https://ci.freebsd.org/job/FreeBSD-main-powerpc64le-build/3287/consoleFull

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib requested review of this revision.Sep 22 2021, 10:51 PM
kib created this revision.

Powerpc64 has a sig_atomic_t shorter than a pointer? ughh. Does that mean that it doesn't have any 64-bit atomic types?

This revision is now accepted and ready to land.Sep 22 2021, 11:06 PM

Powerpc64 has a sig_atomic_t shorter than a pointer? ughh. Does that mean that it doesn't have any 64-bit atomic types?

PPC64 has full set of 64bit atomics. It is just FreeBSD' ABI bug that sig_atomic_t is int. See sys/powerpc/include/signal.h. It was not adjusted for 64bit port.