cp -p ../../gcc-11.2.0/gcc/ada/sinfo.ads
../../gcc-11.2.0/gcc/ada/sinfo.adb ../../gcc-11.2.0/gcc/ada/xsinfo.adb
../../gcc-11.2.0/gcc/ada/csinfo.adb ada/bldtools/sinfo
make[2]: cp: Permission denied
make[2]: *** [../../gcc-11.2.0/gcc/ada/Make-generated.in:44:
ada/sinfo.h] Error 127

Here is what ls shows about the permissions, manually running the
command in my shell works fine.

You're saying you have this experience:

$ cp -p ../../gcc-11.2.0/gcc/ada/sinfo.ads
../../gcc-11.2.0/gcc/ada/sinfo.adb ../../gcc-11.2.0/gcc/ada/xsinfo.adb
../../gcc-11.2.0/gcc/ada/csinfo.adb ada/bldtools/sinfo
$ echo $?
0

It sounds like make could be using a cp binary you do not have permission to execute, or running it in a context where it does not have permission to execute. I think "permission denied" can also mean the binary was compiled for a different system.

If I were troubleshooting your issue on my own system, I might mutate the makefile such that it spewed more information, replacing "cp" with such as:
ls -l $(type -p cp)
strace cp "$(@)"

where "$(@)" is the original args passed to cp.

I might also try replacing the cp binary with a wrapper script that output the diagnostic info.

A painful bandaid for such weirdnesses can be to run the make steps by hand such that make detects the outputs and skips the steps.

I'm actually pretty new to these things and mistakenly thought your issue was simple. Others may know more than me, although it doesn't yet sound like a coreboot-specific issue on your system to me, it possibly could be.