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)
Feb 1 2024, 6:40 AM
Unknown Object (File)
Jan 16 2024, 7:05 PM
Unknown Object (File)
Jan 16 2024, 12:59 AM
Unknown Object (File)
Jan 13 2024, 8:46 PM
Unknown Object (File)
Dec 23 2023, 1:13 AM
Unknown Object (File)
Dec 21 2023, 4:50 PM
Unknown Object (File)
Dec 20 2023, 8:09 PM
Unknown Object (File)
Dec 19 2023, 5:29 PM
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.