[Mesa-dev] Error: unsupported relocations

Arsenault, Matthew Matthew.Arsenault at amd.com
Mon Jun 3 13:12:10 UTC 2019


I don't see the code question, but I do see uses of the "inline" keyword in ImageMagick. C99 inline does not mean what everyone seems to think it means, and is not really a demand or even request to inline the function. 

For example at -O1 on x86, this gives:
inline void bar(global int* arg) {
    *arg = 0;
}

kernel void foo(global int* kernarg) {
    bar(kernarg);
}

_foo:                                   ## @foo
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	popq	%rbp
	jmp	_bar                    ## TAILCALL
	.cfi_endproc
                                       
With no definition for bar emitted. The definition is only emitted for extern inline or static inline.

On 2019-06-03, 3:43 AM, "Dave Airlie" <airlied at gmail.com> wrote:

    > > this is clearly inline not working, not relocs. We never get the
    > > missing function to relocate it.
    >



More information about the mesa-dev mailing list