On 7/1/2019 8:27 PM, David Marchand wrote:
> 
> 
> On Mon, Jul 1, 2019 at 5:30 PM Ferruh Yigit <ferruh.yi...@intel.com
> <mailto:ferruh.yi...@intel.com>> wrote:
> 
>     On 7/1/2019 3:36 PM, David Marchand wrote:
>     >
>     >
>     > On Mon, Jul 1, 2019 at 4:15 PM Ferruh Yigit <ferruh.yi...@intel.com
>     <mailto:ferruh.yi...@intel.com>
>     > <mailto:ferruh.yi...@intel.com <mailto:ferruh.yi...@intel.com>>> wrote:
>     >
>     >     On 6/29/2019 6:06 PM, Thomas Monjalon wrote:
>     >     > 29/06/2019 13:58, David Marchand:
>     >     >> Following the build error reported by Aaron [1], I noticed that 
> some
>     >     >> experimental functions could go unnoticed because of a gcc 
> peculiarity.
>     >     >>
>     >     >> To catch those, I went and added a new check on the object files 
> to
>     >     >> ensure that any experimental api flagged in the map files is 
> really
>     >     >> exported as such.
>     >     >>
>     >     >> Then went with my previous idea of only adding the tags on the
>     functions
>     >     >> prototypes and enforcing it (a new check in checkpatches.sh).
>     >     >> And finally enforcing that the __rte_experimental tag is always 
> the
>     first
>     >     >> part of a function prototype which seems to work with both gcc 
> and
>     clang.
>     >     >
>     >     > Applied, thanks
>     >     >
>     >
>     >
>     >     Getting an odd build error with "i686-native-linuxapp-icc" [1].
>     >     Beware of the "." at the end: "rte_flow_conv."
>     >
>     >     Objdump shows two symbols with one "." at the end and one without 
> it [2].
>     >
>     >     And this seems not the problem of only experimental APIs [3]. But 
> this
>     is only
>     >     happening with "i686-native-linuxapp-icc".
>     >
>     >     Do you have any idea what is going on here?
>     >
>     >
>     > Looked at rte_flow_conv, and I can not see anything special about it.
>     >
>     > There might be a subtility in the way symbol names are chosen by ICC.
>     > Can ICC guys look at this and give us some enlightment?
> 
>     This is the sample disassembler of one of the "." functions [1], it looks 
> like
>     this notation is used by compiler to prepend some code at the very 
> begging of
>     the function, Harry (cc'ed) let me know this is may be security feature, 
> not a
>     defect of compiler :)
> 
>     So briefly, it looks like compiler can add this "." version of the 
> symbols to
>     the ".text.experimental" section, I believe the solution is detect this 
> notation
>     and handle it. What do you think?
> 
> 
> Iiuc, we would skip the symbols finishing with a '.', is this all?
> 

yes

Reply via email to