[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