[lldb-dev] [3.7 Release] RC1 has been tagged, Testing Phase I begins

Hans Wennborg hans at chromium.org
Mon Jul 20 14:34:17 PDT 2015


On Sun, Jul 19, 2015 at 8:32 AM, Dimitry Andric <dimitry at andric.com> wrote:
> On 19 Jul 2015, at 01:44, Dimitry Andric <dimitry at andric.com> wrote:
> ...
>> Hm, strangely enough, this version of the script does not go further than the Phase 2 installation, and does not run any tests?  This used to work fine for the release_36 branch.
>>
>> I think it is because of the "set -o pipefail" which was introduced, but I don't yet understand why this causes the Phase 2 installation to appear to fail, as there is no visible error.  I will investigate, or work around it by removing the pipefail option again.
>
> It appears to be caused by the clean_RPATH() function, which has this line:
>
>       rpath=`objdump -x $Candidate | grep 'RPATH' | sed -e's/^ *RPATH *//'`
>
> If the objdump'd file does not have any RPATH, the whole statement will fail, since set -o pipefail is in effect.  This terminates the script, since set -e is also in effect.

Nice find!

>
> The line can be replaced with this instead:
>
>       rpath=`objdump -x $Candidate | sed -ne'/RPATH/{s/^ *RPATH *//;p;}'`

How about just guarding it with an if statement? I'm worried about
adding non-obvious commands to the script, both for making it harder
to understand and for portability.

Thanks,
Hans




More information about the lldb-dev mailing list