Erik,

Erik Schnetter <eschnet...@perimeterinstitute.ca> writes:
> Some long shots, assuming you already thought of the more plausible things:
>
> How clever is Conda when it replaces these strings? For example, if
> the pattern string is "placehold", and the binary contains the string
> "placehold/include", would the "/include" suffix be preserved or cut
> off?
>
> Did you use "strings" to analyze the generated binary? This might tell
> you what strings there are, and whether Conda's algorithm will work.
> The linker might be coalescing and sharing parts of string literals.
>
> ... maybe the compiler contains an optimization that evaluates string
> concatenation at compile time? (Would be nice, but I don't think so.)

Thanks for your suggestions! It turns out your last point was pretty
close. strlen() was being evaluated at compile time, from within the
inlined std::string constructor. Moving the strings to a separate
translation unit seems to have taken care of that.

Recipe here:
https://github.com/inducer/staged-recipes/tree/pocl/recipes/pocl

I'll also submit this for autobuilding in conda-forge once clang [1] is
in. Packages here in the meantime:

https://anaconda.org/inducer/repo

[1] https://github.com/conda-forge/staged-recipes/pull/1481

Andreas

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
pocl-devel mailing list
pocl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to