On Sat, Aug 16, 2025 at 03:04:17PM +0800, 赵佳炜 wrote:
> 
> 
> 
> 
> 
> 
> Hi, Jiri. Sorry for my oversight, the optimized compile condition didn't work 
> properly.
> 
> Could you try to replace the `__attribute__((optimize("O2")))` with `#pragma 
> GCC optimize("O2")`
> in usdt_o2.c and verify it one more time?  I guess it'll help. In fact, the 
> usdt1 argument spec generated 
> by the `__attribute__((optimize("O2")))` on my machine was `8@%rax`, not 
> `8@(%rdx,%rax,8)`.
> 
> For more detail:
> 
> > - #if defined(__GNUC__) && !defined(__clang__)
> > - __attribute__((optimize("O2")))
> >
> > +#if (defined(__GNUC__) && !defined(__clang__))
> > +#pragma GCC optimize("O2")
> > +#else
> > +#pragma message("non-gcc compiler: the correct probes might not be 
> > installed")
> > +#endif
> 
> Thanks

yep, that helped

  stapsdt              0x00000033       NT_STAPSDT (SystemTap probe descriptors)
    Provider: test
    Name: usdt1
    Location: 0x00000000007674d9, Base: 0x00000000035bc698, Semaphore: 
0x0000000000000000
    Arguments: 8@(%rdx,%rax,8)


thanks,
jirka

Reply via email to