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)
Sun, Jan 26, 8:24 AM
Unknown Object (File)
Fri, Jan 24, 5:06 PM
Unknown Object (File)
Wed, Jan 22, 1:33 PM
Unknown Object (File)
Dec 9 2024, 5:38 PM
Unknown Object (File)
Dec 9 2024, 12:01 PM
Unknown Object (File)
Dec 8 2024, 7:02 PM
Unknown Object (File)
Nov 25 2024, 6:31 AM
Unknown Object (File)
Nov 24 2024, 9:11 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.