[compiler-rt] r282294 - [profile] Hide lprofCurFilename
Vedant Kumar via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 23 15:02:14 PDT 2016
OK. I will revert this and whitelist this symbol internally.
thanks,
vedant
> On Sep 23, 2016, at 3:01 PM, Xinliang David Li <davidxl at google.com> wrote:
>
> On Fri, Sep 23, 2016 at 2:50 PM, Vedant Kumar <vsk at apple.com> wrote:
>> Hi David,
>>
>> This commit breaks test/profile/Linux/instrprof-set-filename-shared.test:
>>
>> http://lab.llvm.org:8011/builders/clang-cmake-aarch64-42vma/builds/12180
>>
>> It looks like the test checks that __llvm_profile_set_filename() alters the raw
>> profile filename in both the dylib and the main program. Now that
>> lprofCurFilename is hidden, this can't work, and we get two profiles (one for
>> the call to "main" and one for "func").
>>
>> Is anyone relying on this behavior? I don't think we can replicate this on
>> Darwin, and would prefer to turn it off to keep things consistent between OS's.
>> If users are already relying on this behavior on Linux then I'll just back this
>> change out.
>>
>
> Sorry I had forgotten about it. If a user sets the profile file name
> in main program, he would expect all shared libs to dump the profile
> into the same file, so this is working as expected. I thinking
> changing underlying implementation is one thing, but changing external
> behavior is another.
>
> David
>
>
>> thanks,
>> vedant
>>
>>> On Sep 23, 2016, at 1:53 PM, Vedant Kumar via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>>
>>> Author: vedantk
>>> Date: Fri Sep 23 15:53:42 2016
>>> New Revision: 282294
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=282294&view=rev
>>> Log:
>>> [profile] Hide lprofCurFilename
>>>
>>> Differential Revision: https://reviews.llvm.org/D24885
>>>
>>> Modified:
>>> compiler-rt/trunk/lib/profile/InstrProfilingFile.c
>>>
>>> Modified: compiler-rt/trunk/lib/profile/InstrProfilingFile.c
>>> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/profile/InstrProfilingFile.c?rev=282294&r1=282293&r2=282294&view=diff
>>> ==============================================================================
>>> --- compiler-rt/trunk/lib/profile/InstrProfilingFile.c (original)
>>> +++ compiler-rt/trunk/lib/profile/InstrProfilingFile.c Fri Sep 23 15:53:42 2016
>>> @@ -82,7 +82,8 @@ typedef struct lprofFilename {
>>> ProfileNameSpecifier PNS;
>>> } lprofFilename;
>>>
>>> -lprofFilename lprofCurFilename = {0, 0, 0, {0}, {0}, 0, 0, 0, PNS_unknown};
>>> +static lprofFilename lprofCurFilename = {0, 0, 0, {0}, {0},
>>> + 0, 0, 0, PNS_unknown};
>>>
>>> int getpid(void);
>>> static int getCurFilenameLength();
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
More information about the llvm-commits
mailing list