Re: hppa vDSO and compiler (non-)support

From: Helge Deller
Date: Tue Mar 22 2022 - 12:16:59 EST


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?

Helge