https://sourceware.org/bugzilla/show_bug.cgi?id=28918
乔鹏程 <qiaopengcheng at loongson dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |VERIFIED --- Comment #3 from 乔鹏程 <qiaopengcheng at loongson dot cn> --- (In reply to 乔鹏程 from comment #2) > (In reply to Alan Modra from comment #1) > > Testcase unavailable > > (1)You can clone the `https://github.com/shushanhf/runtime` > (2)git apply this patch file: > ``` > diff --git a/eng/common/native/init-compiler.sh > b/eng/common/native/init-compiler.sh > index 517401b688b..813adec3ada 100644 > --- a/eng/common/native/init-compiler.sh > +++ b/eng/common/native/init-compiler.sh > @@ -126,11 +126,11 @@ if [ -z "$CC" ]; then > fi > > # Only lld version >= 9 can be considered stable. lld doesn't support s390x. > -if [ "$compiler" = "clang" ] && [ -n "$majorVersion" ] && [ "$majorVersion" > -ge 9 ] && [ "$build_arch" != "s390x" ]; then > - if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then > - LDFLAGS="-fuse-ld=lld" > - fi > -fi > +#if [ "$compiler" = "clang" ] && [ -n "$majorVersion" ] && [ > "$majorVersion" -ge 9 ] && [ "$build_arch" != "s390x" ]; then > +# if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then > +# LDFLAGS="-fuse-ld=lld" > +# fi > +#fi > > SCAN_BUILD_COMMAND="$(command -v "scan-build$desired_version")" > > ``` > (3)enter the directory `cd runtime/src/coreclr/` > (4)`./build-runtime.sh gcc -debug -skipmanaged -nopgooptimize > -skipcrossarchnative ` should also add this patch within the `(2)` step: ``` diff --git a/src/coreclr/vm/methodtable.cpp b/src/coreclr/vm/methodtable.cpp index 6682bc57b05..5beea48121d 100644 --- a/src/coreclr/vm/methodtable.cpp +++ b/src/coreclr/vm/methodtable.cpp @@ -2941,8 +2941,6 @@ void MethodTable::AssignClassifiedEightByteTypes(SystemVStructRegisterPassingHe #endif // defined(UNIX_AMD64_ABI_ITF) -#if defined(TARGET_LOONGARCH64) - bool MethodTable::IsLoongArch64OnlyOneField(MethodTable * pMT) { TypeHandle th(pMT); @@ -3549,7 +3547,6 @@ _End_arg: return size; } -#endif #if defined(TARGET_RISCV64) diff --git a/src/coreclr/vm/methodtable.h b/src/coreclr/vm/methodtable.h index acffd1b6141..e9172f3206a 100644 --- a/src/coreclr/vm/methodtable.h +++ b/src/coreclr/vm/methodtable.h @@ -747,10 +747,8 @@ public: // during object construction. void CheckRunClassInitAsIfConstructingThrowing(); -#if defined(TARGET_LOONGARCH64) static bool IsLoongArch64OnlyOneField(MethodTable * pMT); static int GetLoongArch64PassStructInRegisterFlags(CORINFO_CLASS_HANDLE clh); -#endif #if defined(TARGET_RISCV64) static bool IsRiscv64OnlyOneField(MethodTable * pMT); ``` -- You are receiving this mail because: You are on the CC list for the bug.