Re: hppa vDSO and compiler (non-)support

From: Guenter Roeck
Date: Tue Mar 22 2022 - 13:50:56 EST


On 3/22/22 09:16, Helge Deller wrote:
On 3/22/22 16:19, Guenter Roeck wrote:
On 3/22/22 07:25, Helge Deller wrote:
On 3/22/22 14:05, Guenter Roeck wrote:
Does that also fix the build problems now seen in mainline ?

No.

Building parisc64:generic-64bit_defconfig ... failed
--------------
Error log:
arch/parisc/kernel/vdso64/Makefile:30: FORCE prerequisite is missing
arch/parisc/kernel/vdso32/sigtramp.S: Assembler messages:
arch/parisc/kernel/vdso32/sigtramp.S:39: Error: unknown pseudo-op: `.proc'
...
arch/parisc/kernel/vdso32/restart_syscall.S:32: Error: .cfi_endproc without corresponding .cfi_startproc
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:34: arch/parisc/kernel/vdso32/restart_syscall.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [arch/parisc/kernel/vdso32/Makefile:34: arch/parisc/kernel/vdso32/sigtramp.o] Error 1
make[1]: *** [arch/parisc/Makefile:177: vdso_prepare] Error 2
make: *** [Makefile:219: __sub-make] Error 2

This is with hppa64-linux-gcc (GCC) 11.2.0.

Can you check if you have the 32-bit compiler (hppa-linux-gcc) installed too?
The errors above happen when building the 32-bit vDSO, for which you need the 32-bit compiler.


Yes, I do, but that doesn't help much if I want to build a 64-bit target such
as generic-64bit_defconfig. Am I missing something ?

The 64-bit PA-RISC kernel now includes a built-in a 32-bit and a 64-bit vDSO for userspace.
To build the 32-bit vDSO (vdso32) you need the 32-bit hppa compiler installed.
That's what's being done above - see the path: arch/parisc/kernel/vdso32/
Can you try "make V=1" to see the command line?



I am currently bisecting another problem. I'll try that afterwards.
Either case, how does one specify two cross compilers with two different
prefixes on the command line ?

Guenter