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
F86821981: D32064.id95538.diff
Wed, Jun 26, 2:45 AM
F86782290: D32064.diff
Tue, Jun 25, 12:34 PM
Unknown Object (File)
Sun, Jun 23, 3:52 PM
Unknown Object (File)
Wed, Jun 19, 7:54 AM
Unknown Object (File)
Wed, Jun 19, 5:36 AM
Unknown Object (File)
Wed, Jun 19, 5:30 AM
Unknown Object (File)
Wed, Jun 19, 5:13 AM
Unknown Object (File)
Sun, Jun 16, 6:16 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.