Hi, I have got the following error (see below, with a lot of other compiler warnings) when trying to compile pypy with the '--shared' option during the last stop (compile_c). I've seen similar issues without --shared before and it was solved by setting the CFLAGS to -O1 but that doesn't seem to help this time. Is it possible to fix this? Yichao Yu Compiler version: gcc 4.9.0 (gcc-multilibs from ArchLinux official repo). [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "app_main.py", line 75, in run_toplevel [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 2086, in <module> [translation:ERROR] tracker.process(f, g, filename=fn) [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 1979, in process [translation:ERROR] tracker = parser.process_function(lines, filename) [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 1494, in process_function [translation:ERROR] table = tracker.computegcmaptable(self.verbose) [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 53, in computegcmaptable [translation:ERROR] self.parse_instructions() [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 215, in parse_instructions [translation:ERROR] self.find_missing_visit_method(opname) [translation:ERROR] File "/home/yuyichao/projects/mlinux/pkg/all/pypy-hg/src/pypy/rpython/translator/c/gcc/trackgcroot.py", line 245, in find_missing_visit_method [translation:ERROR] raise UnrecognizedOperation(opname) [translation:ERROR] UnrecognizedOperation: rex64 [translation:ERROR] make: *** [implement_1.gcmap] Error 1 [translation:ERROR] """)
Hi Yichao, On 5 July 2014 11:34, Yichao Yu <yyc1992@gmail.com> wrote:
I have got the following error (see below, with a lot of other compiler warnings) when trying to compile pypy with the '--shared' option during the last stop (compile_c).
Ah, that's yet another asmgcc issue. Probably shows up with gcc 4.9. Can you send me privately (or on a site like http://bpaste.net/ ) the .s file given as argument to the call to trackgcroot.py? (It's the one that includes "rex64" in it.) A bientôt, Armin.
Hi Armin, On Sat, Jul 5, 2014 at 5:40 PM, Armin Rigo <arigo@tunes.org> wrote:
Hi Yichao,
On 5 July 2014 11:34, Yichao Yu <yyc1992@gmail.com> wrote:
I have got the following error (see below, with a lot of other compiler warnings) when trying to compile pypy with the '--shared' option during the last stop (compile_c).
Ah, that's yet another asmgcc issue. Probably shows up with gcc 4.9. Can you send me privately (or on a site like http://bpaste.net/ ) the .s file given as argument to the call to trackgcroot.py? (It's the one that includes "rex64" in it.)
I grep'ed the /tmp/usession-default-*/ directory and find 3 .s files with rex64 in it. Here is one of them[1], with the corresponding c file[2]. Hope these can help. =) Yichao Yu [1] http://bpaste.net/show/437121/ [2] http://bpaste.net/show/437127/
A bientôt,
Armin.
Actually the problem is gone when adding option --gcrootfinder=shadowstack, which also seems to be necessary when building the py3k branch with --shared. I guess this is what you mean by "yet another asmgcc issue"? On Sat, Jul 5, 2014 at 5:55 PM, Yichao Yu <yyc1992@gmail.com> wrote:
Hi Armin,
On Sat, Jul 5, 2014 at 5:40 PM, Armin Rigo <arigo@tunes.org> wrote:
Hi Yichao,
On 5 July 2014 11:34, Yichao Yu <yyc1992@gmail.com> wrote:
I have got the following error (see below, with a lot of other compiler warnings) when trying to compile pypy with the '--shared' option during the last stop (compile_c).
Ah, that's yet another asmgcc issue. Probably shows up with gcc 4.9. Can you send me privately (or on a site like http://bpaste.net/ ) the .s file given as argument to the call to trackgcroot.py? (It's the one that includes "rex64" in it.)
I grep'ed the /tmp/usession-default-*/ directory and find 3 .s files with rex64 in it. Here is one of them[1], with the corresponding c file[2]. Hope these can help. =)
Yichao Yu
[1] http://bpaste.net/show/437121/ [2] http://bpaste.net/show/437127/
A bientôt,
Armin.
Hi Yichao, On 5 July 2014 13:12, Yichao Yu <yyc1992@gmail.com> wrote:
Actually the problem is gone when adding option --gcrootfinder=shadowstack, which also seems to be necessary when building the py3k branch with --shared.
I guess this is what you mean by "yet another asmgcc issue"?
Yes. Here, as is often the case, the matter is easily resolved. I checked in 85672cabac67, which should fix it. A bientôt, Armin.
participants (2)
-
Armin Rigo
-
Yichao Yu