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