Several of us are getting errors in our c++ packages related to missing PIC flags in aarch64.

Something is amiss there.  A small snippet from openmpi:

make[2]: Entering directory '/builddir/build/BUILD/openmpi-4.0.2rc1/ompi/mpi/cxx'
/bin/sh ../../../libtool  --tag=CXX   --mode=link g++  -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -finline-functions -pthread -version-info 60:1:20 -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld    -o libmpi_cxx.la -rpath /usr/lib64/openmpi/lib mpicxx.lo intercepts.lo comm.lo datatype.lo file.lo win.lo cxx_glue.lo ../../../ompi/libmpi.la -lrt -lm -lutil  -lz  -lhwloc  -levent -levent_pthreads
libtool: link: g++  -shared -nostdlib /usr/lib/gcc/aarch64-redhat-linux/9/../../../../lib64/crti.o /usr/lib/gcc/aarch64-redhat-linux/9/crtbeginS.o  .libs/mpicxx.o .libs/intercepts.o .libs/comm.o .libs/datatype.o .libs/file.o .libs/win.o .libs/cxx_glue.o    -Wl,-rpath -Wl,/builddir/build/BUILD/openmpi-4.0.2rc1/ompi/.libs -Wl,-rpath -Wl,/builddir/build/BUILD/openmpi-4.0.2rc1/orte/.libs -Wl,-rpath -Wl,/builddir/build/BUILD/openmpi-4.0.2rc1/opal/.libs -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -L/builddir/build/BUILD/openmpi-4.0.2rc1/orte/.libs -L/builddir/build/BUILD/openmpi-4.0.2rc1/opal/.libs ../../../ompi/.libs/libmpi.so /builddir/build/BUILD/openmpi-4.0.2rc1/orte/.libs/libopen-rte.so /builddir/build/BUILD/openmpi-4.0.2rc1/opal/.libs/libopen-pal.so -ldl -lrt -lutil -lz -lhwloc -levent -levent_pthreads -L/usr/lib/gcc/aarch64-redhat-linux/9 -L/usr/lib/gcc/aarch64-redhat-linux/9/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/aarch64-redhat-linux/9/../../.. -lstdc++ -lm -lpthread -lc -lgcc_s /usr/lib/gcc/aarch64-redhat-linux/9/crtendS.o /usr/lib/gcc/aarch64-redhat-linux/9/../../../../lib64/crtn.o  -O2 -g -fstack-protector-strong -grecord-gcc-switches -pthread -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now   -pthread -Wl,-soname -Wl,libmpi_cxx.so.40 -o .libs/libmpi_cxx.so.40.20.1
make[2]: Leaving directory '/builddir/build/BUILD/openmpi-4.0.2rc1/ompi/mpi/cxx'
BUILDSTDERR: /usr/bin/ld: .libs/mpicxx.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_ZTVN3MPI5GroupE' which may bind externally can not be used when making a shared object; recompile with -fPIC
BUILDSTDERR: .libs/mpicxx.o: in function `MPI::Group::Group(ompi_group_t*)':
BUILDSTDERR: /builddir/build/BUILD/openmpi-4.0.2rc1/ompi/mpi/cxx/../../../ompi/mpi/cxx/group.h:62:(.text._ZNK3MPI3Win9Get_groupEv[_ZNK3MPI3Win9Get_groupEv]+0x34): dangerous relocation: unsupported relocation
BUILDSTDERR: /usr/bin/ld: .libs/mpicxx.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_ZTVN3MPI10ErrhandlerE' which may bind externally can not be used when making a shared object; recompile with -fPIC
BUILDSTDERR: .libs/mpicxx.o: in function `MPI::Errhandler::Errhandler(ompi_errhandler_t*)':
BUILDSTDERR: /builddir/build/BUILD/openmpi-4.0.2rc1/ompi/mpi/cxx/../../../ompi/mpi/cxx/errhandler.h:30:(.text._ZNK3MPI3Win14Get_errhandlerEv[_ZNK3MPI3Win14Get_errhandlerEv]+0x34): dangerous relocation: unsupported relocation