{"push_id":794528186,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e0c17e02a45c69cae84bfde91d760d6555c7c147","before":"cfb5949c134a1263526da32b6cff7eab656c7102","commits":[{"sha":"e0c17e02a45c69cae84bfde91d760d6555c7c147","author":{"email":"51ff02d58cc896f1ad67af6dca38b149ddc1b88d@linaro.org","name":"Adhemerval Zanella"},"message":"[MSan] Enable MSAN for aarch64\n\nThis patch enabled msan for aarch64 with 39-bit VMA and 42-bit VMA.\nAs defined by lib/msan/msan.h the memory layout used is for 39-bit is:\n\n   00 0000 0000 - 40 0000 0000:  invalid\n   40 0000 0000 - 43 0000 0000:  shadow\n   43 0000 0000 - 46 0000 0000:  origin\n   46 0000 0000 - 55 0000 0000:  invalid\n   55 0000 0000 - 56 0000 0000:  app (low)\n   56 0000 0000 - 70 0000 0000:  invalid\n   70 0000 0000 - 80 0000 0000:  app (high)\n\nAnd for 42-bit VMA:\n\n   000 0000 0000 - 100 0000 0000:  invalid\n   100 0000 0000 - 11b 0000 0000:  shadow\n   11b 0000 0000 - 120 0000 0000:  invalid\n   120 0000 0000 - 13b 0000 0000:  origin\n   13b 0000 0000 - 2aa 0000 0000:  invalid\n   2aa 0000 0000 - 2ab 0000 0000:  app (low)\n   2ab 0000 0000 - 3f0 0000 0000:  invalid\n   3f0 0000 0000 - 400 0000 0000:  app (high)\n\nMost of tests are passing with exception of:\n\n   * Linux/mallinfo.cc\n   * chained_origin_limits.cc\n   * dlerror.cc\n   * param_tls_limit.cc\n   * signal_stress_test.cc\n   * nonnull-arg.cpp\n\nThe 'Linux/mallinfo.cc' is due the fact AArch64 returns the sret in 'x8'\ninstead of default first argument 'x1'.  So a function prototype that\naims  to mimic (by using first argument as the return of function) won't\nwork. For GCC one can make a register alias (register var asm (\"r8\")), but\nfor clang it detects is an unused variable and generate wrong code.\n\nThe 'chained_origin_limits' is probably due a wrong code generation,\nsince it fails only when origin memory is used\n(-fsanitize-memory-track-origins=2) and only in the returned code\n(return buf[50]).\n\nThe 'signal_streess_test' and 'nonnull-arg' are due currently missing variadic\nargument handling in memory sanitizer code instrumentation on LLVM side.\n\nBoth 'dlerror' and 'param_tls_test' are unknown failures that require\nfurther investigation.\n\nAll the failures are XFAIL for aarch64 for now.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project/commits/e0c17e02a45c69cae84bfde91d760d6555c7c147"}]}