John,
its a strange quest :)

I'll try write step-by-step guide. Sorry, my English is bad.
I can send quick guide "Fedora 19: How to install creduce" if needed.

At first, I hit err with gcc-4.8.0 / Fedora 19 alpha
gcc-4.8.1 / Fedora 19 beta FAIL too

Probably, all You need to reproduce is Linux distro with gcc-4.8.[01] installed

May be, this sequence contains extra (unneeded) steps.

All mentioned files You can find in attach.

gcc -fpreprocessed -flto -c s.i
g++ -fpreprocessed -flto -c a.ii

ar cru tmp.a a.o
ranlib tmp.a
ld -m elf_x86_64 -r -o tmp.o --whole-archive tmp.a s.o --no-whole-archive
ar cru lib1.a tmp.o

cp s.o s2.o
ld -m elf_x86_64 -r -o tmp2.o --whole-archive s2.o --no-whole-archive

g++ -fpreprocessed -flto -c x.ii
g++ -O0 -flto -o tst x.o lib1.a tmp2.o # FAIL
with messages smth like
<<strcat>> has already been defined
"errors during merging of translation units"

$ cat x.sh
g++ -fpreprocessed -flto -c x.ii > a 2>&1 && \
g++ -O0 -flto -o tst x.o /home/dimhen/errs/gcc-4.9/n/esp/tmp2.o
/home/dimhen/errs/gcc-4.9/n/esp/lib1.a > a 2>&1
grep "previously defined here" a  > /dev/null 2>&1

$ creduce x.sh x.ii
[...]
(55.3 %, 877 bytes)
===< pass_clang :: remove-enum-member-value >===
===< pass_clang :: remove-unused-var >===
===< pass_special :: a >===
===< pass_special :: b >===
^C
$

Thanks,
Dmitry

2013/6/9 John Regehr <[email protected]>:
> Dmitry, can you send me instructions for reproducing a C-Reduce hang on the
> current code?
>
> Thanks,
>
>
> John
>
>
>
> On 06/08/2013 02:58 PM, Дмитрий Дьяченко wrote:
>>
>> John,
>> with creduce-latest + clang-3.2 I got the same crash in test #6.
>> Now I find crash-file in temporary directory in creduce/tests/
>> Crash-file attached.
>>
>> Sorry, I not mention early why I try clang-latest + creduce-latest: at
>> first, to my fun :), and second, in hope to provide useful feedback to
>> your research group.
>> I do gcc-bug-hunting relatively rare and for each new one I try new
>> clang + new creduce :)
>>
>> May be you find interesting [preliminary] comparison of
>> creduce-current with clang-3.2/3.4-trunk
>>
>> 1. comparison creduce/tests/run_tests
>> a) the same tests FAIL and PASS
>> b) test #6 crash with both clang's versions
>> c) elapsed time in seconds as run_tests reports
>>      3.2     3.4-current
>> 0: 922      207
>> 1: 23         28
>> 2: 928      212
>> 3: 17         24
>> 6: 2209   1048
>>
>> 2. comparison for real-world tasks:
>> results are identical with both versions of clang -- reductions hang
>>
>> Thanks,
>> Dmitry
>>
>> 2013/6/8 John Regehr <[email protected]>:
>>>
>>> Hi Dmitry,
>>>
>>> I'm in the middle of some more C-Reduce changes right now.  It might be
>>> best
>>> to not use the current version until things stabilize a bit.
>>>
>>>
>>>> -- tests 0..3 PASS
>>>> -- tests 4, 5, 7 FAIL with
>>>
>>>
>>>
>>> I'll look into this, thanks for letting us know.
>>>
>>>
>>>> 0.    <eof> parser at end of file
>>>> sh: line 1: 23784 Segmentation fault      (core dumped)
>>>> /home/dimhen/build/creduce/creduce/../clang_delta/clang_delta
>>>> --transformation=return-void --counter=1
>>>> /home/dimhen/tmp/creduce-WStouG/small.c > /tmp/file0I5kCp
>>>
>>>
>>>
>>> Right now we only develop and test using Clang 3.2, so we can't help you
>>> with crashes against the LLVM top of tree.  It's super easy to download
>>> the
>>> 3.2 binary distribution and compile C-Reduce against it, so I'd ask you
>>> to
>>> just do that.
>>>
>>> I have not seen any hangs like you are seeing, but it could easily be
>>> that I
>>> have introduced new bugs lately.  I'm still making some changes to the
>>> core
>>> of C-Reduce but will hopefully be done soon, and then I'll try to
>>> reproduce
>>> the problems you are seeing.
>>>
>>> John

Attachment: a.ii
Description: Binary data

Attachment: s.i
Description: Binary data

Attachment: x.ii
Description: Binary data

Attachment: x.sh
Description: Bourne shell script

Reply via email to