{"action":"created","issue":{"url":"https://api.github.com/repos/v8mips/v8mips/issues/331","repository_url":"https://api.github.com/repos/v8mips/v8mips","labels_url":"https://api.github.com/repos/v8mips/v8mips/issues/331/labels{/name}","comments_url":"https://api.github.com/repos/v8mips/v8mips/issues/331/comments","events_url":"https://api.github.com/repos/v8mips/v8mips/issues/331/events","html_url":"https://github.com/v8mips/v8mips/issues/331","id":159169915,"number":331,"title":"Fix compilation failure with CLANG on MIPS64R6","user":{"login":"ibogosavljevic","id":8425647,"avatar_url":"https://avatars.githubusercontent.com/u/8425647?v=3","gravatar_id":"","url":"https://api.github.com/users/ibogosavljevic","html_url":"https://github.com/ibogosavljevic","followers_url":"https://api.github.com/users/ibogosavljevic/followers","following_url":"https://api.github.com/users/ibogosavljevic/following{/other_user}","gists_url":"https://api.github.com/users/ibogosavljevic/gists{/gist_id}","starred_url":"https://api.github.com/users/ibogosavljevic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ibogosavljevic/subscriptions","organizations_url":"https://api.github.com/users/ibogosavljevic/orgs","repos_url":"https://api.github.com/users/ibogosavljevic/repos","events_url":"https://api.github.com/users/ibogosavljevic/events{/privacy}","received_events_url":"https://api.github.com/users/ibogosavljevic/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"ilijapavlovic","id":12394603,"avatar_url":"https://avatars.githubusercontent.com/u/12394603?v=3","gravatar_id":"","url":"https://api.github.com/users/ilijapavlovic","html_url":"https://github.com/ilijapavlovic","followers_url":"https://api.github.com/users/ilijapavlovic/followers","following_url":"https://api.github.com/users/ilijapavlovic/following{/other_user}","gists_url":"https://api.github.com/users/ilijapavlovic/gists{/gist_id}","starred_url":"https://api.github.com/users/ilijapavlovic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilijapavlovic/subscriptions","organizations_url":"https://api.github.com/users/ilijapavlovic/orgs","repos_url":"https://api.github.com/users/ilijapavlovic/repos","events_url":"https://api.github.com/users/ilijapavlovic/events{/privacy}","received_events_url":"https://api.github.com/users/ilijapavlovic/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2016-06-08T13:56:34Z","updated_at":"2016-06-10T07:34:54Z","closed_at":null,"body":"Currently, we are patching MIPS64R6 compiled under CLANG because otherwise, we obtain following error:\r\n\r\n```\r\nIn file included from ../src/factory.cc:5:\r\nIn file included from .././src/factory.h:8:\r\nIn file included from .././src/isolate.h:14:\r\nIn file included from .././src/base/accounting-allocator.h:8:\r\nIn file included from .././src/base/atomicops.h:159:\r\n.././src/base/atomicops_internals_mips64_gcc.h:234:25: error: instruction requires a CPU feature not currently enabled\r\n                       \"lld %0, %2\\n\"  // temp = *ptr\r\n                        ^\r\n<inline asm>:4:1: note: instantiated into assembly here\r\nlld $2, 3120($16)\r\n^\r\nIn file included from ../src/factory.cc:5:\r\nIn file included from .././src/factory.h:8:\r\nIn file included from .././src/isolate.h:14:\r\nIn file included from .././src/base/accounting-allocator.h:8:\r\nIn file included from .././src/base/atomicops.h:159:\r\n```\r\n\r\nThe people from the compiler team suggested a different approach. In inline assembly instead of '\"=m\"(*ptr)' it should be '\"=ZC\"(*ptr)'.\r\n\r\nPlease verify this fixes the problem. Also verify that this fix compiles under MIPS64R2 and MIPS64R6, under both CLANG and GCC. Please execute the tests on the board to make sure there are no regressions (new failures in tests) related to this."},"comment":{"url":"https://api.github.com/repos/v8mips/v8mips/issues/comments/225113358","html_url":"https://github.com/v8mips/v8mips/issues/331#issuecomment-225113358","issue_url":"https://api.github.com/repos/v8mips/v8mips/issues/331","id":225113358,"user":{"login":"ilijapavlovic","id":12394603,"avatar_url":"https://avatars.githubusercontent.com/u/12394603?v=3","gravatar_id":"","url":"https://api.github.com/users/ilijapavlovic","html_url":"https://github.com/ilijapavlovic","followers_url":"https://api.github.com/users/ilijapavlovic/followers","following_url":"https://api.github.com/users/ilijapavlovic/following{/other_user}","gists_url":"https://api.github.com/users/ilijapavlovic/gists{/gist_id}","starred_url":"https://api.github.com/users/ilijapavlovic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilijapavlovic/subscriptions","organizations_url":"https://api.github.com/users/ilijapavlovic/orgs","repos_url":"https://api.github.com/users/ilijapavlovic/repos","events_url":"https://api.github.com/users/ilijapavlovic/events{/privacy}","received_events_url":"https://api.github.com/users/ilijapavlovic/received_events","type":"User","site_admin":false},"created_at":"2016-06-10T07:34:54Z","updated_at":"2016-06-10T07:34:54Z","body":"Building v8 for mips64.release.r6 produces some errors:\r\n```\r\n++ make -k mips64.release -j6 snapshot=off\r\nPYTHONPATH=\"/home/rtrk/MIPS/v8/tools/generate_shim_headers:/home/rtrk/MIPS/v8/gypfiles::/home/rtrk/MIPS/v8/tools/gyp/pylib:\" \\\r\n\tGYP_GENERATORS=make \\\r\n\ttools/gyp/gyp --generator-output=\"out\" gypfiles/all.gyp \\\r\n\t              -Igypfiles/standalone.gypi --depth=. \\\r\n\t              -Dv8_target_arch=mips64 \\\r\n\t               -Dtarget_arch=mips64 \\\r\n\t               \\\r\n\t              -S.mips64.release -Dmips_arch_variant=r6 -Dv8_enable_backtrace=1 -Dv8_use_snapshot='false' -Darm_fpu=default -Darm_float_abi=default\r\nmake[1]: Entering directory `/home/rtrk/MIPS/v8/out'\r\n  CXX(target) /home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/accessors.o\r\n  CXX(target) /home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/address-map.o\r\n...\r\n...   // ERROR 1 -----------------------------------------------------------------------------\r\n  CXX(target) /home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/date.o\r\nIn file included from ../src/crankshaft/lithium-allocator.cc:5:\r\nIn file included from .././src/crankshaft/lithium-allocator.h:11:\r\n.././src/crankshaft/lithium.h:322:45: error: instantiation of variable 'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::REGISTER, 16>::cache' required here, but no definition is available\r\n      [-Werror,-Wundefined-var-template]\r\n    if (index < kNumCachedOperands) return &cache[index];\r\n                                            ^\r\n../src/crankshaft/lithium-allocator.cc:204:25: note: in instantiation of member function 'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::REGISTER, 16>::Create' requested here\r\n        op = LRegister::Create(assigned_register(), zone);\r\n                        ^\r\n.././src/crankshaft/lithium.h:335:27: note: forward declaration of template entity is here\r\n  static LSubKindOperand* cache;\r\n                          ^\r\n.././src/crankshaft/lithium.h:322:45: note: add an explicit instantiation declaration to suppress this warning if 'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::REGISTER, 16>::cache' is\r\n      explicitly instantiated in another translation unit\r\n    if (index < kNumCachedOperands) return &cache[index];\r\n                                            ^\r\n1 error generated.\r\nmake[1]: *** [/home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/crankshaft/lithium-allocator.o] Error 1\r\n...\r\n...   // ERROR 2 -----------------------------------------------------------------------------\r\n  CXX(target) /home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/snapshot/serializer-common.o\r\n/tmp/deserializer-75785a.s: Assembler messages:\r\n/tmp/deserializer-75785a.s:1589: Error: invalid operands `bnezc $zero,$BB14_377'\r\nclang: error: assembler command failed with exit code 1 (use -v to see invocation)\r\nmake[1]: *** [/home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/snapshot/deserializer.o] Error 1\r\n...\r\n...   // ERROR 3 -----------------------------------------------------------------------------\r\n  CXX(target) /home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/ic/mips64/access-compiler-mips64.o\r\nIn file included from ../src/crankshaft/mips64/lithium-mips64.cc:5:\r\nIn file included from .././src/crankshaft/mips64/lithium-mips64.h:9:\r\n.././src/crankshaft/lithium.h:322:45: error: instantiation of variable 'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::DOUBLE_STACK_SLOT, 128>::cache' required here, but no definition is\r\n      available [-Werror,-Wundefined-var-template]\r\n    if (index < kNumCachedOperands) return &cache[index];\r\n                                            ^\r\n../src/crankshaft/mips64/lithium-mips64.cc:380:30: note: in instantiation of member function 'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::DOUBLE_STACK_SLOT, 128>::Create' requested here\r\n    return LDoubleStackSlot::Create(index, zone());\r\n                             ^\r\n.././src/crankshaft/lithium.h:335:27: note: forward declaration of template entity is here\r\n  static LSubKindOperand* cache;\r\n                          ^\r\n.././src/crankshaft/lithium.h:322:45: note: add an explicit instantiation declaration to suppress this warning if\r\n      'v8::internal::LSubKindOperand<v8::internal::LOperand::Kind::DOUBLE_STACK_SLOT, 128>::cache' is explicitly instantiated in another translation unit\r\n    if (index < kNumCachedOperands) return &cache[index];\r\n                                            ^\r\n1 error generated.\r\nmake[1]: *** [/home/rtrk/MIPS/v8/out/mips64.release/obj.target/v8_base/src/crankshaft/mips64/lithium-mips64.o] Error 1\r\n...\r\nmake[1]: Target `all' not remade because of errors.\r\nmake[1]: Leaving directory `/home/rtrk/MIPS/v8/out'\r\nmake: *** [mips64.release] Error 2\r\n```\r\n\r\nBuild with GCC and running tests was successful.\r\n"}}
{"actor":{"display_login":"ilijapavlovic"}}