From 9915d83ee2beda2d2e6d628b0289992c31c2f37f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 19:21:55 +0000 Subject: [PATCH] deploy: d278b10e8becf5fb32f7863a433c6b603fa4116c --- 404.html | 4 ++-- asmdb/index.html | 4 ++-- ...de4fb.211af579.js => 082de4fb.3350455b.js} | 2 +- ...66bc8.90226727.js => 40d66bc8.3ed97263.js} | 2 +- assets/js/a68796e0.2c649f46.js | 1 - assets/js/a68796e0.74a659b0.js | 1 + .../js/{main.1f73b020.js => main.e1949fdc.js} | 4 ++-- ...CENSE.txt => main.e1949fdc.js.LICENSE.txt} | 0 ...n.3fa73de9.js => runtime~main.ed4994f7.js} | 2 +- blog/archive/index.html | 4 ++-- blog/index.html | 4 ++-- blog/site-faqs/index.html | 4 ++-- blog/tags/index.html | 4 ++-- .../index.html" | Bin 19000 -> 19000 bytes .../index.html | 4 ++-- blog/welcome/index.html | 4 ++-- docs/baseline-reference/index.html | 4 ++-- .../index.html | 4 ++-- docs/contrib/basics/index.html | 4 ++-- docs/contrib/index.html | 4 ++-- docs/contrib/natlang-style-guide/index.html | 4 ++-- docs/errata/index.html | 4 ++-- docs/intro/index.html | 4 ++-- docs/linux-upstream-support/index.html | 4 ++-- docs/loong-or-loongarch/index.html | 4 ++-- docs/old-and-new-worlds/index.html | 4 ++-- index.html | 4 ++-- newsletter/archive/index.html | 4 ++-- newsletter/atom.xml | 6 +++--- newsletter/index.html | 4 ++-- newsletter/page/2/index.html | 4 ++-- newsletter/page/3/index.html | 4 ++-- newsletter/page/4/index.html | 4 ++-- newsletter/rss.xml | 6 +++--- newsletter/tags/index.html | 4 ++-- .../index.html" | 4 ++-- .../page/2/index.html" | 4 ++-- .../page/3/index.html" | 4 ++-- .../page/4/index.html" | 4 ++-- .../index.html" | 4 ++-- .../these-weeks-in-loongarch-12/index.html | 4 ++-- .../these-weeks-in-loongarch-33/index.html | 16 ++++++++-------- .../these-weeks-in-loongarch-6/index.html | 4 ++-- .../this-week-in-loongarch-1/index.html | 4 ++-- .../this-week-in-loongarch-10/index.html | 4 ++-- .../this-week-in-loongarch-11/index.html | 4 ++-- .../this-week-in-loongarch-13/index.html | 4 ++-- .../this-week-in-loongarch-14/index.html | 4 ++-- .../this-week-in-loongarch-15/index.html | 4 ++-- .../this-week-in-loongarch-16/index.html | 4 ++-- .../this-week-in-loongarch-17/index.html | 4 ++-- .../this-week-in-loongarch-18/index.html | 4 ++-- .../this-week-in-loongarch-19/index.html | 4 ++-- .../this-week-in-loongarch-2/index.html | 4 ++-- .../this-week-in-loongarch-20/index.html | 4 ++-- .../this-week-in-loongarch-21/index.html | 4 ++-- .../this-week-in-loongarch-22/index.html | 4 ++-- .../this-week-in-loongarch-23/index.html | 4 ++-- .../this-week-in-loongarch-24/index.html | 4 ++-- .../this-week-in-loongarch-25/index.html | 4 ++-- .../this-week-in-loongarch-26/index.html | 4 ++-- .../this-week-in-loongarch-27/index.html | 4 ++-- .../this-week-in-loongarch-28/index.html | 4 ++-- .../this-week-in-loongarch-29/index.html | 4 ++-- .../this-week-in-loongarch-3/index.html | 4 ++-- .../this-week-in-loongarch-30/index.html | 4 ++-- .../this-week-in-loongarch-31/index.html | 4 ++-- .../this-week-in-loongarch-32/index.html | 4 ++-- .../this-week-in-loongarch-4/index.html | 4 ++-- .../this-week-in-loongarch-5/index.html | 4 ++-- .../this-week-in-loongarch-7/index.html | 4 ++-- .../this-week-in-loongarch-8/index.html | 4 ++-- .../this-week-in-loongarch-9/index.html | 4 ++-- porter/hackpascal/index.html | 4 ++-- porter/jiangcuo/index.html | 4 ++-- porter/liushuyu/index.html | 4 ++-- porter/loongson/index.html | 4 ++-- porter/lrzlin/index.html | 4 ++-- porter/phorcys/index.html | 4 ++-- porter/shipujin/index.html | 4 ++-- porter/sunhaiyong1978/index.html | 4 ++-- porter/xen0n/index.html | 4 ++-- porter/xry111/index.html | 4 ++-- porter/yetist/index.html | 4 ++-- porter/yushanwei/index.html | 4 ++-- project/altlinux/index.html | 4 ++-- project/aosc/index.html | Bin 11749 -> 11749 bytes project/binutils/index.html | 4 ++-- project/clfs/index.html | 4 ++-- project/debian/index.html | 4 ++-- project/dlang/index.html | 4 ++-- project/dotnet/index.html | Bin 12202 -> 12202 bytes project/edk2/index.html | 4 ++-- project/fedora/index.html | 4 ++-- project/freebsd/index.html | 4 ++-- project/gcc/index.html | 4 ++-- project/gentoo/index.html | 4 ++-- project/ghc/index.html | 4 ++-- project/glibc/index.html | 4 ++-- project/gnumach/index.html | 4 ++-- project/go/index.html | 4 ++-- project/haiku/index.html | 4 ++-- project/jsc/index.html | 4 ++-- project/lfs/index.html | 4 ++-- project/linux/index.html | 4 ++-- project/llvm/index.html | 4 ++-- project/loongarchlinux/index.html | 4 ++-- project/luajit/index.html | 4 ++-- project/mono/index.html | 4 ++-- project/musl/index.html | 4 ++-- project/openbsd/index.html | 4 ++-- project/openjdk/index.html | 4 ++-- project/openwrt/index.html | 4 ++-- project/proxmox-ve/index.html | 4 ++-- project/qemu/index.html | 4 ++-- project/reactos/index.html | 4 ++-- project/rt-thread/index.html | 4 ++-- project/rust/index.html | 4 ++-- project/slackware/index.html | 4 ++-- project/sljit/index.html | 4 ++-- project/spidermonkey/index.html | 4 ++-- project/v8/index.html | 4 ++-- project/xbyak/index.html | 4 ++-- project/yongbao/index.html | 4 ++-- search-index-2c6edf86.json | 1 - search-index-ae313231.json | 1 + search/index.html | 4 ++-- 127 files changed, 245 insertions(+), 245 deletions(-) rename assets/js/{082de4fb.211af579.js => 082de4fb.3350455b.js} (82%) rename assets/js/{40d66bc8.90226727.js => 40d66bc8.3ed97263.js} (97%) delete mode 100644 assets/js/a68796e0.2c649f46.js create mode 100644 assets/js/a68796e0.74a659b0.js rename assets/js/{main.1f73b020.js => main.e1949fdc.js} (99%) rename assets/js/{main.1f73b020.js.LICENSE.txt => main.e1949fdc.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.3fa73de9.js => runtime~main.ed4994f7.js} (98%) delete mode 100644 search-index-2c6edf86.json create mode 100644 search-index-ae313231.json diff --git a/404.html b/404.html index c226d6c6..2fe8dccc 100644 --- a/404.html +++ b/404.html @@ -13,8 +13,8 @@ - - + +
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

diff --git a/asmdb/index.html b/asmdb/index.html index e2857425..0d918869 100644 --- a/asmdb/index.html +++ b/asmdb/index.html @@ -13,8 +13,8 @@ - - + +
跳到主要内容
以龙芯官方指定的指令助记符、汇编语法展示下列内容
要看哪些指令?
diff --git a/assets/js/082de4fb.211af579.js b/assets/js/082de4fb.3350455b.js similarity index 82% rename from assets/js/082de4fb.211af579.js rename to assets/js/082de4fb.3350455b.js index b98e4570..7c1fb47b 100644 --- a/assets/js/082de4fb.211af579.js +++ b/assets/js/082de4fb.3350455b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[1519],{4541:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>h,toc:()=>o});var l=n(5893),i=n(1151);const r={slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:new Date("2024-01-23T19:20:00.000Z"),tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},c=void 0,h={permalink:"/newsletter/these-weeks-in-loongarch-33",editUrl:"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",source:"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",description:"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01",date:"2024-01-23T19:20:00.000Z",formattedDate:"2024\u5e741\u670823\u65e5",tags:[{label:"\u6bcf\u5468\u4e00\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{label:"\u6bcf\u5468\u4e24\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],readingTime:12.395,hasTruncateMarker:!0,authors:[{name:"WANG Xuerui",title:"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684",url:"https://github.com/xen0n",imageURL:"https://github.com/xen0n.png",key:"xen0n"}],frontMatter:{slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:"2024-01-23T19:20:00.000Z",tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},unlisted:!1,nextItem:{title:"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f",permalink:"/newsletter/this-week-in-loongarch-32"}},a={authorsImageUrls:[void 0]},o=[{value:"\u5148\u300c\u9a6c\u300d\u518d\u770b",id:"marked-projects",level:2},{value:"Linux",id:"linux",level:3},{value:"\u5de5\u5177\u94fe",id:"toolchain",level:3},{value:"ABI",id:"abi",level:4},{value:"binutils",id:"binutils",level:4},{value:"GCC",id:"gcc",level:4},{value:"LLVM",id:"llvm",level:4},{value:"\u6742\u95fb\u64ad\u62a5",id:"assorted-news",level:2},{value:"libLoL \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347",id:"liblol",level:3},{value:"\u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e ftint \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a",id:"ftint-edge-cases",level:3},{value:"\u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528",id:"chromium-patchset",level:3},{value:"OpenSSL",id:"openssl",level:3},{value:"\u793e\u533a\u6574\u6d3b",id:"grins",level:2},{value:"\u5f20\u8d34\u680f",id:"bulletin",level:2}];function t(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",small:"small",ul:"ul",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s.p,{children:["\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch\xae \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca ",(0,l.jsx)(s.code,{children:"libLoL"}),"\u3002\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01"]}),"\n",(0,l.jsxs)(s.p,{children:["\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468\u73b0\u5b9e\u751f\u6d3b\u7e41\u5fd9\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e09\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 1 \u6708 23 \u65e5\uff1a\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c",(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4881",className:"link--overseas",children:"\u5bfc\u81f4\u7684"}),"\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002"]}),"\n",(0,l.jsx)(s.p,{children:"\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002"}),"\n",(0,l.jsx)(s.h2,{id:"marked-projects",children:"\u5148\u300c\u9a6c\u300d\u518d\u770b"}),"\n",(0,l.jsx)(s.p,{children:"\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch\xae \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002"}),"\n",(0,l.jsx)(s.h3,{id:"linux",children:"Linux"}),"\n",(0,l.jsxs)(s.p,{children:["Linux 6.8 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u5173\u95ed\uff0cv6.8-rc1 \u5df2\u7ecf\u53d1\u5e03\u3002\u6839\u636e Huacai Chen \u7684\n",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/",className:"link--overseas",children:"KVM PR"}),"\n\u4e0e",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20240119110700.335741-1-chenhuacai@loongson.cn/",className:"link--overseas",children:"\u67b6\u6784 PR"}),"\uff0c\n\u672c\u5468\u671f\u7684 LoongArch \u53d8\u66f4\u4e3b\u8981\u6709\uff1a"]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"\u62ac\u5347\u4e86 LLVM/Clang \u7684\u6700\u4f4e\u652f\u6301\u7248\u672c\u5230 18\uff0c\u5e76\u652f\u6301 Rust \u8bed\u8a00\uff08WANG Rui\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u5185\u7f6e\u4e86\u9f99\u82af 2K \u7cfb\u5217 SoC \u7684\u8bbe\u5907\u6811\uff08Binbin Zhou\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"BPF JIT \u4f18\u5316\u4e0e\u4fee\u590d\uff08Hengqi Chen\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u652f\u6301\u5904\u7406 UEFI ESRT \u8868\u683c\uff0c\u4e3a\u7cfb\u7edf\u5185\u7684\u56fa\u4ef6\u5347\u7ea7\u65b9\u6848\u5982 fwupd \u505a\u51c6\u5907\uff08Huacai Chen\uff09\u3002"}),"\n",(0,l.jsxs)(s.li,{children:["\u4f7f\u7528\u516c\u5171\u8bbe\u65bd\u5b9e\u73b0\u4e86 ",(0,l.jsx)(s.code,{children:"crashkernel"})," \u5185\u6838\u53c2\u6570\uff08Youling Tang\uff09\u3002"]}),"\n",(0,l.jsxs)(s.li,{children:["\u4fee\u590d\u4e86 ",(0,l.jsx)(s.code,{children:"execve"})," \u540e\u7684 FCSR \u521d\u59cb\u5316\u95ee\u9898\uff08Xi Ruoyao\uff09\u3002"]}),"\n",(0,l.jsx)(s.li,{children:"\u5b8c\u5584\u4e86 KVM \u5185\u5b58\u7ba1\u7406\u4e0e\u5b9a\u65f6\u5668\u6a21\u62df\uff08Bibo Mao\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u652f\u6301\u5728 KVM \u865a\u62df\u673a\u4e2d\u4f7f\u7528 LSX\u3001LASX \u4e86\uff08Tianrui Zhao\uff09\u3002"}),"\n"]}),"\n",(0,l.jsxs)(s.p,{children:["\u4e0d\u5de7\u7684\u662f\uff0c\u5408\u5e76 LoongArch KVM \u76f8\u5173\u4fee\u6539\u65f6",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20240120114412.2208a8c1@canb.auug.org.au/",className:"link--overseas",children:"\u6f0f\u6389\u4e86"}),"\u4e00\u4e2a\u4fee\u590d\u6784\u5efa\u9519\u8bef\u7684\u8865\u4e01\u3002\n\u8fd9\u662f\u9488\u5bf9 KVM \u5206\u652f\u7684\u4ee3\u7801\u91cd\u6784\u7684\u8ddf\u8fdb\uff0c\u4f46\u7531\u4e8e\u53cc\u65b9\u5206\u652f\u57fa\u7840\u4e0d\u540c\uff0c\u56e0\u800c\u9700\u8981 Linus \u5728\u5408\u5e76\u65f6\u624b\u5de5\u64cd\u4f5c\uff1b\u6ca1\u6709\u4eba\u63d0\u9192\u81ea\u7136\u5c31\u4e0d\u4f1a\u64cd\u4f5c\u3002\n\u76ee\u524d\u5982\u679c\u8981\u7f16\u8bd1\u4e3b\u7ebf\u5185\u6838\uff0c\u9700\u8981\u6253\u4e0a\u8be5\u8865\u4e01\uff0c\u6216\u8005\u7981\u7528 KVM \u529f\u80fd\u3002\n\u4e0d\u8fc7\u5728\u76ee\u524d\u7684\u4ed3\u5e93\u72b6\u6001\u4e0b\uff0c\u8be5\u8865\u4e01\u5df2\u7ecf\u53ef\u4ee5\u76f4\u63a5\u6253\u4e0a\u4e86\uff1b\u56e0\u6b64\u6b64\u95ee\u9898\u9884\u8ba1\u5c06\u5f88\u5feb\u5728\u4e3b\u7ebf\u4fee\u590d\u3002"]}),"\n",(0,l.jsx)(s.h3,{id:"toolchain",children:"\u5de5\u5177\u94fe"}),"\n",(0,l.jsx)(s.h4,{id:"abi",children:"ABI"}),"\n",(0,l.jsxs)(s.p,{children:["1 \u6708 10 \u65e5\uff0c\u9f99\u82af\u7f16\u8bd1\u5668\u56e2\u961f",(0,l.jsx)(s.a,{href:"https://github.com/loongson/gcc/issues/114",className:"link--overseas",children:"\u8d34\u51fa\u4e86"}),"\u4e00\u4efd\u8c03\u7528\u7ea6\u5b9a\u6269\u5c55\u7684\u8349\u7a3f\uff0c\u8be5\u6269\u5c55\u5141\u8bb8\u901a\u8fc7\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u3002\n\u8fd9\u6837\u505a\u53ef\u4ee5\u51cf\u5c11\u5185\u5b58\u8bbf\u95ee\uff0c\u8fdb\u800c\u63d0\u5347\u6027\u80fd\uff1b\u4f46\u4e5f\u6709\u517c\u5bb9\u6027\u3001\u4ee5\u53ca\u4e0e\u9075\u5faa\u73b0\u6709\u8c03\u7528\u7ea6\u5b9a\u7684\u5b58\u91cf\u4ee3\u7801\u7684\u4e92\u64cd\u4f5c\u6027\u7b49\u65b9\u9762\u7684\u62c5\u5fe7\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u5de5\u5355",(0,l.jsx)(s.a,{href:"https://github.com/loongson/gcc/pull/113",className:"link--overseas",children:"\u968f\u9644\u4e86"}),"\u9f99\u82af\u56e2\u961f\u505a\u7684\u539f\u578b\u5b9e\u73b0\uff1a\n\u8bf7\u5728\u610f\u6280\u672f\u7ec6\u8282\u7684\u540c\u5b66\u4eec\u5173\u6ce8\uff0c\u4ee5\u6c42\u5c06\u5927\u6982\u7387\u4f1a\u5b58\u5728\u7684\u95ee\u9898\u5c3d\u65e9\u66b4\u9732\u3001\u4fee\u590d\u3002\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01"]}),"\n",(0,l.jsx)(s.h4,{id:"binutils",children:"binutils"}),"\n",(0,l.jsxs)(s.p,{children:["GNU Binutils 2.42 \u5206\u652f\u5df2\u4e8e 1 \u6708 15 \u65e5",(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131859.html",className:"link--overseas",children:"\u5207\u51fa"}),"\uff0c\n\u7406\u60f3\u72b6\u51b5\u4e0b\uff0c\u5c06\u4e8e\u5206\u652f\u7ba1\u7406\u5458\u65f6\u533a\u7684 1 \u6708 29 \u65e5\u53d1\u5e03\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/xry111",className:"link--overseas",children:"Xi Ruoyao"})," \u8d76\u5728\u6b63\u5f0f\u53d1\u5e03\u524d\u505a\u4e86\u4e9b\u5de5\u4f5c\uff1a"]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["\u6309\u7167 LoongArch ABI v2.30 ",(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131871.html",className:"link--overseas",children:"\u8c03\u6574\u4e86"}),"\u82e5\u5e72\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7c7b\u578b\u7684\u8bed\u4e49\uff0c"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131975.html",className:"link--overseas",children:"\u4fee\u4e86"}),"\u6d4b\u8bd5\uff0c"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/132050.html",className:"link--overseas",children:"\u6574\u7406\u4e86"})," 2.42 \u7248\u672c\u7684 LoongArch \u53d8\u66f4\u5185\u5bb9\u6587\u6863\u3002"]}),"\n"]}),"\n",(0,l.jsx)(s.h4,{id:"gcc",children:"GCC"}),"\n",(0,l.jsxs)(s.p,{children:["Lulu Cheng \u8ba9 GCC \u5728\u4f7f\u7528 ",(0,l.jsx)(s.code,{children:"extreme"})," \u4ee3\u7801\u6a21\u578b\u65f6\uff0c",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641865.html",className:"link--overseas",children:"\u4f7f\u7528"}),"\u5b8f\u6307\u4ee4\u751f\u6210\u7b26\u53f7\u5730\u5740\uff0c\n\u4f46 [Xi Ruoyao] ",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641919.html",className:"link--overseas",children:"\u8ba4\u4e3a"}),"\u5e94\u8be5\u6362\u4e00\u79cd\u505a\u6cd5\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Lulu Cheng \u8fd8\u5c06 GOT\uff08\u5168\u5c40\u504f\u79fb\u8868\uff09\u8bb0\u5f55",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642896.html",className:"link--overseas",children:"\u6807\u8bb0\u4e3a\u4e86"}),"\u53ea\u8bfb\u3002\n\u8fd9\u53ef\u80fd\u4f1a\u5141\u8bb8\u66f4\u591a\u4f18\u5316\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Xi Ruoyao ",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/PR113418",className:"link--overseas",children:"\u53d1\u73b0\u4e86"})," GCC \u5411\u91cf\u6d4b\u8bd5\u5957\u4ef6\u672c\u8eab\u7684\u4e00\u4e9b\u95ee\u9898\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Xi Ruoyao \u8fd8",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643644.html",className:"link--overseas",children:"\u9002\u914d\u4e86"})," TLS LD/GD relaxation\u3002"]}),"\n",(0,l.jsx)(s.h4,{id:"llvm",children:"LLVM"}),"\n",(0,l.jsx)(s.p,{children:"LLVM 18 \u7684\u4ee3\u7801\u5c06\u4e8e\u4e2d\u56fd\u65f6\u95f4 1 \u6708 24 \u65e5\u51bb\u7ed3\u3002"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/wangleiat",className:"link--overseas",children:"wangleiat"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78943",className:"link--overseas",children:"\u65b0\u589e\u4e86"}),"\u76ee\u6807\u7279\u6027\uff08target feature\uff09",(0,l.jsx)(s.code,{children:"auto-vec"}),"\uff0c\n\u7528\u4ee5\u63a7\u5236\u662f\u5426\u8fdb\u884c\u81ea\u52a8\u5411\u91cf\u5316\u3002\n\u76ee\u524d\u6b64\u7279\u6027\u9ed8\u8ba4\u5173\u95ed\uff0c\u56e0\u4e3a\u4ecd\u9700\u4e00\u4e9b\u5de5\u4f5c\u91cf\u624d\u80fd\u786e\u4fdd\u5b9e\u9645\u63d0\u5347\u6027\u80fd\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/yjijd",className:"link--overseas",children:"yjijd"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78924",className:"link--overseas",children:"\u5b9e\u73b0\u4e86"}),"\u5411\u91cf\u7c7b\u578b\u7684\u6574\u6570\u8f6c\u6d6e\u70b9\u6570\u64cd\u4f5c\uff1a\n\u5373 LLVM IR \u7684 ",(0,l.jsx)(s.code,{children:"sitofp"})," \u4e0e ",(0,l.jsx)(s.code,{children:"uitofp"})," \u64cd\u4f5c\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Ami-zhang",className:"link--overseas",children:"Ami-zhang"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78238",className:"link--overseas",children:"\u589e\u52a0\u4e86"})," LoongArch\nv1.10 \u7684\u65b0\u589e\u6307\u4ee4\u652f\u6301\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Ami-zhang",className:"link--overseas",children:"Ami-zhang"})," \u8fd8",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78962",className:"link--overseas",children:"\u65b0\u589e\u4e86"}),"\u76ee\u6807\u7279\u6027 ",(0,l.jsx)(s.code,{children:"frecipe"}),"\uff0c\n\u4ee5\u53ca\u76f8\u5e94\u7684 Clang intrinsics\uff0c\u4ee5\u4fbf\u5f00\u53d1\u8005\u63a7\u5236 LoongArch v1.10 \u7684\u6d6e\u70b9\u8fd1\u4f3c\u53d6\u5012\u6570\u7b49\u64cd\u4f5c\u7684\u4f7f\u7528\u4e0e\u5426\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/MQ-mengqing",className:"link--overseas",children:"MQ-mengqing"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/77728",className:"link--overseas",children:"\u5b8c\u5584\u4e86"}),"\u5f00\u542f\nlinker relaxation \u60c5\u51b5\u4e0b\u7684 DWARF \u8c03\u8bd5\u4fe1\u606f\u5904\u7406\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/MQ-mengqing",className:"link--overseas",children:"MQ-mengqing"})," \u8fd8\u6839\u636e\u6700\u65b0 LoongArch ELF psABI\n",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/72962",className:"link--overseas",children:"\u5904\u7406\u4e86"}),"\u6c47\u7f16\u5668\u5bf9\u9f50\u6307\u793a\u3002\n\u622a\u81f3\u53d1\u7a3f\uff0c\u6b64 PR \u4ecd\u7136\u6ca1\u6709\u5408\u5e76\uff1b\u4e0d\u8fc7\u5df2\u7ecf\u901a\u8fc7\u4ee3\u7801\u5ba1\u67e5\uff0c\u56e0\u6b64\u8d76\u4e0a LLVM 18 \u5e94\u8be5\u95ee\u9898\u4e0d\u5927\u3002"]}),"\n",(0,l.jsx)(s.h2,{id:"assorted-news",children:"\u6742\u95fb\u64ad\u62a5"}),"\n",(0,l.jsxs)(s.h3,{id:"liblol",children:[(0,l.jsx)(s.code,{children:"libLoL"})," \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347"]}),"\n",(0,l.jsxs)(s.p,{children:["1 \u6708 19 \u65e5\uff0c\u4ee5 0.1.0 \u7248\u672c\u7684\u53d1\u5e03\u4e3a\u6807\u5fd7\uff0c",(0,l.jsx)(s.code,{children:"libLoL"})," \u5df2\u8f6c\u5411\u5171\u4eab sysroot \u7684\uff0c\u4ec5\u5728 libc\n\u5c42\u9762\u5904\u7406\u7b26\u53f7\u7248\u672c\u95ee\u9898\u7684\u65b9\u6848\uff0c\u800c\u4e0d\u518d\u9700\u8981\u4ece\u65e7\u4e16\u754c\u53d1\u884c\u7248\uff08\u5982 Loongnix\uff09\u53d6\u7528\u7cfb\u7edf\u5e93\u3002\n\u8fd9\u6837\u65e2\u8ba9\u517c\u5bb9\u5c42\u7684\u4f53\u79ef\u5f97\u5230\u5927\u5e45\u7f29\u51cf\uff1a\u5b89\u88c5\u5305\u73b0\u5df2\u4e0d\u8db3 1MiB\uff0c\n\u4e5f\u907f\u514d\u4e86\u5148\u524d\u7531\u4e8e\u4f7f\u7528\u5546\u4e1a\u53d1\u884c\u7248\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u800c\u53ef\u80fd\u4e3a\u793e\u533a\u53d1\u884c\u7248\u63d0\u4f9b\u8005\u3001\u7528\u6237\u5e26\u6765\u7684\u6cd5\u5f8b\u98ce\u9669\u3002\n\u66f4\u591a\u6280\u672f\u7ec6\u8282\u8bf7\u89c1 ",(0,l.jsx)(s.code,{children:"libLoL"})," \u7684 ",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/liblol/blob/master/README.zh.md",className:"link--overseas",children:"README \u6587\u6863"}),"\u3002\n\uff08\u672c\u7ad9\u4e0d\u4e45\u4e5f\u5c06\u4e0a\u67b6\u76f8\u5173\u9605\u8bfb\u6750\u6599\u3002\uff09"]}),"\n",(0,l.jsxs)(s.p,{children:["\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c",(0,l.jsx)(s.code,{children:"libLoL"})," \u5df2\u8fed\u4ee3\u81f3 0.1.3 \u7248\u672c\uff1a\u53c8\u4fee\u590d\u4e86\u65e7\u4e16\u754c .NET 8\u3001WPS PDF\u3001\u9489\u9489\u7b49\u5e94\u7528\u6216\u7ec4\u4ef6\u7684\u517c\u5bb9\u6027\u95ee\u9898\u3002\n\u5982\u679c\u60a8\u4f9d\u8d56\u7684\u65e7\u4e16\u754c\u5e94\u7528\u4ecd\u7136\u4e0d\u80fd\u5b8c\u7f8e\u8fd0\u884c\uff0c\u8bf7\u5c06\u95ee\u9898\u62a5\u544a\u5230 ",(0,l.jsx)(s.code,{children:"libLoL"})," \u4e0a\u6e38",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/liblol/issues",className:"link--overseas",children:"\u5de5\u5355\u7cfb\u7edf"}),"\uff0c\n\u4ee5\u4fbf\u5f00\u53d1\u8005\u4eec\u5e2e\u5fd9\u3002"]}),"\n",(0,l.jsxs)(s.h3,{id:"ftint-edge-cases",children:["\u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e ",(0,l.jsx)(s.code,{children:"ftint"})," \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a"]}),"\n",(0,l.jsxs)(s.p,{children:["\u5728\u6d4b\u8bd5\u6b63\u5219\u8868\u8fbe\u5f0f\u5e93 PCRE2 \u65b0\u7248\u7684 LoongArch JIT \u652f\u6301\u65f6\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/xen0n",className:"link--overseas",children:"xen0n"}),"\n",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/36",className:"link--overseas",children:"\u53d1\u73b0"}),"\u4ee3\u7801\u4e2d\u7f3a\u5931\u4e86\u5173\u4e8e\u6d6e\u70b9\u6570\u8f6c\u6574\u6570\u64cd\u4f5c\u5728\nLoongArch \u4e0a\u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a\u7684\u8bb0\u8f7d\u3002\n\u867d\u7136 lrzlin \u9a6c\u4e0a",(0,l.jsx)(s.a,{href:"https://github.com/zherczeg/sljit/pull/226",className:"link--overseas",children:"\u505a\u4e86\u5b9e\u9a8c\u5e76\u4fee\u590d\u4e86"}),"\u6b64\u95ee\u9898\uff0c\n\u4f46 ",(0,l.jsx)(s.a,{href:"https://github.com/xry111",className:"link--overseas",children:"xry111"})," \u968f\u5373",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/38",className:"link--overseas",children:"\u6307\u51fa"}),"\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5bf9\u6b64\u672a\u52a0\u8be6\u7ec6\u8bf4\u660e\uff0c\u56e0\u800c\u7406\u8bba\u4e0a\u4ecd\u53ef\u80fd\u5b58\u5728\u884c\u4e3a\u4e0e\u5f53\u4e0b\u5b9e\u9a8c\u7ed3\u679c\u4e0d\u7b26\u7684\u82af\u7247\u3002\n\u793e\u533a\u5df2\u5c06\u6b64\u95ee\u9898\u63d0\u9192\u5230\u9f99\u82af\u5b98\u65b9\uff1a\u6211\u4eec\u6ca1\u6743\u9650\u6539\u300a\u624b\u518c\u300b\uff0c\u53ea\u80fd\u4f60\u4eec\u6765\u4e86\uff01"]}),"\n",(0,l.jsx)(s.h3,{id:"chromium-patchset",children:"\u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528"}),"\n",(0,l.jsxs)(s.p,{children:["Chromium \u6d4f\u89c8\u5668\uff0c\u53ca\u57fa\u4e8e\u5176\u5185\u6838\u7684\u4e00\u4f17\u884d\u751f\u9879\u76ee\u5982 QtWebEngine\u3001Electron \u7b49\u7b49\uff0c\u5df2\u6210\u4e3a\u5f53\u4ee3\u684c\u9762\u3001\u79fb\u52a8\u7aef\u4e0d\u53ef\u6216\u7f3a\u7684\u57fa\u7840\u8bbe\u65bd\u3002\n\u4f46\u7531\u4e8e\u5176\u4ee3\u7801\u89c4\u6a21\u5e9e\u5927\uff0c\u4e14\u6f14\u8fdb\u6781\u4e3a\u8fc5\u901f\u3001\u6fc0\u8fdb\uff0c\u4e00\u76f4\u4ee5\u6765\uff0c\u5982\u4f55\u6301\u7eed\u7ef4\u62a4\u53ef\u7528\u7684 Chromium \u5206\u652f\u8fd9\u4ef6\u4e8b\uff0c\u5bf9\u90a3\u4e9b\u975e x86 \u6216 ARM \u67b6\u6784\u7684\u7cfb\u7edf\u96c6\u6210\u5de5\u4f5c\u8005\u800c\u8a00\uff0c\u90fd\u662f\u4e00\u5757\u5fc3\u75c5\u3002\n\u5373\u4fbf\u300c\u591a\u91d1\u300d\u5982 IBM PowerPC\uff0c\u300c\u7f51\u7ea2\u300d\u5982 RISC-V\uff0c\u4e5f\u53ea\u80fd\u7d27\u8d76\u6162\u8d76\uff0c\u800c\u6682\u672a\u80fd\u8fdb\u5165 Chromium \u4e3b\u7ebf\uff0c\u4ece\u65e5\u5e38\n",(0,l.jsx)(s.code,{children:"git rebase"})," \u89e3\u51b2\u7a81\u7684\u82e6\u6d77\u300c\u4e0a\u5cb8\u300d\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u622a\u81f3\u76ee\u524d\uff0cLoongArch \u4e5f\u5e76\u672a\u5728 Chromium \u4e3b\u7ebf\u5f97\u5230\u5b8c\u6574\u652f\u6301\uff0c\u56e0\u6b64\u4e3a LoongArch \u6253\u5305\u7684\u540c\u5b66\u4eec\u4e5f\u8981\u81ea\u884c\u7ef4\u62a4\u5206\u652f\u3002\n\u9f99\u82af\u516c\u53f8\u5148\u524d\u5373\u51fa\u4e8e\u4e1a\u52a1\u9700\u6c42\uff0c\u9002\u914d\u4e86\u9f99\u82af\u6d4f\u89c8\u5668\u3001Electron \u7b49\u9879\u76ee\uff1b\n\u4f46\u7531\u4e8e\u8ddf\u8fdb\u65b0\u7248\u672c\u4e0d\u53ca\u65f6\u3001\u65e0\u7edf\u4e00\u7684\u8865\u4e01\u5206\u53d1\u6e20\u9053\u7b49\u56e0\u7d20\uff0c\u8fd9\u4e9b\u5de5\u4f5c\u5e76\u672a\u80fd\u60e0\u53ca\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7684\u5de5\u4f5c\u4eba\u5458\u3002\n\u9f99\u82af\u5f00\u6e90\u793e\u533a\u4e8e 2023 \u5e74 10 \u6708\u5373",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/2",className:"link--overseas",children:"\u5173\u6ce8\u4e86"}),"\u6b64\u4e8b\uff0c\n\u547c\u5401\u7ef4\u62a4\u4e00\u5957\u516c\u5171\u7684 Chromium \u8865\u4e01\u96c6\uff1b\u4f46\u9650\u4e8e\u4eba\u529b\uff0c\u5f53\u65f6\u672a\u6709\u56de\u5e94\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u597d\u5728\u65b0\u7684\u4e00\u5e74\uff0c\u52c7\u58eb\u4eec\u7ec8\u7a76\u7ad9\u4e86\u51fa\u6765\uff1a\n\u57fa\u4e8e ",(0,l.jsx)(s.a,{href:"https://github.com/prcups",className:"link--overseas",children:"SignKirigami"}),"\n",(0,l.jsx)(s.a,{href:"https://github.com/prcups/qt6-webengine-loongarchlinux",className:"link--overseas",children:"\u5236\u4f5c\u7684"}),"\nQt6 WebEngine \u8865\u4e01\u96c6\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/jiegec",className:"link--overseas",children:"\u6770\u54e5"}),"\u5b8c\u6210\u4e86\u5b8c\u6574\nChromium \u7684\u6784\u5efa\u4e0e\u6d4b\u8bd5\u5de5\u4f5c\uff0c\u6210\u679c\u5df2\u5728\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09\u7ec4\u7ec7\u4e0b",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/chromium-loongarch64",className:"link--overseas",children:"\u516c\u5f00\u4e86"}),"\u3002"]}),"\n",(0,l.jsx)(s.h3,{id:"openssl",children:"OpenSSL"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/xry111",className:"link--overseas",children:"xry111"})," ",(0,l.jsx)(s.a,{href:"https://github.com/openssl/openssl/pull/23301",className:"link--overseas",children:"\u4fee\u590d\u4e86"}),"\u81ea\u5df1\u4e4b\u524d\u91cd\u6784\u4ee3\u7801\u65f6\u7684\u4e00\u5904\u4e0d\u5c0f\u5fc3\uff0c\n\u6b64 bug \u6709\u53ef\u80fd\u5bfc\u81f4 ChaCha20 \u7b97\u6cd5\u7684 SIMD \u4f18\u5316\u7248\u672c\u6c38\u8fdc\u8dd1\u4e0d\u5230 ","\ud83e\udd21","\u3002"]}),"\n",(0,l.jsxs)(s.h2,{id:"grins",children:["\u793e\u533a\u6574\u6d3b",(0,l.jsx)(s.small,{children:"\u513f"})]}),"\n",(0,l.jsxs)(s.p,{children:["\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch\xae \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b",(0,l.jsx)(s.small,{children:"\u513f"}),"\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Xinmudotmoe",className:"link--overseas",children:"Xinmudotmoe"})," \u5728\u9f99\u82af\u56fa\u4ef6\u56e2\u961f\u672a\u63d0\u4f9b\u76f8\u5e94\u652f\u6301\u7684\u60c5\u51b5\u4e0b\uff0c\u81ea\u5df1\u52a8\u624b\u4e30\u8863\u8db3\u98df\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/loongson/Firmware/issues/80#issuecomment-1903111698",className:"link--overseas",children:"\u624b\u5de5\u79fb\u9664\u4e86"}),"\n3C5000 \u5de5\u4f5c\u7ad9\u4e3b\u677f\u56fa\u4ef6\u4e2d\u6240\u6709\u4e0e\u663e\u793a\u76f8\u5173\u7684\u6a21\u5757\uff0c\u7ec8\u4e8e\u80fd\u5728 3C5000 \u5de5\u4f5c\u7ad9\u4e0a\u4f7f\u7528\u8fd1\u5e74\u7684 AMD \u663e\u5361\u4e86\u3002\n\u4f46 ","t\u0101"," ",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/areweloongyet/issues/16#issuecomment-1903435237",className:"link--overseas",children:"\u8b66\u544a\u8bf4"}),"\u8fd9\u6837\u505a\u8981\u4ed8\u51fa\u5f88\u5927\u4ee3\u4ef7\uff08\u539f\u6587\u7ecf\u8fc7\u4e86\u4e9b\u8bb8\u7f16\u8f91\uff09\uff1a"]}),"\n",(0,l.jsxs)(s.admonition,{title:"\u8b66\u544a",type:"warning",children:[(0,l.jsx)(s.p,{children:"\u8fd9\u79cd\u65b9\u5f0f\u6709\u4e00\u4e9b\u5df2\u77e5\u95ee\u9898\u3002"}),(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"\u4e0d\u540c\u4e8e 3A6000 \u56fa\u4ef6\u4e2d\u5b98\u65b9\u63d0\u4f9b\u7684\u5173\u95ed x86emu \u529f\u80fd\uff0c\u6b64\u65b9\u5f0f\u540c\u65f6\u4f7f\u56fa\u4ef6\u5931\u53bb\u70b9\u4eae\u5c4f\u5e55\u7684\u80fd\u529b\uff083A6000 \u56fa\u4ef6\u4e0b\u5173\u95ed x86emu \u540e\uff0c\u4ecd\u53ef\u901a\u8fc7\u677f\u8f7d\u663e\u5361\u770b\u5230\u56fa\u4ef6\u914d\u7f6e\u9009\u9879\uff09\u3002\n\u4f46\u4fee\u6539\u540e\u4ecd\u53ef\u901a\u8fc7\u4e32\u53e3\u914d\u7f6e\u56fa\u4ef6\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u4e0d\u80fd\u5728\u63d2\u5165 BMC \u7684\u60c5\u51b5\u4e0b\u542f\u52a8\uff0c\u5426\u5219\u8702\u9e23\u5668\u4f1a\u957f\u9e23\uff0c\u65e0\u6cd5\u542f\u52a8\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u4e0d\u80fd\u901a\u8fc7 BMC \u5237\u5165\u4fee\u6539\u540e\u7684\u56fa\u4ef6\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7 BMC \u6062\u590d\u4e3a\u539f\u7248\u56fa\u4ef6\u3002"}),"\n"]}),(0,l.jsx)(s.p,{children:"\u9274\u4e8e\u6b64\uff0c\u8f83\u300c\u732e\u796d\u6d41\u300d\u800c\u8a00\uff0c\u672c\u65b9\u6848\u98ce\u9669\u53ef\u80fd\u5927\u4e8e\u6536\u76ca\u3002"})]}),"\n",(0,l.jsxs)(s.p,{children:["\u540c\u65f6\uff0c\u7ecf\u8fc7 ","t\u0101"," \u7684\u6d4b\u8bd5\uff0c3C5000 \u8d85\u9891\u540e\u53ef\u4ee5\u7a33\u5b9a\u5728\u5168\u6838 2.5GHz\uff0c\u5e76",(0,l.jsx)(s.a,{href:"https://openbenchmarking.org/result/2401037-NE-COREMARK311",className:"link--overseas",children:"\u8dd1\u4e86"}),"\nCoreMark\u3002\n\u8d85\u9891\u540e\u7684\u591a\u6838\u5206\u6570\u5927\u7ea6\u662f 3A5000 \u7684 4 \u500d\uff0c3A6000 \u7684 2 \u500d\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Kiri2002",className:"link--overseas",children:"Kiri2002"})," ",(0,l.jsx)(s.a,{href:"https://bbs.loongarch.org/d/357",className:"link--overseas",children:"\u6b63\u5728\u63a8\u8fdb"}),"\u5c06 Arch Linux \u4e2d\u6587\u793e\u533a\uff08archlinuxcn\uff09\n\u7ef4\u62a4\u7684\u8f6f\u4ef6\u5305\u5728 Loong Arch Linux \u4e0a\u6253\u5305\u7684\u5de5\u4f5c\u3002"]}),"\n",(0,l.jsx)(s.h2,{id:"bulletin",children:"\u5f20\u8d34\u680f"}),"\n",(0,l.jsx)(s.p,{children:"\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["\u53cb\u60c5\u6269\u6563\uff1a",(0,l.jsx)(s.a,{href:"https://aosc.io",className:"link--overseas",children:"\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09"}),"\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u5df2\u63a5\u8fd1\u5c3e\u58f0\uff0c\n\u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\n\u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002"]}),"\n",(0,l.jsxs)(s.li,{children:["\u672c\u5468\u62a5",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/areweloongyet/issues/16",className:"link--overseas",children:"\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f"}),"\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01"]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)}},1151:(e,s,n)=>{n.d(s,{Z:()=>h,a:()=>c});var l=n(7294);const i={},r=l.createContext(i);function c(e){const s=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),l.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[1519],{4541:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>r,metadata:()=>h,toc:()=>o});var l=n(5893),i=n(1151);const r={slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:new Date("2024-01-23T19:20:00.000Z"),tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},c=void 0,h={permalink:"/newsletter/these-weeks-in-loongarch-33",editUrl:"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",source:"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",description:"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01",date:"2024-01-23T19:20:00.000Z",formattedDate:"2024\u5e741\u670823\u65e5",tags:[{label:"\u6bcf\u5468\u4e00\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{label:"\u6bcf\u5468\u4e24\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],readingTime:12.405,hasTruncateMarker:!0,authors:[{name:"WANG Xuerui",title:"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684",url:"https://github.com/xen0n",imageURL:"https://github.com/xen0n.png",key:"xen0n"}],frontMatter:{slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:"2024-01-23T19:20:00.000Z",tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},unlisted:!1,nextItem:{title:"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f",permalink:"/newsletter/this-week-in-loongarch-32"}},a={authorsImageUrls:[void 0]},o=[{value:"\u5148\u300c\u9a6c\u300d\u518d\u770b",id:"marked-projects",level:2},{value:"Linux",id:"linux",level:3},{value:"\u5de5\u5177\u94fe",id:"toolchain",level:3},{value:"ABI",id:"abi",level:4},{value:"binutils",id:"binutils",level:4},{value:"GCC",id:"gcc",level:4},{value:"LLVM",id:"llvm",level:4},{value:"\u6742\u95fb\u64ad\u62a5",id:"assorted-news",level:2},{value:"libLoL \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347",id:"liblol",level:3},{value:"\u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e ftint \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a",id:"ftint-edge-cases",level:3},{value:"\u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528",id:"chromium-patchset",level:3},{value:"OpenSSL",id:"openssl",level:3},{value:"\u793e\u533a\u6574\u6d3b",id:"grins",level:2},{value:"\u5f20\u8d34\u680f",id:"bulletin",level:2}];function t(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",small:"small",ul:"ul",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s.p,{children:["\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch\xae \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca ",(0,l.jsx)(s.code,{children:"libLoL"}),"\u3002\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01"]}),"\n",(0,l.jsxs)(s.p,{children:["\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468\u73b0\u5b9e\u751f\u6d3b\u7e41\u5fd9\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e09\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 1 \u6708 23 \u65e5\uff1a\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c",(0,l.jsx)(s.a,{href:"https://github.com/facebook/docusaurus/issues/4881",className:"link--overseas",children:"\u5bfc\u81f4\u7684"}),"\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002"]}),"\n",(0,l.jsx)(s.p,{children:"\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002"}),"\n",(0,l.jsx)(s.h2,{id:"marked-projects",children:"\u5148\u300c\u9a6c\u300d\u518d\u770b"}),"\n",(0,l.jsx)(s.p,{children:"\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch\xae \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002"}),"\n",(0,l.jsx)(s.h3,{id:"linux",children:"Linux"}),"\n",(0,l.jsxs)(s.p,{children:["Linux 6.8 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u5173\u95ed\uff0cv6.8-rc1 \u5df2\u7ecf\u53d1\u5e03\u3002\u6839\u636e Huacai Chen \u7684\n",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/",className:"link--overseas",children:"KVM PR"}),"\n\u4e0e",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20240119110700.335741-1-chenhuacai@loongson.cn/",className:"link--overseas",children:"\u67b6\u6784 PR"}),"\uff0c\n\u672c\u5468\u671f\u7684 LoongArch \u53d8\u66f4\u4e3b\u8981\u6709\uff1a"]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"\u62ac\u5347\u4e86 LLVM/Clang \u7684\u6700\u4f4e\u652f\u6301\u7248\u672c\u5230 18\uff0c\u5e76\u652f\u6301 Rust \u8bed\u8a00\uff08WANG Rui\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u5185\u7f6e\u4e86\u9f99\u82af 2K \u7cfb\u5217 SoC \u7684\u8bbe\u5907\u6811\uff08Binbin Zhou\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"BPF JIT \u4f18\u5316\u4e0e\u4fee\u590d\uff08Hengqi Chen\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u652f\u6301\u5904\u7406 UEFI ESRT \u8868\u683c\uff0c\u4e3a\u7cfb\u7edf\u5185\u7684\u56fa\u4ef6\u5347\u7ea7\u65b9\u6848\u5982 fwupd \u505a\u51c6\u5907\uff08Huacai Chen\uff09\u3002"}),"\n",(0,l.jsxs)(s.li,{children:["\u4f7f\u7528\u516c\u5171\u8bbe\u65bd\u5b9e\u73b0\u4e86 ",(0,l.jsx)(s.code,{children:"crashkernel"})," \u5185\u6838\u53c2\u6570\uff08Youling Tang\uff09\u3002"]}),"\n",(0,l.jsxs)(s.li,{children:["\u4fee\u590d\u4e86 ",(0,l.jsx)(s.code,{children:"execve"})," \u540e\u7684 FCSR \u521d\u59cb\u5316\u95ee\u9898\uff08Xi Ruoyao\uff09\u3002"]}),"\n",(0,l.jsx)(s.li,{children:"\u5b8c\u5584\u4e86 KVM \u5185\u5b58\u7ba1\u7406\u4e0e\u5b9a\u65f6\u5668\u6a21\u62df\uff08Bibo Mao\uff09\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u652f\u6301\u5728 KVM \u865a\u62df\u673a\u4e2d\u4f7f\u7528 LSX\u3001LASX \u4e86\uff08Tianrui Zhao\uff09\u3002"}),"\n"]}),"\n",(0,l.jsxs)(s.p,{children:["\u4e0d\u5de7\u7684\u662f\uff0c\u5408\u5e76 LoongArch KVM \u76f8\u5173\u4fee\u6539\u65f6",(0,l.jsx)(s.a,{href:"https://lore.kernel.org/loongarch/20240120114412.2208a8c1@canb.auug.org.au/",className:"link--overseas",children:"\u6f0f\u6389\u4e86"}),"\u4e00\u4e2a\u4fee\u590d\u6784\u5efa\u9519\u8bef\u7684\u8865\u4e01\u3002\n\u8fd9\u662f\u9488\u5bf9 KVM \u5206\u652f\u7684\u4ee3\u7801\u91cd\u6784\u7684\u8ddf\u8fdb\uff0c\u4f46\u7531\u4e8e\u53cc\u65b9\u5206\u652f\u57fa\u7840\u4e0d\u540c\uff0c\u56e0\u800c\u9700\u8981 Linus \u5728\u5408\u5e76\u65f6\u624b\u5de5\u64cd\u4f5c\uff1b\u6ca1\u6709\u4eba\u63d0\u9192\u81ea\u7136\u5c31\u4e0d\u4f1a\u64cd\u4f5c\u3002\n\u76ee\u524d\u5982\u679c\u8981\u7f16\u8bd1\u4e3b\u7ebf\u5185\u6838\uff0c\u9700\u8981\u6253\u4e0a\u8be5\u8865\u4e01\uff0c\u6216\u8005\u7981\u7528 KVM \u529f\u80fd\u3002\n\u4e0d\u8fc7\u5728\u76ee\u524d\u7684\u4ed3\u5e93\u72b6\u6001\u4e0b\uff0c\u8be5\u8865\u4e01\u5df2\u7ecf\u53ef\u4ee5\u76f4\u63a5\u6253\u4e0a\u4e86\uff1b\u56e0\u6b64\u6b64\u95ee\u9898\u9884\u8ba1\u5c06\u5f88\u5feb\u5728\u4e3b\u7ebf\u4fee\u590d\u3002"]}),"\n",(0,l.jsx)(s.h3,{id:"toolchain",children:"\u5de5\u5177\u94fe"}),"\n",(0,l.jsx)(s.h4,{id:"abi",children:"ABI"}),"\n",(0,l.jsxs)(s.p,{children:["1 \u6708 10 \u65e5\uff0c\u9f99\u82af\u7f16\u8bd1\u5668\u56e2\u961f",(0,l.jsx)(s.a,{href:"https://github.com/loongson/gcc/issues/114",className:"link--overseas",children:"\u8d34\u51fa\u4e86"}),"\u4e00\u4efd\u8c03\u7528\u7ea6\u5b9a\u6269\u5c55\u7684\u8349\u7a3f\uff0c\u8be5\u6269\u5c55\u5141\u8bb8\u901a\u8fc7\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u3002\n\u8fd9\u6837\u505a\u53ef\u4ee5\u51cf\u5c11\u5185\u5b58\u8bbf\u95ee\uff0c\u8fdb\u800c\u63d0\u5347\u6027\u80fd\uff1b\u4f46\u4e5f\u6709\u517c\u5bb9\u6027\u3001\u4ee5\u53ca\u4e0e\u9075\u5faa\u73b0\u6709\u8c03\u7528\u7ea6\u5b9a\u7684\u5b58\u91cf\u4ee3\u7801\u7684\u4e92\u64cd\u4f5c\u6027\u7b49\u65b9\u9762\u7684\u62c5\u5fe7\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u5de5\u5355",(0,l.jsx)(s.a,{href:"https://github.com/loongson/gcc/pull/113",className:"link--overseas",children:"\u968f\u9644\u4e86"}),"\u9f99\u82af\u56e2\u961f\u505a\u7684\u539f\u578b\u5b9e\u73b0\uff1a\n\u8bf7\u5728\u610f\u6280\u672f\u7ec6\u8282\u7684\u540c\u5b66\u4eec\u5173\u6ce8\uff0c\u4ee5\u6c42\u5c06\u5927\u6982\u7387\u4f1a\u5b58\u5728\u7684\u95ee\u9898\u5c3d\u65e9\u66b4\u9732\u3001\u4fee\u590d\u3002\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01"]}),"\n",(0,l.jsx)(s.h4,{id:"binutils",children:"binutils"}),"\n",(0,l.jsxs)(s.p,{children:["GNU Binutils 2.42 \u5206\u652f\u5df2\u4e8e 1 \u6708 15 \u65e5",(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131859.html",className:"link--overseas",children:"\u5207\u51fa"}),"\uff0c\n\u7406\u60f3\u72b6\u51b5\u4e0b\uff0c\u5c06\u4e8e\u5206\u652f\u7ba1\u7406\u5458\u65f6\u533a\u7684 1 \u6708 29 \u65e5\u53d1\u5e03\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/xry111",className:"link--overseas",children:"Xi Ruoyao"})," \u8d76\u5728\u6b63\u5f0f\u53d1\u5e03\u524d\u505a\u4e86\u4e9b\u5de5\u4f5c\uff1a"]}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["\u6309\u7167 LoongArch ABI v2.30 ",(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131871.html",className:"link--overseas",children:"\u8c03\u6574\u4e86"}),"\u82e5\u5e72\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7c7b\u578b\u7684\u8bed\u4e49\uff0c"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/131975.html",className:"link--overseas",children:"\u4fee\u4e86"}),"\u6d4b\u8bd5\uff0c"]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.a,{href:"https://sourceware.org/pipermail/binutils/2024-January/132050.html",className:"link--overseas",children:"\u6574\u7406\u4e86"})," 2.42 \u7248\u672c\u7684 LoongArch \u53d8\u66f4\u5185\u5bb9\u6587\u6863\u3002"]}),"\n"]}),"\n",(0,l.jsx)(s.h4,{id:"gcc",children:"GCC"}),"\n",(0,l.jsxs)(s.p,{children:["Lulu Cheng \u8ba9 GCC \u5728\u4f7f\u7528 ",(0,l.jsx)(s.code,{children:"extreme"})," \u4ee3\u7801\u6a21\u578b\u65f6\uff0c",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641865.html",className:"link--overseas",children:"\u4f7f\u7528"}),"\u5b8f\u6307\u4ee4\u751f\u6210\u7b26\u53f7\u5730\u5740\uff0c\n\u4f46 [Xi Ruoyao] ",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641919.html",className:"link--overseas",children:"\u8ba4\u4e3a"}),"\u5e94\u8be5\u6362\u4e00\u79cd\u505a\u6cd5\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Lulu Cheng \u8fd8\u5c06 GOT\uff08\u5168\u5c40\u504f\u79fb\u8868\uff09\u8bb0\u5f55",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642896.html",className:"link--overseas",children:"\u6807\u8bb0\u4e3a\u4e86"}),"\u53ea\u8bfb\u3002\n\u8fd9\u53ef\u80fd\u4f1a\u5141\u8bb8\u66f4\u591a\u4f18\u5316\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Xi Ruoyao ",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/PR113418",className:"link--overseas",children:"\u53d1\u73b0\u4e86"})," GCC \u5411\u91cf\u6d4b\u8bd5\u5957\u4ef6\u672c\u8eab\u7684\u4e00\u4e9b\u95ee\u9898\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["Xi Ruoyao \u8fd8",(0,l.jsx)(s.a,{href:"https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643644.html",className:"link--overseas",children:"\u9002\u914d\u4e86"})," TLS LD/GD relaxation\u3002"]}),"\n",(0,l.jsx)(s.h4,{id:"llvm",children:"LLVM"}),"\n",(0,l.jsx)(s.p,{children:"LLVM 18 \u7684\u4ee3\u7801\u5c06\u4e8e\u4e2d\u56fd\u65f6\u95f4 1 \u6708 24 \u65e5\u51bb\u7ed3\u3002"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/wangleiat",className:"link--overseas",children:"wangleiat"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78943",className:"link--overseas",children:"\u65b0\u589e\u4e86"}),"\u76ee\u6807\u7279\u6027\uff08target feature\uff09",(0,l.jsx)(s.code,{children:"auto-vec"}),"\uff0c\n\u7528\u4ee5\u63a7\u5236\u662f\u5426\u8fdb\u884c\u81ea\u52a8\u5411\u91cf\u5316\u3002\n\u76ee\u524d\u6b64\u7279\u6027\u9ed8\u8ba4\u5173\u95ed\uff0c\u56e0\u4e3a\u4ecd\u9700\u4e00\u4e9b\u5de5\u4f5c\u91cf\u624d\u80fd\u786e\u4fdd\u5b9e\u9645\u63d0\u5347\u6027\u80fd\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/yjijd",className:"link--overseas",children:"yjijd"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78924",className:"link--overseas",children:"\u5b9e\u73b0\u4e86"}),"\u5411\u91cf\u7c7b\u578b\u7684\u6574\u6570\u8f6c\u6d6e\u70b9\u6570\u64cd\u4f5c\uff1a\n\u5373 LLVM IR \u7684 ",(0,l.jsx)(s.code,{children:"sitofp"})," \u4e0e ",(0,l.jsx)(s.code,{children:"uitofp"})," \u64cd\u4f5c\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Ami-zhang",className:"link--overseas",children:"Ami-zhang"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78238",className:"link--overseas",children:"\u589e\u52a0\u4e86"})," LoongArch\nv1.10 \u7684\u65b0\u589e\u6307\u4ee4\u652f\u6301\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Ami-zhang",className:"link--overseas",children:"Ami-zhang"})," \u8fd8",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/78962",className:"link--overseas",children:"\u65b0\u589e\u4e86"}),"\u76ee\u6807\u7279\u6027 ",(0,l.jsx)(s.code,{children:"frecipe"}),"\uff0c\n\u4ee5\u53ca\u76f8\u5e94\u7684 Clang intrinsics\uff0c\u4ee5\u4fbf\u5f00\u53d1\u8005\u63a7\u5236 LoongArch v1.10 \u7684\u6d6e\u70b9\u8fd1\u4f3c\u53d6\u5012\u6570\u7b49\u64cd\u4f5c\u7684\u4f7f\u7528\u4e0e\u5426\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/MQ-mengqing",className:"link--overseas",children:"MQ-mengqing"})," ",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/77728",className:"link--overseas",children:"\u5b8c\u5584\u4e86"}),"\u5f00\u542f\nlinker relaxation \u60c5\u51b5\u4e0b\u7684 DWARF \u8c03\u8bd5\u4fe1\u606f\u5904\u7406\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/MQ-mengqing",className:"link--overseas",children:"MQ-mengqing"})," \u8fd8\u6839\u636e\u6700\u65b0 LoongArch ELF psABI\n",(0,l.jsx)(s.a,{href:"https://github.com/llvm/llvm-project/pull/72962",className:"link--overseas",children:"\u5904\u7406\u4e86"}),"\u6c47\u7f16\u5668\u5bf9\u9f50\u6307\u793a\u3002\n\u622a\u81f3\u53d1\u7a3f\uff0c\u6b64 PR \u4ecd\u7136\u6ca1\u6709\u5408\u5e76\uff1b\u4e0d\u8fc7\u5df2\u7ecf\u901a\u8fc7\u4ee3\u7801\u5ba1\u67e5\uff0c\u56e0\u6b64\u8d76\u4e0a LLVM 18 \u5e94\u8be5\u95ee\u9898\u4e0d\u5927\u3002"]}),"\n",(0,l.jsx)(s.h2,{id:"assorted-news",children:"\u6742\u95fb\u64ad\u62a5"}),"\n",(0,l.jsxs)(s.h3,{id:"liblol",children:[(0,l.jsx)(s.code,{children:"libLoL"})," \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347"]}),"\n",(0,l.jsxs)(s.p,{children:["1 \u6708 19 \u65e5\uff0c\u4ee5 0.1.0 \u7248\u672c\u7684\u53d1\u5e03\u4e3a\u6807\u5fd7\uff0c",(0,l.jsx)(s.code,{children:"libLoL"})," \u5df2\u8f6c\u5411\u5171\u4eab sysroot \u7684\uff0c\u4ec5\u5728 libc\n\u5c42\u9762\u5904\u7406\u7b26\u53f7\u7248\u672c\u95ee\u9898\u7684\u65b9\u6848\uff0c\u800c\u4e0d\u518d\u9700\u8981\u4ece\u65e7\u4e16\u754c\u53d1\u884c\u7248\uff08\u5982 Loongnix\uff09\u53d6\u7528\u7cfb\u7edf\u5e93\u3002\n\u8fd9\u6837\u65e2\u8ba9\u517c\u5bb9\u5c42\u7684\u4f53\u79ef\u5f97\u5230\u5927\u5e45\u7f29\u51cf\uff1a\u5b89\u88c5\u5305\u73b0\u5df2\u4e0d\u8db3 1MiB\uff0c\n\u4e5f\u907f\u514d\u4e86\u5148\u524d\u7531\u4e8e\u4f7f\u7528\u5546\u4e1a\u53d1\u884c\u7248\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u800c\u53ef\u80fd\u4e3a\u793e\u533a\u53d1\u884c\u7248\u63d0\u4f9b\u8005\u3001\u7528\u6237\u5e26\u6765\u7684\u6cd5\u5f8b\u98ce\u9669\u3002\n\u66f4\u591a\u6280\u672f\u7ec6\u8282\u8bf7\u89c1 ",(0,l.jsx)(s.code,{children:"libLoL"})," \u7684 ",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/liblol/blob/master/README.zh.md",className:"link--overseas",children:"README \u6587\u6863"}),"\u3002\n\uff08\u672c\u7ad9\u4e0d\u4e45\u4e5f\u5c06\u4e0a\u67b6\u76f8\u5173\u9605\u8bfb\u6750\u6599\u3002\uff09"]}),"\n",(0,l.jsxs)(s.p,{children:["\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c",(0,l.jsx)(s.code,{children:"libLoL"})," \u5df2\u8fed\u4ee3\u81f3 0.1.3 \u7248\u672c\uff1a\u53c8\u4fee\u590d\u4e86\u65e7\u4e16\u754c .NET 8\u3001WPS PDF\u3001\u9489\u9489\u7b49\u5e94\u7528\u6216\u7ec4\u4ef6\u7684\u517c\u5bb9\u6027\u95ee\u9898\u3002\n\u5982\u679c\u60a8\u4f9d\u8d56\u7684\u65e7\u4e16\u754c\u5e94\u7528\u4ecd\u7136\u4e0d\u80fd\u5b8c\u7f8e\u8fd0\u884c\uff0c\u8bf7\u5c06\u95ee\u9898\u62a5\u544a\u5230 ",(0,l.jsx)(s.code,{children:"libLoL"})," \u4e0a\u6e38",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/liblol/issues",className:"link--overseas",children:"\u5de5\u5355\u7cfb\u7edf"}),"\uff0c\n\u4ee5\u4fbf\u5f00\u53d1\u8005\u4eec\u5e2e\u5fd9\u3002"]}),"\n",(0,l.jsxs)(s.h3,{id:"ftint-edge-cases",children:["\u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e ",(0,l.jsx)(s.code,{children:"ftint"})," \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a"]}),"\n",(0,l.jsxs)(s.p,{children:["\u5728\u6d4b\u8bd5\u6b63\u5219\u8868\u8fbe\u5f0f\u5e93 PCRE2 \u65b0\u7248\u7684 LoongArch JIT \u652f\u6301\u65f6\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/xen0n",className:"link--overseas",children:"xen0n"}),"\n",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/36",className:"link--overseas",children:"\u53d1\u73b0"}),"\u4ee3\u7801\u4e2d\u7f3a\u5931\u4e86\u5173\u4e8e\u6d6e\u70b9\u6570\u8f6c\u6574\u6570\u64cd\u4f5c\u5728\nLoongArch \u4e0a\u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a\u7684\u8bb0\u8f7d\u3002\n\u867d\u7136 ",(0,l.jsx)(s.a,{href:"https://github.com/lrzlin",className:"link--overseas",children:"lrzlin"})," \u9a6c\u4e0a",(0,l.jsx)(s.a,{href:"https://github.com/zherczeg/sljit/pull/226",className:"link--overseas",children:"\u505a\u4e86\u5b9e\u9a8c\u5e76\u4fee\u590d\u4e86"}),"\u6b64\u95ee\u9898\uff0c\n\u4f46 ",(0,l.jsx)(s.a,{href:"https://github.com/xry111",className:"link--overseas",children:"xry111"})," \u968f\u5373",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/38",className:"link--overseas",children:"\u6307\u51fa"}),"\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5bf9\u6b64\u672a\u52a0\u8be6\u7ec6\u8bf4\u660e\uff0c\u56e0\u800c\u7406\u8bba\u4e0a\u4ecd\u53ef\u80fd\u5b58\u5728\u884c\u4e3a\u4e0e\u5f53\u4e0b\u5b9e\u9a8c\u7ed3\u679c\u4e0d\u7b26\u7684\u82af\u7247\u3002\n\u793e\u533a\u5df2\u5c06\u6b64\u95ee\u9898\u63d0\u9192\u5230\u9f99\u82af\u5b98\u65b9\uff1a\u6211\u4eec\u6ca1\u6743\u9650\u6539\u300a\u624b\u518c\u300b\uff0c\u53ea\u80fd\u4f60\u4eec\u6765\u4e86\uff01"]}),"\n",(0,l.jsx)(s.h3,{id:"chromium-patchset",children:"\u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528"}),"\n",(0,l.jsxs)(s.p,{children:["Chromium \u6d4f\u89c8\u5668\uff0c\u53ca\u57fa\u4e8e\u5176\u5185\u6838\u7684\u4e00\u4f17\u884d\u751f\u9879\u76ee\u5982 QtWebEngine\u3001Electron \u7b49\u7b49\uff0c\u5df2\u6210\u4e3a\u5f53\u4ee3\u684c\u9762\u3001\u79fb\u52a8\u7aef\u4e0d\u53ef\u6216\u7f3a\u7684\u57fa\u7840\u8bbe\u65bd\u3002\n\u4f46\u7531\u4e8e\u5176\u4ee3\u7801\u89c4\u6a21\u5e9e\u5927\uff0c\u4e14\u6f14\u8fdb\u6781\u4e3a\u8fc5\u901f\u3001\u6fc0\u8fdb\uff0c\u4e00\u76f4\u4ee5\u6765\uff0c\u5982\u4f55\u6301\u7eed\u7ef4\u62a4\u53ef\u7528\u7684 Chromium \u5206\u652f\u8fd9\u4ef6\u4e8b\uff0c\u5bf9\u90a3\u4e9b\u975e x86 \u6216 ARM \u67b6\u6784\u7684\u7cfb\u7edf\u96c6\u6210\u5de5\u4f5c\u8005\u800c\u8a00\uff0c\u90fd\u662f\u4e00\u5757\u5fc3\u75c5\u3002\n\u5373\u4fbf\u300c\u591a\u91d1\u300d\u5982 IBM PowerPC\uff0c\u300c\u7f51\u7ea2\u300d\u5982 RISC-V\uff0c\u4e5f\u53ea\u80fd\u7d27\u8d76\u6162\u8d76\uff0c\u800c\u6682\u672a\u80fd\u8fdb\u5165 Chromium \u4e3b\u7ebf\uff0c\u4ece\u65e5\u5e38\n",(0,l.jsx)(s.code,{children:"git rebase"})," \u89e3\u51b2\u7a81\u7684\u82e6\u6d77\u300c\u4e0a\u5cb8\u300d\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u622a\u81f3\u76ee\u524d\uff0cLoongArch \u4e5f\u5e76\u672a\u5728 Chromium \u4e3b\u7ebf\u5f97\u5230\u5b8c\u6574\u652f\u6301\uff0c\u56e0\u6b64\u4e3a LoongArch \u6253\u5305\u7684\u540c\u5b66\u4eec\u4e5f\u8981\u81ea\u884c\u7ef4\u62a4\u5206\u652f\u3002\n\u9f99\u82af\u516c\u53f8\u5148\u524d\u5373\u51fa\u4e8e\u4e1a\u52a1\u9700\u6c42\uff0c\u9002\u914d\u4e86\u9f99\u82af\u6d4f\u89c8\u5668\u3001Electron \u7b49\u9879\u76ee\uff1b\n\u4f46\u7531\u4e8e\u8ddf\u8fdb\u65b0\u7248\u672c\u4e0d\u53ca\u65f6\u3001\u65e0\u7edf\u4e00\u7684\u8865\u4e01\u5206\u53d1\u6e20\u9053\u7b49\u56e0\u7d20\uff0c\u8fd9\u4e9b\u5de5\u4f5c\u5e76\u672a\u80fd\u60e0\u53ca\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7684\u5de5\u4f5c\u4eba\u5458\u3002\n\u9f99\u82af\u5f00\u6e90\u793e\u533a\u4e8e 2023 \u5e74 10 \u6708\u5373",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/discussions/issues/2",className:"link--overseas",children:"\u5173\u6ce8\u4e86"}),"\u6b64\u4e8b\uff0c\n\u547c\u5401\u7ef4\u62a4\u4e00\u5957\u516c\u5171\u7684 Chromium \u8865\u4e01\u96c6\uff1b\u4f46\u9650\u4e8e\u4eba\u529b\uff0c\u5f53\u65f6\u672a\u6709\u56de\u5e94\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:["\u597d\u5728\u65b0\u7684\u4e00\u5e74\uff0c\u52c7\u58eb\u4eec\u7ec8\u7a76\u7ad9\u4e86\u51fa\u6765\uff1a\n\u57fa\u4e8e ",(0,l.jsx)(s.a,{href:"https://github.com/prcups",className:"link--overseas",children:"SignKirigami"}),"\n",(0,l.jsx)(s.a,{href:"https://github.com/prcups/qt6-webengine-loongarchlinux",className:"link--overseas",children:"\u5236\u4f5c\u7684"}),"\nQt6 WebEngine \u8865\u4e01\u96c6\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/jiegec",className:"link--overseas",children:"\u6770\u54e5"}),"\u5b8c\u6210\u4e86\u5b8c\u6574\nChromium \u7684\u6784\u5efa\u4e0e\u6d4b\u8bd5\u5de5\u4f5c\uff0c\u6210\u679c\u5df2\u5728\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09\u7ec4\u7ec7\u4e0b",(0,l.jsx)(s.a,{href:"https://github.com/AOSC-Dev/chromium-loongarch64",className:"link--overseas",children:"\u516c\u5f00\u4e86"}),"\u3002"]}),"\n",(0,l.jsx)(s.h3,{id:"openssl",children:"OpenSSL"}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/lrzlin",className:"link--overseas",children:"lrzlin"})," ",(0,l.jsx)(s.a,{href:"https://github.com/openssl/openssl/pull/23301",className:"link--overseas",children:"\u4fee\u590d\u4e86"})," xry111\uff08","\ud83e\udd21","\u2014\u2014\u672c\u4eba\u8bed\uff09\u4e4b\u524d\u91cd\u6784\u4ee3\u7801\u65f6\u7684\u4e00\u5904\u4e0d\u5c0f\u5fc3\uff0c\n\u6b64 bug \u6709\u53ef\u80fd\u5bfc\u81f4 ChaCha20 \u7b97\u6cd5\u7684 SIMD \u4f18\u5316\u7248\u672c\u6c38\u8fdc\u8dd1\u4e0d\u5230\u3002"]}),"\n",(0,l.jsxs)(s.h2,{id:"grins",children:["\u793e\u533a\u6574\u6d3b",(0,l.jsx)(s.small,{children:"\u513f"})]}),"\n",(0,l.jsxs)(s.p,{children:["\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch\xae \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b",(0,l.jsx)(s.small,{children:"\u513f"}),"\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Xinmudotmoe",className:"link--overseas",children:"Xinmudotmoe"})," \u5728\u9f99\u82af\u56fa\u4ef6\u56e2\u961f\u672a\u63d0\u4f9b\u76f8\u5e94\u652f\u6301\u7684\u60c5\u51b5\u4e0b\uff0c\u81ea\u5df1\u52a8\u624b\u4e30\u8863\u8db3\u98df\uff0c",(0,l.jsx)(s.a,{href:"https://github.com/loongson/Firmware/issues/80#issuecomment-1903111698",className:"link--overseas",children:"\u624b\u5de5\u79fb\u9664\u4e86"}),"\n3C5000 \u5de5\u4f5c\u7ad9\u4e3b\u677f\u56fa\u4ef6\u4e2d\u6240\u6709\u4e0e\u663e\u793a\u76f8\u5173\u7684\u6a21\u5757\uff0c\u7ec8\u4e8e\u80fd\u5728 3C5000 \u5de5\u4f5c\u7ad9\u4e0a\u4f7f\u7528\u8fd1\u5e74\u7684 AMD \u663e\u5361\u4e86\u3002\n\u4f46 ","t\u0101"," ",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/areweloongyet/issues/16#issuecomment-1903435237",className:"link--overseas",children:"\u8b66\u544a\u8bf4"}),"\u8fd9\u6837\u505a\u8981\u4ed8\u51fa\u5f88\u5927\u4ee3\u4ef7\uff08\u539f\u6587\u7ecf\u8fc7\u4e86\u4e9b\u8bb8\u7f16\u8f91\uff09\uff1a"]}),"\n",(0,l.jsxs)(s.admonition,{title:"\u8b66\u544a",type:"warning",children:[(0,l.jsx)(s.p,{children:"\u8fd9\u79cd\u65b9\u5f0f\u6709\u4e00\u4e9b\u5df2\u77e5\u95ee\u9898\u3002"}),(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"\u4e0d\u540c\u4e8e 3A6000 \u56fa\u4ef6\u4e2d\u5b98\u65b9\u63d0\u4f9b\u7684\u5173\u95ed x86emu \u529f\u80fd\uff0c\u6b64\u65b9\u5f0f\u540c\u65f6\u4f7f\u56fa\u4ef6\u5931\u53bb\u70b9\u4eae\u5c4f\u5e55\u7684\u80fd\u529b\uff083A6000 \u56fa\u4ef6\u4e0b\u5173\u95ed x86emu \u540e\uff0c\u4ecd\u53ef\u901a\u8fc7\u677f\u8f7d\u663e\u5361\u770b\u5230\u56fa\u4ef6\u914d\u7f6e\u9009\u9879\uff09\u3002\n\u4f46\u4fee\u6539\u540e\u4ecd\u53ef\u901a\u8fc7\u4e32\u53e3\u914d\u7f6e\u56fa\u4ef6\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u4e0d\u80fd\u5728\u63d2\u5165 BMC \u7684\u60c5\u51b5\u4e0b\u542f\u52a8\uff0c\u5426\u5219\u8702\u9e23\u5668\u4f1a\u957f\u9e23\uff0c\u65e0\u6cd5\u542f\u52a8\u3002"}),"\n",(0,l.jsx)(s.li,{children:"\u4e0d\u80fd\u901a\u8fc7 BMC \u5237\u5165\u4fee\u6539\u540e\u7684\u56fa\u4ef6\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7 BMC \u6062\u590d\u4e3a\u539f\u7248\u56fa\u4ef6\u3002"}),"\n"]}),(0,l.jsx)(s.p,{children:"\u9274\u4e8e\u6b64\uff0c\u8f83\u300c\u732e\u796d\u6d41\u300d\u800c\u8a00\uff0c\u672c\u65b9\u6848\u98ce\u9669\u53ef\u80fd\u5927\u4e8e\u6536\u76ca\u3002"})]}),"\n",(0,l.jsxs)(s.p,{children:["\u540c\u65f6\uff0c\u7ecf\u8fc7 ","t\u0101"," \u7684\u6d4b\u8bd5\uff0c3C5000 \u8d85\u9891\u540e\u53ef\u4ee5\u7a33\u5b9a\u5728\u5168\u6838 2.5GHz\uff0c\u5e76",(0,l.jsx)(s.a,{href:"https://openbenchmarking.org/result/2401037-NE-COREMARK311",className:"link--overseas",children:"\u8dd1\u4e86"}),"\nCoreMark\u3002\n\u8d85\u9891\u540e\u7684\u591a\u6838\u5206\u6570\u5927\u7ea6\u662f 3A5000 \u7684 4 \u500d\uff0c3A6000 \u7684 2 \u500d\u3002"]}),"\n",(0,l.jsxs)(s.p,{children:[(0,l.jsx)(s.a,{href:"https://github.com/Kiri2002",className:"link--overseas",children:"Kiri2002"})," ",(0,l.jsx)(s.a,{href:"https://bbs.loongarch.org/d/357",className:"link--overseas",children:"\u6b63\u5728\u63a8\u8fdb"}),"\u5c06 Arch Linux \u4e2d\u6587\u793e\u533a\uff08archlinuxcn\uff09\n\u7ef4\u62a4\u7684\u8f6f\u4ef6\u5305\u5728 Loong Arch Linux \u4e0a\u6253\u5305\u7684\u5de5\u4f5c\u3002"]}),"\n",(0,l.jsx)(s.h2,{id:"bulletin",children:"\u5f20\u8d34\u680f"}),"\n",(0,l.jsx)(s.p,{children:"\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:["\u53cb\u60c5\u6269\u6563\uff1a",(0,l.jsx)(s.a,{href:"https://aosc.io",className:"link--overseas",children:"\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09"}),"\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u5df2\u63a5\u8fd1\u5c3e\u58f0\uff0c\n\u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\n\u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002"]}),"\n",(0,l.jsxs)(s.li,{children:["\u672c\u5468\u62a5",(0,l.jsx)(s.a,{href:"https://github.com/loongson-community/areweloongyet/issues/16",className:"link--overseas",children:"\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f"}),"\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01"]}),"\n"]})]})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(t,{...e})}):t(e)}},1151:(e,s,n)=>{n.d(s,{Z:()=>h,a:()=>c});var l=n(7294);const i={},r=l.createContext(i);function c(e){const s=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),l.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/40d66bc8.90226727.js b/assets/js/40d66bc8.3ed97263.js similarity index 97% rename from assets/js/40d66bc8.90226727.js rename to assets/js/40d66bc8.3ed97263.js index 805418c6..4f1a1e93 100644 --- a/assets/js/40d66bc8.90226727.js +++ b/assets/js/40d66bc8.3ed97263.js @@ -1 +1 @@ -"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[8107],{43:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>i});var o=n(5893),r=n(1151);const s={slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:new Date("2024-01-23T19:20:00.000Z"),tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},a=void 0,l={permalink:"/newsletter/these-weeks-in-loongarch-33",editUrl:"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",source:"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",description:"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01",date:"2024-01-23T19:20:00.000Z",formattedDate:"2024\u5e741\u670823\u65e5",tags:[{label:"\u6bcf\u5468\u4e00\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{label:"\u6bcf\u5468\u4e24\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],readingTime:12.395,hasTruncateMarker:!0,authors:[{name:"WANG Xuerui",title:"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684",url:"https://github.com/xen0n",imageURL:"https://github.com/xen0n.png",key:"xen0n"}],frontMatter:{slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:"2024-01-23T19:20:00.000Z",tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},unlisted:!1,nextItem:{title:"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f",permalink:"/newsletter/this-week-in-loongarch-32"}},c={authorsImageUrls:[void 0]},i=[];function u(e){const t={code:"code",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(t.p,{children:["\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch\xae \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca ",(0,o.jsx)(t.code,{children:"libLoL"}),"\u3002\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01"]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>a});var o=n(7294);const r={},s=o.createContext(r);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[8107],{43:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>i});var o=n(5893),r=n(1151);const s={slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:new Date("2024-01-23T19:20:00.000Z"),tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},a=void 0,l={permalink:"/newsletter/these-weeks-in-loongarch-33",editUrl:"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",source:"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",description:"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01",date:"2024-01-23T19:20:00.000Z",formattedDate:"2024\u5e741\u670823\u65e5",tags:[{label:"\u6bcf\u5468\u4e00\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{label:"\u6bcf\u5468\u4e24\u9f99",permalink:"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],readingTime:12.405,hasTruncateMarker:!0,authors:[{name:"WANG Xuerui",title:"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684",url:"https://github.com/xen0n",imageURL:"https://github.com/xen0n.png",key:"xen0n"}],frontMatter:{slug:"these-weeks-in-loongarch-33",title:"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f",authors:["xen0n"],date:"2024-01-23T19:20:00.000Z",tags:["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},unlisted:!1,nextItem:{title:"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f",permalink:"/newsletter/this-week-in-loongarch-32"}},c={authorsImageUrls:[void 0]},i=[];function u(e){const t={code:"code",p:"p",...(0,r.a)(),...e.components};return(0,o.jsxs)(t.p,{children:["\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch\xae \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca ",(0,o.jsx)(t.code,{children:"libLoL"}),"\u3002\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01"]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>a});var o=n(7294);const r={},s=o.createContext(r);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a68796e0.2c649f46.js b/assets/js/a68796e0.2c649f46.js deleted file mode 100644 index 092e2b99..00000000 --- a/assets/js/a68796e0.2c649f46.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[2484],{4790:n=>{n.exports=JSON.parse('{"blogPosts":[{"id":"these-weeks-in-loongarch-33","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-33","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md","source":"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-23T19:20:00.000Z","formattedDate":"2024\u5e741\u670823\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{"label":"\u6bcf\u5468\u4e24\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],"readingTime":12.395,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-33","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","authors":["xen0n"],"date":"2024-01-23T19:20:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},"unlisted":false,"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","permalink":"/newsletter/this-week-in-loongarch-32"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca `libLoL`\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468\u73b0\u5b9e\u751f\u6d3b\u7e41\u5fd9\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e09\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 1 \u6708 23 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nLinux 6.8 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u5173\u95ed\uff0cv6.8-rc1 \u5df2\u7ecf\u53d1\u5e03\u3002\u6839\u636e Huacai Chen \u7684\\n[KVM PR](https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/)\\n\u4e0e[\u67b6\u6784 PR](https://lore.kernel.org/loongarch/20240119110700.335741-1-chenhuacai@loongson.cn/)\uff0c\\n\u672c\u5468\u671f\u7684 LoongArch \u53d8\u66f4\u4e3b\u8981\u6709\uff1a\\n\\n* \u62ac\u5347\u4e86 LLVM/Clang \u7684\u6700\u4f4e\u652f\u6301\u7248\u672c\u5230 18\uff0c\u5e76\u652f\u6301 Rust \u8bed\u8a00\uff08WANG Rui\uff09\u3002\\n* \u5185\u7f6e\u4e86\u9f99\u82af 2K \u7cfb\u5217 SoC \u7684\u8bbe\u5907\u6811\uff08Binbin Zhou\uff09\u3002\\n* BPF JIT \u4f18\u5316\u4e0e\u4fee\u590d\uff08Hengqi Chen\uff09\u3002\\n* \u652f\u6301\u5904\u7406 UEFI ESRT \u8868\u683c\uff0c\u4e3a\u7cfb\u7edf\u5185\u7684\u56fa\u4ef6\u5347\u7ea7\u65b9\u6848\u5982 fwupd \u505a\u51c6\u5907\uff08Huacai Chen\uff09\u3002\\n* \u4f7f\u7528\u516c\u5171\u8bbe\u65bd\u5b9e\u73b0\u4e86 `crashkernel` \u5185\u6838\u53c2\u6570\uff08Youling Tang\uff09\u3002\\n* \u4fee\u590d\u4e86 `execve` \u540e\u7684 FCSR \u521d\u59cb\u5316\u95ee\u9898\uff08Xi Ruoyao\uff09\u3002\\n* \u5b8c\u5584\u4e86 KVM \u5185\u5b58\u7ba1\u7406\u4e0e\u5b9a\u65f6\u5668\u6a21\u62df\uff08Bibo Mao\uff09\u3002\\n* \u652f\u6301\u5728 KVM \u865a\u62df\u673a\u4e2d\u4f7f\u7528 LSX\u3001LASX \u4e86\uff08Tianrui Zhao\uff09\u3002\\n\\n\u4e0d\u5de7\u7684\u662f\uff0c\u5408\u5e76 LoongArch KVM \u76f8\u5173\u4fee\u6539\u65f6[\u6f0f\u6389\u4e86](https://lore.kernel.org/loongarch/20240120114412.2208a8c1@canb.auug.org.au/)\u4e00\u4e2a\u4fee\u590d\u6784\u5efa\u9519\u8bef\u7684\u8865\u4e01\u3002\\n\u8fd9\u662f\u9488\u5bf9 KVM \u5206\u652f\u7684\u4ee3\u7801\u91cd\u6784\u7684\u8ddf\u8fdb\uff0c\u4f46\u7531\u4e8e\u53cc\u65b9\u5206\u652f\u57fa\u7840\u4e0d\u540c\uff0c\u56e0\u800c\u9700\u8981 Linus \u5728\u5408\u5e76\u65f6\u624b\u5de5\u64cd\u4f5c\uff1b\u6ca1\u6709\u4eba\u63d0\u9192\u81ea\u7136\u5c31\u4e0d\u4f1a\u64cd\u4f5c\u3002\\n\u76ee\u524d\u5982\u679c\u8981\u7f16\u8bd1\u4e3b\u7ebf\u5185\u6838\uff0c\u9700\u8981\u6253\u4e0a\u8be5\u8865\u4e01\uff0c\u6216\u8005\u7981\u7528 KVM \u529f\u80fd\u3002\\n\u4e0d\u8fc7\u5728\u76ee\u524d\u7684\u4ed3\u5e93\u72b6\u6001\u4e0b\uff0c\u8be5\u8865\u4e01\u5df2\u7ecf\u53ef\u4ee5\u76f4\u63a5\u6253\u4e0a\u4e86\uff1b\u56e0\u6b64\u6b64\u95ee\u9898\u9884\u8ba1\u5c06\u5f88\u5feb\u5728\u4e3b\u7ebf\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n1 \u6708 10 \u65e5\uff0c\u9f99\u82af\u7f16\u8bd1\u5668\u56e2\u961f[\u8d34\u51fa\u4e86](https://github.com/loongson/gcc/issues/114)\u4e00\u4efd\u8c03\u7528\u7ea6\u5b9a\u6269\u5c55\u7684\u8349\u7a3f\uff0c\u8be5\u6269\u5c55\u5141\u8bb8\u901a\u8fc7\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u3002\\n\u8fd9\u6837\u505a\u53ef\u4ee5\u51cf\u5c11\u5185\u5b58\u8bbf\u95ee\uff0c\u8fdb\u800c\u63d0\u5347\u6027\u80fd\uff1b\u4f46\u4e5f\u6709\u517c\u5bb9\u6027\u3001\u4ee5\u53ca\u4e0e\u9075\u5faa\u73b0\u6709\u8c03\u7528\u7ea6\u5b9a\u7684\u5b58\u91cf\u4ee3\u7801\u7684\u4e92\u64cd\u4f5c\u6027\u7b49\u65b9\u9762\u7684\u62c5\u5fe7\u3002\\n\\n\u5de5\u5355[\u968f\u9644\u4e86](https://github.com/loongson/gcc/pull/113)\u9f99\u82af\u56e2\u961f\u505a\u7684\u539f\u578b\u5b9e\u73b0\uff1a\\n\u8bf7\u5728\u610f\u6280\u672f\u7ec6\u8282\u7684\u540c\u5b66\u4eec\u5173\u6ce8\uff0c\u4ee5\u6c42\u5c06\u5927\u6982\u7387\u4f1a\u5b58\u5728\u7684\u95ee\u9898\u5c3d\u65e9\u66b4\u9732\u3001\u4fee\u590d\u3002\\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01\\n\\n#### binutils {#binutils}\\n\\nGNU Binutils 2.42 \u5206\u652f\u5df2\u4e8e 1 \u6708 15 \u65e5[\u5207\u51fa](https://sourceware.org/pipermail/binutils/2024-January/131859.html)\uff0c\\n\u7406\u60f3\u72b6\u51b5\u4e0b\uff0c\u5c06\u4e8e\u5206\u652f\u7ba1\u7406\u5458\u65f6\u533a\u7684 1 \u6708 29 \u65e5\u53d1\u5e03\u3002\\n\\n[Xi Ruoyao][xry111] \u8d76\u5728\u6b63\u5f0f\u53d1\u5e03\u524d\u505a\u4e86\u4e9b\u5de5\u4f5c\uff1a\\n\\n* \u6309\u7167 LoongArch ABI v2.30 [\u8c03\u6574\u4e86](https://sourceware.org/pipermail/binutils/2024-January/131871.html )\u82e5\u5e72\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7c7b\u578b\u7684\u8bed\u4e49\uff0c\\n* [\u4fee\u4e86](https://sourceware.org/pipermail/binutils/2024-January/131975.html)\u6d4b\u8bd5\uff0c\\n* [\u6574\u7406\u4e86](https://sourceware.org/pipermail/binutils/2024-January/132050.html) 2.42 \u7248\u672c\u7684 LoongArch \u53d8\u66f4\u5185\u5bb9\u6587\u6863\u3002\\n\\n[xry111]: https://github.com/xry111\\n\\n#### GCC {#gcc}\\n\\nLulu Cheng \u8ba9 GCC \u5728\u4f7f\u7528 `extreme` \u4ee3\u7801\u6a21\u578b\u65f6\uff0c[\u4f7f\u7528](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641865.html)\u5b8f\u6307\u4ee4\u751f\u6210\u7b26\u53f7\u5730\u5740\uff0c\\n\u4f46 [Xi Ruoyao] [\u8ba4\u4e3a](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641919.html)\u5e94\u8be5\u6362\u4e00\u79cd\u505a\u6cd5\u3002\\n\\nLulu Cheng \u8fd8\u5c06 GOT\uff08\u5168\u5c40\u504f\u79fb\u8868\uff09\u8bb0\u5f55[\u6807\u8bb0\u4e3a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642896.html)\u53ea\u8bfb\u3002\\n\u8fd9\u53ef\u80fd\u4f1a\u5141\u8bb8\u66f4\u591a\u4f18\u5316\u3002\\n\\nXi Ruoyao [\u53d1\u73b0\u4e86](https://gcc.gnu.org/PR113418) GCC \u5411\u91cf\u6d4b\u8bd5\u5957\u4ef6\u672c\u8eab\u7684\u4e00\u4e9b\u95ee\u9898\u3002\\n\\nXi Ruoyao \u8fd8[\u9002\u914d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643644.html) TLS LD/GD relaxation\u3002\\n\\n#### LLVM {#llvm}\\n\\nLLVM 18 \u7684\u4ee3\u7801\u5c06\u4e8e\u4e2d\u56fd\u65f6\u95f4 1 \u6708 24 \u65e5\u51bb\u7ed3\u3002\\n\\n[wangleiat] [\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/78943)\u76ee\u6807\u7279\u6027\uff08target feature\uff09`auto-vec`\uff0c\\n\u7528\u4ee5\u63a7\u5236\u662f\u5426\u8fdb\u884c\u81ea\u52a8\u5411\u91cf\u5316\u3002\\n\u76ee\u524d\u6b64\u7279\u6027\u9ed8\u8ba4\u5173\u95ed\uff0c\u56e0\u4e3a\u4ecd\u9700\u4e00\u4e9b\u5de5\u4f5c\u91cf\u624d\u80fd\u786e\u4fdd\u5b9e\u9645\u63d0\u5347\u6027\u80fd\u3002\\n\\n[yjijd] [\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/78924)\u5411\u91cf\u7c7b\u578b\u7684\u6574\u6570\u8f6c\u6d6e\u70b9\u6570\u64cd\u4f5c\uff1a\\n\u5373 LLVM IR \u7684 `sitofp` \u4e0e `uitofp` \u64cd\u4f5c\u3002\\n\\n[Ami-zhang] [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/78238) LoongArch\\nv1.10 \u7684\u65b0\u589e\u6307\u4ee4\u652f\u6301\u3002\\n\\n[Ami-zhang] \u8fd8[\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/78962)\u76ee\u6807\u7279\u6027 `frecipe`\uff0c\\n\u4ee5\u53ca\u76f8\u5e94\u7684 Clang intrinsics\uff0c\u4ee5\u4fbf\u5f00\u53d1\u8005\u63a7\u5236 LoongArch v1.10 \u7684\u6d6e\u70b9\u8fd1\u4f3c\u53d6\u5012\u6570\u7b49\u64cd\u4f5c\u7684\u4f7f\u7528\u4e0e\u5426\u3002\\n\\n[MQ-mengqing] [\u5b8c\u5584\u4e86](https://github.com/llvm/llvm-project/pull/77728)\u5f00\u542f\\nlinker relaxation \u60c5\u51b5\u4e0b\u7684 DWARF \u8c03\u8bd5\u4fe1\u606f\u5904\u7406\u3002\\n\\n[MQ-mengqing] \u8fd8\u6839\u636e\u6700\u65b0 LoongArch ELF psABI\\n[\u5904\u7406\u4e86](https://github.com/llvm/llvm-project/pull/72962)\u6c47\u7f16\u5668\u5bf9\u9f50\u6307\u793a\u3002\\n\u622a\u81f3\u53d1\u7a3f\uff0c\u6b64 PR \u4ecd\u7136\u6ca1\u6709\u5408\u5e76\uff1b\u4e0d\u8fc7\u5df2\u7ecf\u901a\u8fc7\u4ee3\u7801\u5ba1\u67e5\uff0c\u56e0\u6b64\u8d76\u4e0a LLVM 18 \u5e94\u8be5\u95ee\u9898\u4e0d\u5927\u3002\\n\\n[Ami-zhang]: https://github.com/Ami-zhang\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n[wangleiat]: https://github.com/wangleiat\\n[yjijd]: https://github.com/yjijd\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### `libLoL` \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347 {#liblol}\\n\\n1 \u6708 19 \u65e5\uff0c\u4ee5 0.1.0 \u7248\u672c\u7684\u53d1\u5e03\u4e3a\u6807\u5fd7\uff0c`libLoL` \u5df2\u8f6c\u5411\u5171\u4eab sysroot \u7684\uff0c\u4ec5\u5728 libc\\n\u5c42\u9762\u5904\u7406\u7b26\u53f7\u7248\u672c\u95ee\u9898\u7684\u65b9\u6848\uff0c\u800c\u4e0d\u518d\u9700\u8981\u4ece\u65e7\u4e16\u754c\u53d1\u884c\u7248\uff08\u5982 Loongnix\uff09\u53d6\u7528\u7cfb\u7edf\u5e93\u3002\\n\u8fd9\u6837\u65e2\u8ba9\u517c\u5bb9\u5c42\u7684\u4f53\u79ef\u5f97\u5230\u5927\u5e45\u7f29\u51cf\uff1a\u5b89\u88c5\u5305\u73b0\u5df2\u4e0d\u8db3 1MiB\uff0c\\n\u4e5f\u907f\u514d\u4e86\u5148\u524d\u7531\u4e8e\u4f7f\u7528\u5546\u4e1a\u53d1\u884c\u7248\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u800c\u53ef\u80fd\u4e3a\u793e\u533a\u53d1\u884c\u7248\u63d0\u4f9b\u8005\u3001\u7528\u6237\u5e26\u6765\u7684\u6cd5\u5f8b\u98ce\u9669\u3002\\n\u66f4\u591a\u6280\u672f\u7ec6\u8282\u8bf7\u89c1 `libLoL` \u7684 [README \u6587\u6863](https://github.com/AOSC-Dev/liblol/blob/master/README.zh.md)\u3002\\n\uff08\u672c\u7ad9\u4e0d\u4e45\u4e5f\u5c06\u4e0a\u67b6\u76f8\u5173\u9605\u8bfb\u6750\u6599\u3002\uff09\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c`libLoL` \u5df2\u8fed\u4ee3\u81f3 0.1.3 \u7248\u672c\uff1a\u53c8\u4fee\u590d\u4e86\u65e7\u4e16\u754c .NET 8\u3001WPS PDF\u3001\u9489\u9489\u7b49\u5e94\u7528\u6216\u7ec4\u4ef6\u7684\u517c\u5bb9\u6027\u95ee\u9898\u3002\\n\u5982\u679c\u60a8\u4f9d\u8d56\u7684\u65e7\u4e16\u754c\u5e94\u7528\u4ecd\u7136\u4e0d\u80fd\u5b8c\u7f8e\u8fd0\u884c\uff0c\u8bf7\u5c06\u95ee\u9898\u62a5\u544a\u5230 `libLoL` \u4e0a\u6e38[\u5de5\u5355\u7cfb\u7edf](https://github.com/AOSC-Dev/liblol/issues)\uff0c\\n\u4ee5\u4fbf\u5f00\u53d1\u8005\u4eec\u5e2e\u5fd9\u3002\\n\\n### \u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e `ftint` \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a {#ftint-edge-cases}\\n\\n\u5728\u6d4b\u8bd5\u6b63\u5219\u8868\u8fbe\u5f0f\u5e93 PCRE2 \u65b0\u7248\u7684 LoongArch JIT \u652f\u6301\u65f6\uff0c[xen0n](https://github.com/xen0n)\\n[\u53d1\u73b0](https://github.com/loongson-community/discussions/issues/36)\u4ee3\u7801\u4e2d\u7f3a\u5931\u4e86\u5173\u4e8e\u6d6e\u70b9\u6570\u8f6c\u6574\u6570\u64cd\u4f5c\u5728\\nLoongArch \u4e0a\u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a\u7684\u8bb0\u8f7d\u3002\\n\u867d\u7136 lrzlin \u9a6c\u4e0a[\u505a\u4e86\u5b9e\u9a8c\u5e76\u4fee\u590d\u4e86](https://github.com/zherczeg/sljit/pull/226)\u6b64\u95ee\u9898\uff0c\\n\u4f46 [xry111] \u968f\u5373[\u6307\u51fa][ftint-issue]\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5bf9\u6b64\u672a\u52a0\u8be6\u7ec6\u8bf4\u660e\uff0c\u56e0\u800c\u7406\u8bba\u4e0a\u4ecd\u53ef\u80fd\u5b58\u5728\u884c\u4e3a\u4e0e\u5f53\u4e0b\u5b9e\u9a8c\u7ed3\u679c\u4e0d\u7b26\u7684\u82af\u7247\u3002\\n\u793e\u533a\u5df2\u5c06\u6b64\u95ee\u9898\u63d0\u9192\u5230\u9f99\u82af\u5b98\u65b9\uff1a\u6211\u4eec\u6ca1\u6743\u9650\u6539\u300a\u624b\u518c\u300b\uff0c\u53ea\u80fd\u4f60\u4eec\u6765\u4e86\uff01\\n\\n[ftint-issue]: https://github.com/loongson-community/discussions/issues/38\\n\\n### \u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528 {#chromium-patchset}\\n\\nChromium \u6d4f\u89c8\u5668\uff0c\u53ca\u57fa\u4e8e\u5176\u5185\u6838\u7684\u4e00\u4f17\u884d\u751f\u9879\u76ee\u5982 QtWebEngine\u3001Electron \u7b49\u7b49\uff0c\u5df2\u6210\u4e3a\u5f53\u4ee3\u684c\u9762\u3001\u79fb\u52a8\u7aef\u4e0d\u53ef\u6216\u7f3a\u7684\u57fa\u7840\u8bbe\u65bd\u3002\\n\u4f46\u7531\u4e8e\u5176\u4ee3\u7801\u89c4\u6a21\u5e9e\u5927\uff0c\u4e14\u6f14\u8fdb\u6781\u4e3a\u8fc5\u901f\u3001\u6fc0\u8fdb\uff0c\u4e00\u76f4\u4ee5\u6765\uff0c\u5982\u4f55\u6301\u7eed\u7ef4\u62a4\u53ef\u7528\u7684 Chromium \u5206\u652f\u8fd9\u4ef6\u4e8b\uff0c\u5bf9\u90a3\u4e9b\u975e x86 \u6216 ARM \u67b6\u6784\u7684\u7cfb\u7edf\u96c6\u6210\u5de5\u4f5c\u8005\u800c\u8a00\uff0c\u90fd\u662f\u4e00\u5757\u5fc3\u75c5\u3002\\n\u5373\u4fbf\u300c\u591a\u91d1\u300d\u5982 IBM PowerPC\uff0c\u300c\u7f51\u7ea2\u300d\u5982 RISC-V\uff0c\u4e5f\u53ea\u80fd\u7d27\u8d76\u6162\u8d76\uff0c\u800c\u6682\u672a\u80fd\u8fdb\u5165 Chromium \u4e3b\u7ebf\uff0c\u4ece\u65e5\u5e38\\n`git rebase` \u89e3\u51b2\u7a81\u7684\u82e6\u6d77\u300c\u4e0a\u5cb8\u300d\u3002\\n\\n\u622a\u81f3\u76ee\u524d\uff0cLoongArch \u4e5f\u5e76\u672a\u5728 Chromium \u4e3b\u7ebf\u5f97\u5230\u5b8c\u6574\u652f\u6301\uff0c\u56e0\u6b64\u4e3a LoongArch \u6253\u5305\u7684\u540c\u5b66\u4eec\u4e5f\u8981\u81ea\u884c\u7ef4\u62a4\u5206\u652f\u3002\\n\u9f99\u82af\u516c\u53f8\u5148\u524d\u5373\u51fa\u4e8e\u4e1a\u52a1\u9700\u6c42\uff0c\u9002\u914d\u4e86\u9f99\u82af\u6d4f\u89c8\u5668\u3001Electron \u7b49\u9879\u76ee\uff1b\\n\u4f46\u7531\u4e8e\u8ddf\u8fdb\u65b0\u7248\u672c\u4e0d\u53ca\u65f6\u3001\u65e0\u7edf\u4e00\u7684\u8865\u4e01\u5206\u53d1\u6e20\u9053\u7b49\u56e0\u7d20\uff0c\u8fd9\u4e9b\u5de5\u4f5c\u5e76\u672a\u80fd\u60e0\u53ca\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7684\u5de5\u4f5c\u4eba\u5458\u3002\\n\u9f99\u82af\u5f00\u6e90\u793e\u533a\u4e8e 2023 \u5e74 10 \u6708\u5373[\u5173\u6ce8\u4e86](https://github.com/loongson-community/discussions/issues/2)\u6b64\u4e8b\uff0c\\n\u547c\u5401\u7ef4\u62a4\u4e00\u5957\u516c\u5171\u7684 Chromium \u8865\u4e01\u96c6\uff1b\u4f46\u9650\u4e8e\u4eba\u529b\uff0c\u5f53\u65f6\u672a\u6709\u56de\u5e94\u3002\\n\\n\u597d\u5728\u65b0\u7684\u4e00\u5e74\uff0c\u52c7\u58eb\u4eec\u7ec8\u7a76\u7ad9\u4e86\u51fa\u6765\uff1a\\n\u57fa\u4e8e [SignKirigami](https://github.com/prcups)\\n[\u5236\u4f5c\u7684](https://github.com/prcups/qt6-webengine-loongarchlinux)\\nQt6 WebEngine \u8865\u4e01\u96c6\uff0c[\u6770\u54e5](https://github.com/jiegec)\u5b8c\u6210\u4e86\u5b8c\u6574\\nChromium \u7684\u6784\u5efa\u4e0e\u6d4b\u8bd5\u5de5\u4f5c\uff0c\u6210\u679c\u5df2\u5728\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09\u7ec4\u7ec7\u4e0b[\u516c\u5f00\u4e86](https://github.com/AOSC-Dev/chromium-loongarch64)\u3002\\n\\n### OpenSSL {#openssl}\\n\\n[xry111] [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/23301)\u81ea\u5df1\u4e4b\u524d\u91cd\u6784\u4ee3\u7801\u65f6\u7684\u4e00\u5904\u4e0d\u5c0f\u5fc3\uff0c\\n\u6b64 bug \u6709\u53ef\u80fd\u5bfc\u81f4 ChaCha20 \u7b97\u6cd5\u7684 SIMD \u4f18\u5316\u7248\u672c\u6c38\u8fdc\u8dd1\u4e0d\u5230 :clown_face:\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[Xinmudotmoe] \u5728\u9f99\u82af\u56fa\u4ef6\u56e2\u961f\u672a\u63d0\u4f9b\u76f8\u5e94\u652f\u6301\u7684\u60c5\u51b5\u4e0b\uff0c\u81ea\u5df1\u52a8\u624b\u4e30\u8863\u8db3\u98df\uff0c[\u624b\u5de5\u79fb\u9664\u4e86](https://github.com/loongson/Firmware/issues/80#issuecomment-1903111698)\\n3C5000 \u5de5\u4f5c\u7ad9\u4e3b\u677f\u56fa\u4ef6\u4e2d\u6240\u6709\u4e0e\u663e\u793a\u76f8\u5173\u7684\u6a21\u5757\uff0c\u7ec8\u4e8e\u80fd\u5728 3C5000 \u5de5\u4f5c\u7ad9\u4e0a\u4f7f\u7528\u8fd1\u5e74\u7684 AMD \u663e\u5361\u4e86\u3002\\n\u4f46 :ta: [\u8b66\u544a\u8bf4](https://github.com/loongson-community/areweloongyet/issues/16#issuecomment-1903435237)\u8fd9\u6837\u505a\u8981\u4ed8\u51fa\u5f88\u5927\u4ee3\u4ef7\uff08\u539f\u6587\u7ecf\u8fc7\u4e86\u4e9b\u8bb8\u7f16\u8f91\uff09\uff1a\\n\\n:::warning \u8b66\u544a\\n\u8fd9\u79cd\u65b9\u5f0f\u6709\u4e00\u4e9b\u5df2\u77e5\u95ee\u9898\u3002\\n\\n* \u4e0d\u540c\u4e8e 3A6000 \u56fa\u4ef6\u4e2d\u5b98\u65b9\u63d0\u4f9b\u7684\u5173\u95ed x86emu \u529f\u80fd\uff0c\u6b64\u65b9\u5f0f\u540c\u65f6\u4f7f\u56fa\u4ef6\u5931\u53bb\u70b9\u4eae\u5c4f\u5e55\u7684\u80fd\u529b\uff083A6000 \u56fa\u4ef6\u4e0b\u5173\u95ed x86emu \u540e\uff0c\u4ecd\u53ef\u901a\u8fc7\u677f\u8f7d\u663e\u5361\u770b\u5230\u56fa\u4ef6\u914d\u7f6e\u9009\u9879\uff09\u3002\\n \u4f46\u4fee\u6539\u540e\u4ecd\u53ef\u901a\u8fc7\u4e32\u53e3\u914d\u7f6e\u56fa\u4ef6\u3002\\n* \u4e0d\u80fd\u5728\u63d2\u5165 BMC \u7684\u60c5\u51b5\u4e0b\u542f\u52a8\uff0c\u5426\u5219\u8702\u9e23\u5668\u4f1a\u957f\u9e23\uff0c\u65e0\u6cd5\u542f\u52a8\u3002\\n* \u4e0d\u80fd\u901a\u8fc7 BMC \u5237\u5165\u4fee\u6539\u540e\u7684\u56fa\u4ef6\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7 BMC \u6062\u590d\u4e3a\u539f\u7248\u56fa\u4ef6\u3002\\n\\n\u9274\u4e8e\u6b64\uff0c\u8f83\u300c\u732e\u796d\u6d41\u300d\u800c\u8a00\uff0c\u672c\u65b9\u6848\u98ce\u9669\u53ef\u80fd\u5927\u4e8e\u6536\u76ca\u3002\\n:::\\n\\n\u540c\u65f6\uff0c\u7ecf\u8fc7 :ta: \u7684\u6d4b\u8bd5\uff0c3C5000 \u8d85\u9891\u540e\u53ef\u4ee5\u7a33\u5b9a\u5728\u5168\u6838 2.5GHz\uff0c\u5e76[\u8dd1\u4e86](https://openbenchmarking.org/result/2401037-NE-COREMARK311)\\nCoreMark\u3002\\n\u8d85\u9891\u540e\u7684\u591a\u6838\u5206\u6570\u5927\u7ea6\u662f 3A5000 \u7684 4 \u500d\uff0c3A6000 \u7684 2 \u500d\u3002\\n\\n[Kiri2002] [\u6b63\u5728\u63a8\u8fdb](https://bbs.loongarch.org/d/357)\u5c06 Arch Linux \u4e2d\u6587\u793e\u533a\uff08archlinuxcn\uff09\\n\u7ef4\u62a4\u7684\u8f6f\u4ef6\u5305\u5728 Loong Arch Linux \u4e0a\u6253\u5305\u7684\u5de5\u4f5c\u3002\\n\\n[Kiri2002]: https://github.com/Kiri2002\\n[Xinmudotmoe]: https://github.com/Xinmudotmoe\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u5df2\u63a5\u8fd1\u5c3e\u58f0\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-32","metadata":{"permalink":"/newsletter/this-week-in-loongarch-32","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-08-this-week-in-loongarch-32.md","source":"@site/newsletter/2024-01-08-this-week-in-loongarch-32.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-08T12:00:00.000Z","formattedDate":"2024\u5e741\u67088\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":9.795,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-32","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","authors":["xen0n"],"date":"2024-01-08T12:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-33"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","permalink":"/newsletter/this-week-in-loongarch-31"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux\u3001GCC\u3001LLVM \u4ee5\u53ca\u8bb8\u591a\u7684\u53d1\u884c\u7248\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\n[heiher] [\u5b8c\u6210\u4e86](https://github.com/ClangBuiltLinux/linux/issues/1884#issuecomment-1879564435)\\nClangBuiltLinux \u7684\u6a21\u5757\uff08`CONFIG_MODULES`\uff09\u652f\u6301\u3002\\n\u81f3\u6b64 LLVM/Clang \u5de5\u5177\u94fe\u5df2\u7ecf\u53ef\u4ee5\u7528\u6765\u6784\u5efa\u5168\u529f\u80fd\u7684 LoongArch Linux \u4e86\u3002\\n\\nheiher \u8fd8\u4e3a Linux \u7684 Rust \u57fa\u7840\u8bbe\u65bd[\u63d0\u4ea4\u4e86](https://lore.kernel.org/rust-for-linux/20240106065941.180796-1-wangrui@loongson.cn/)\\nLoongArch \u652f\u6301\u3002\\n\u5f88\u5feb\u5c31\u53ef\u7528 Rust \u8fd9\u4e00\u65b0\u5174\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e3a LoongArch \u8fd9\u4e00\u65b0\u5174\u67b6\u6784\u505a\u5185\u6838\u3001\u9a71\u52a8\u5f00\u53d1\u4e86\uff01\\n\\nBibo Mao [\u7ee7\u7eed\u4f18\u5316](https://lore.kernel.org/loongarch/20240108064056.232546-1-maobibo@loongson.cn/)\\nLoongArch KVM \u6027\u80fd\uff1a\\n\u4ee5\u534f\u52a9\u865a\u62df\u5316\uff08para-virtualization\uff09\u65b9\u5f0f\uff0c\u901a\u8fc7 `hvcl` \u6307\u4ee4\uff0c\\n\u52a0\u901f\u865a\u62df\u673a\u7684\u5904\u7406\u5668\u95f4\u4e2d\u65ad\uff08inter-processor interrupts\uff0cIPI\uff09\u5904\u7406\u3002\\n\u6539\u8fc7\u4e4b\u540e\uff0c16 \u6838\u7684\u865a\u62df\u673a\u4e2d UnixBench \u591a\u6838\u8dd1\u5206\u8fbe\u5230\u4e86\u7269\u7406\u673a\u60c5\u5f62\u7684 98.8%\uff08\u4f46\u4f5c\u8005\u672a\u7ed9\u51fa\u6539\u8fc7\u4e4b\u524d\u7684\u6027\u80fd\u5f00\u9500\u60c5\u51b5\uff09\u3002\\n\\n
\\n`hvcl` \u662f\u5565\u610f\u601d\uff1f\\n\\n\u4ece\u7528\u6cd5\u4e0a\u770b\uff0c`hvcl` \u662f `HyperVisor CaLl` \u7684\u7f29\u5199\uff0c\u300c\u76d1\u7ba1\u8c03\u7528\u300d\u7684\u610f\u601d\uff1a\u5411\u865a\u62df\u673a\u7ba1\u7406\u5668\uff08VM hypervisor\uff09\u8bf7\u6c42\u4e9b\u4ec0\u4e48\u3002\\n\\n\u8fd9\u6837\u4e00\u6765\uff0c\u53ef\u80fd\u6709\u7684\u8bfb\u8005\u4f1a\u7422\u78e8\u4e86\uff1a\u4e3a\u5565\u4e0d\u50cf `syscall` \u4e00\u6837\uff0c\u53eb\u4e00\u4e2a\u957f\u4e00\u70b9\u4f46\u66f4\u5b8c\u6574\u7684\u540d\u5b57\u5462\uff1f\\n\u4f5c\u4e3a\u4e00\u4e2a\u80fd\u591f\u5bf9\u6700\u5e38\u7528\u6307\u4ee4\u4e4b\u4e00\u5374\u53d6\u5230 `pcaddu12i` \u8fd9\u6837\u957f\u7684\u540d\u5b57\u4fdd\u6301\u5bb9\u5fcd\u7684\u67b6\u6784\uff0c\\n\u663e\u7136 `hypcall` \u8fd9\u79cd\u540d\u5b57\u66f4\u8fbe\u610f\uff0c\u5e76\u4e14\u4e0e\u5e38\u7528\u6307\u4ee4 `syscall` \u98ce\u683c\u4e00\u81f4\u3002\\n\u5b9e\u5219\u4e0d\u7136\uff1a\u5728 `dbcl`\uff08`DeBugger CaLl`\uff0c\u8c03\u8bd5\u5668\u8c03\u7528\uff1b\u7528\u6765\u5c06\u4e0b\u4f4d\u673a CPU \u653e\u5165\u8c03\u8bd5\u6a21\u5f0f\uff09\u4e0e `hvcl` \u4e4b\u95f4\uff0c\\n`syscall` \u53cd\u5012\u6210\u4e86\u300c\u5f02\u7c7b\u300d\uff01\\n\\n\u4e3a\u4e86\u964d\u4f4e\u5b66\u4e60\u8005\u7684\u8bb0\u5fc6\u8d1f\u62c5\uff0c\u7b14\u8005\u4ee5\u4e3a\u547d\u540d\u4e0a\u5982\u679c\u80fd\u505a\u5230\u4e00\u81f4\uff0c\u53ef\u80fd\u66f4\u52a0\u53cb\u597d\uff1a\\n\u8981\u4e48\u5c06 `dbcl` \u4e0e `hvcl` \u6539\u6210\u66f4\u8fbe\u610f\u7684 `dbgcall` \u4e0e `hypcall`\uff0c\\n\u8981\u4e48\u5c06 `syscall` \u6539\u6210\u66f4\u7b80\u7ec3\u7684 `sycl` \u6216 `sscl` \u4e4b\u7c7b\u3002\\n\u8003\u8651\u5230 `syscall` \u662f\u4e2a\u5e38\u89c1\u5355\u8bcd\u4e86\uff0c\u4e0d\u7528\u80cc\uff0c\u90a3\u4e48\u524d\u4e00\u79cd\u6539\u6cd5\u53ef\u80fd\u66f4\u53d7\u6b22\u8fce\u3002\\n\u6c47\u7f16\u4ee3\u7801\u7684\u517c\u5bb9\u6027\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u56e0\u4e3a\u5148\u524d\u7684\u540d\u79f0\u4e00\u65f6\u534a\u4f1a:\u513f:\u4e0d\u4f1a\u88ab\u79fb\u9664\u652f\u6301\u3002\\n\\n
\\n\\n[heiher]: https://github.com/heiher\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### GCC {#gcc}\\n\\nYang Yujie [\u5728\u91cd\u6784](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642084.html)\\nLoongArch \u540e\u7aef\u7684\u547d\u4ee4\u884c\u9009\u9879\u5904\u7406\u903b\u8f91\u3002\\n\\nLulu Cheng [\u4f18\u5316\u6389\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641989.html)\u4f34\u968f\u4e00\u4e9b\u4f4d\u64cd\u4f5c\u7684\u591a\u4f59\u7684\u7b26\u53f7\u6269\u5c55\u64cd\u4f5c\u3002\\n\u8fd9\u5bf9\u6240\u6709\u8f6f\u4ef6\u7684\u4f4d\u64cd\u4f5c\u6027\u80fd\u90fd\u6709\u79ef\u6781\u5f71\u54cd\uff1b\u5728\u8dd1\u5206\u65b9\u9762\uff0c\u4e5f\u5bf9 SPEC2017 \u7684 `500.perlbench` \u7528\u4f8b\u6709 1.8% \u7684\u63d0\u5347\u3002\\n\\nYang Yujie \u4e3a\u4e86\u66f4\u597d\u7684 LTO\uff08\u94fe\u63a5\u65f6\u4f18\u5316\uff09\uff0c\u7ed9 LoongArch \u540e\u7aef[\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641930.html)\u7f16\u8bd1\u9009\u9879\u7684\u4fdd\u5b58\u6062\u590d\u3002\\n\u8fd9\u5c06\u4fee\u590d\u4e0a\u6e38 bug [PR113233](https://gcc.gnu.org/PR113233)\u3002\\n\\nJiahao Xu \u4e3a LA464 [\u907f\u514d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641889.html)\u6267\u884c\\n`xvpermi.q` \u6307\u4ee4\u65f6\u53ef\u80fd\u78b0\u5230\u7684\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\nchenxiaolong \u4e3a\u4e86\u80fd\u7ed9 LoongArch \u6b63\u5e38\u542f\u7528 GCC \u5411\u91cf\u5316\u65b9\u9762\u7684\u516c\u5171\u6d4b\u8bd5\u7528\u4f8b\uff0c[\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641868.html)[\u4e00\u5806](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641878.html)\u5730\u65b9\u3002\\n\\nliwei \u628a LSX \u4e0e LASX \u539f\u5148\u4e0d\u5171\u4eab\u7684\u4e24\u4efd\u5e38\u91cf\u5411\u91cf\u6392\u5217\uff08constant vector permutation\uff09\u5b9e\u73b0\\n[\u7edf\u4e00\u6210\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641477.html)\u4e00\u4efd\u3002\\n\u5728\u51c0\u5220\u9664\u4e86 888 \u884c\u4ee3\u7801\u4e4b\u5916\uff0c\u8dd1\u5206\u8fd8\u63d0\u9ad8\u4e86\u3002\\n\\n#### LLVM {#llvm}\\n\\n[heiher] \u6700\u7ec8\u5b8c\u6210\u4e86\u5468\u62a5\u7b2c 24 \u671f[\u62a5\u9053\u7684](./2023-11-13-this-week-in-loongarch-24.md#llvm) `code_model` \u652f\u6301\u5de5\u4f5c\uff1a\\n\u5408\u5e76\u4e86 [Clang](https://github.com/llvm/llvm-project/pull/72078) \u4e0e\\n[LoongArch \u540e\u7aef](https://github.com/llvm/llvm-project/pull/72079)\u4e24\u90e8\u5206\u7684\u6700\u7ec8\u7248\u672c\u3002\\n\\n\u6765\u81ea\u817e\u8baf\u7684 [DamonFool] \u8d70\u8fc7\u8def\u8fc7\uff0c\u7ed9 LoongArch \u540e\u7aef[\u4fee\u4e86](https://github.com/llvm/llvm-project/commit/52d1397e38ee88b170585c9c824d08e6975890ca)\u4e00\u5904\u975e\u8c03\u8bd5\u914d\u7f6e\u4e0b\u672a\u4f7f\u7528\u7684\u53d8\u91cf\uff08\u5426\u5219\u4f1a\u62a5\u9519\uff09\u3002\\n\\n[wangleiat] [\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/76555)\u66f4\u591a\\nLoongArch psABI v2.30 \u8bed\u4e49\uff1a\\n\u6362\u7528 `pcaddu18i + jirl` \u5b9e\u73b0 `medium` \u4ee3\u7801\u6a21\u578b\u7684\u8fc7\u7a0b\u8c03\u7528\uff0c\\n\u5e76\u786e\u4fdd\u4e86 `extreme` \u4ee3\u7801\u6a21\u578b\u4e0b\u88c5\u8f7d\u7b26\u53f7\u5730\u5740\u64cd\u4f5c\u7684\u6307\u4ee4\u4e00\u5b9a\u76f8\u90bb\u3002\\n\\n[MQ-mengqing] [\u6539\u8fdb\u4e86](https://github.com/llvm/llvm-project/pull/76552)\\nLLVM MC \u5bf9\u4ee3\u7801\u6bb5\u5bf9\u9f50\u7684\u5904\u7406\u65b9\u5f0f\uff0cLoongArch \u548c RISC-V \u90fd\u4ece\u4e2d\u83b7\u76ca\u3002\\n\\n[DamonFool]: https://github.com/DamonFool\\n[wangleiat]: https://github.com/wangleiat\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n[heiher] \u7ed9 Rust \u6700\u5e38\u7528\u7684 JSON \u683c\u5f0f\u652f\u6301\u5e93 `serde_json`\\n[\u6807\u8bb0\u4e86](https://github.com/serde-rs/json/pull/1100)\\nLoongArch \u6700\u9002\u5408\u5927\u6570\u8fd0\u7b97\u7684\u6574\u6570\u7c7b\u578b\u5bbd\u5ea6\u662f 64 \u4f4d\u3002\\n\u4e0a\u6e38\u7ef4\u62a4\u8005\u534a\u5c0f\u65f6\u540e\u5c31\u7ed9\u5408\u5e76\u4e86\uff0c\u4e14\u53d1\u4e86 `1.0.111` \u65b0\u7248\u672c\u3002\\n\u8bf7\u540c\u5b66\u4eec\u6309\u9700 `cargo update` \u4ee5\u67e5\u6536\u8fd9\u90e8\u5206\u514d\u8d39\u6027\u80fd\u63d0\u5347\u3002\\n\\n:::info \u82b1\u7d6e\\n\u8fd9\u5751\u662f xen0n \u5728\u7f16\u8bd1 ripgrep \u65f6\u5019\u767e\u65e0\u804a\u8d56\uff0c\u8eba\u5728\u6905\u5b50\u4e0a\u770b\u5c4f\u5e55\u4e0a\u6eda\u52a8\u7684\u7f16\u8bd1\u8fdb\u5ea6\uff0c\u5076\u7136\u6ce8\u610f\u5230\u7684\u3002\\n\u6709\u65f6\u8eba\u5e73\u653e\u7a7a\u4e5f\u80fd\u521b\u9020\u4ef7\u503c\uff01\\n:::\\n\\n[xen0n] \u5411 gentoo-zh overlay [\u63a8\u5165\u4e86](https://github.com/microcai/gentoo-zh/pull/4109)\\nAOSC OS \u7684 liblol \u65b0\u65e7\u4e16\u754c\u517c\u5bb9\u89e3\u51b3\u65b9\u6848\u6253\u5305\u3002\\n\u6b64 overlay \u5305\u542b\u534e\u8bed\u7528\u6237\u5708\u5b50\u5e38\u7528\u7684\u8bb8\u591a\u8f6f\u4ef6\uff1b\\n\u540e\u7eed Gentoo \u7528\u6237\u4eec\u4e5f\u80fd\u7528\u76f8\u540c\u59ff\u52bf\u5b89\u88c5 WPS Office \u7b49\u65e7\u4e16\u754c\u95ed\u6e90\u8f6f\u4ef6\u4e86\u3002\\n\u4f8b\u5982\uff1a\u53ea\u8981 `emerge wps-office` \u5373\u53ef\u81ea\u52a8\u62c9\u5165 liblol \u53ca\u5176\u5185\u6838\u6a21\u5757\u3002\\n\\n:::info \u6ce8\u610f\u4e8b\u9879\\n\u76ee\u524d liblol \u63d0\u4f9b\u7684\u4f9d\u8d56\u5e93\u4e3b\u8981\u90fd\u6765\u81ea Loongnix®\uff0c\\n\u56e0\u6b64\u5728\u6211\u4eec\u5b8c\u6210\u5ba1\u8ba1\u8fd9\u4e9b\u6765\u81ea Loongnix \u7684\u6587\u4ef6\u7684\u5f00\u6e90\u8bb8\u53ef\u3001\u5e76\u786e\u8ba4\u5176\u4e2d\u4e0d\u542b\u95ed\u6e90\u6216\u4e13\u6709\u5185\u5bb9\u4e4b\u524d\uff0c\\n\u60a8\u90fd\u9700\u8981\u660e\u786e\u63a5\u53d7\u300a\u57fa\u7840\u7248 Loongnix \u64cd\u4f5c\u7cfb\u7edf\u6700\u7ec8\u7528\u6237\u8bb8\u53ef\u534f\u8bae\u300b\uff0c\u624d\u80fd\u5b89\u88c5 liblol\uff1a\\n\\n```\\n# e.g. /etc/portage/package.license/liblol\\napp-emulation/liblol Loongnix-Base-EULA\\n```\\n\\n\u6b64\u5916\uff0c\u9996\u6b21\u5b89\u88c5 `la_ow_syscall` \u5185\u6838\u6a21\u5757\u4e4b\u540e\uff0c\u8be5\u6a21\u5757\u4e0d\u4f1a\u88ab\u81ea\u52a8\u8f7d\u5165\u2014\u2014\u5728 Gentoo\\n\u6211\u4eec\u4e00\u822c\u4e0d\u5e2e\u7528\u6237\u505a\u8fd9\u79cd\u4e8b\uff0c\u800c\u4ee3\u4e4b\u4ee5 `emerge` \u7ed3\u675f\u540e\u7684\u6e29\u99a8\u63d0\u9192\u3002\\n\u5728\u5b89\u88c5\u5b8c liblol \u540e\u3001\u4f7f\u7528\u65e7\u4e16\u754c\u8f6f\u4ef6\u524d\uff0c\\n\u60a8\u53ef\u4ee5\u7b80\u5355\u91cd\u542f\u7cfb\u7edf\uff0c\u6216\u8005\u4ee5 `root` \u8eab\u4efd `modprobe la_ow_syscall`\uff1a\\n\u53ea\u9700\u6267\u884c\u8fd9\u4e00\u6b21\u5373\u53ef\uff0c\u540e\u7eed\u6bcf\u6b21\u7cfb\u7edf\u542f\u52a8\u65f6\u90fd\u4f1a\u81ea\u52a8\u52a0\u8f7d\u4e86\u3002\\n:::\\n\\n
\\n\u81f4\u6253\u5305\u4eba\u4eec\\n\\n\u5bf9\u65e7\u4e16\u754c\u8f6f\u4ef6\u5305\u7684\u6807\u8bb0\u65b9\u5f0f\u662f `RDEPEND` \u4e2d\u7684 `loong? ( virtual/loong-ow-compat )`\\n\u8868\u8fbe\u5f0f\u3002\\n\\n\u9700\u8981\u6ce8\u610f\uff1a\u65e7\u4e16\u754c\u7a0b\u5e8f\u7684\u52a8\u6001\u94fe\u63a5\u4f9d\u8d56\u90fd\u662f\u57fa\u4e8e liblol sysroot\uff08`/opt/lol`\uff09\u89e3\u6790\u7684\uff0c\\n\u800c\u4e0e\u5bbf\u4e3b\u7cfb\u7edf libdir \u65e0\u5173\u3002\\n\u8fd9\u4e0e Gentoo \u5f53\u4e0b\u7684 multilib \u65b9\u6848\u4e0d\u540c\uff0c\u53cd\u5012\u4e0e\u51e0\u5e74\u524d\u7684 `emul-linux-x86-*` \u5927\u5305\u795e\u4f3c\uff1b\\n\u56e0\u6b64\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\uff0c\u610f\u5728\u6ee1\u8db3\u52a8\u6001\u94fe\u63a5\u4f9d\u8d56\u7684 `RDEPEND` \u9879\uff0c\u90fd\u4e0d\u5e94\u5f53\u5bf9 `loong` \u9002\u7528\u3002\\n\\n\u6253\u5305\u4eba\u4eec\u53ef\u53c2\u8003 [WPS Office \u7684\u6253\u5305\u505a\u6cd5](https://github.com/microcai/gentoo-zh/pull/4112)\uff0c\\n\u4e3a\u5176\u4ed6\u65e7\u4e16\u754c\u8f6f\u4ef6\u6253\u5305\u3002\\n\u63d0\u4ea4\u524d\uff0c\u8bb0\u5f97\u7b80\u5355\u6d4b\u4e0b\u8f6f\u4ef6\u529f\u80fd\uff1a\\n\u5982\u679c liblol sysroot \u91cc\u7f3a\u4f9d\u8d56\uff0c\u53ef\u4ee5[\u53bb liblol \u4e0a\u6e38\u62a5\u544a](https://github.com/shankerwangmiao/liblol/issues)\u3002\\n\\n\u540e\u7eed\uff0c\u6b64\u6253\u5305\u5de5\u4f5c\uff08\u5c24\u5176\u662f\u8d77\u5230\u6807\u8bb0\u4f5c\u7528\u7684 virtual \u5305\uff09\u5c06\u8fdb\u4e00\u6b65\u4e0a\u6e38\u81f3 Gentoo \u4e3b\u6e90\uff1b\\n\u8fd9\u5c06\u5728 liblol \u7684 license \u5ba1\u8ba1\u5de5\u4f5c\u5b8c\u6210\u4e4b\u540e\u8fdb\u884c\u3002\\n\\n
\\n\\n[xen0n]: https://github.com/xen0n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u793e\u533a\u65b0\u9762\u5b54 [LiarOnce] \u7ed9 Loong Arch Linux [\u6253\u5305\u4e86](https://github.com/LiarOnce-LoongAL/vscodium-electron-loong64)\u4f7f\u7528\u7cfb\u7edf Electron \u7684\u6700\u65b0\u7248\u672c VSCodium\u3002\\n\\n[LiarOnce]: https://github.com/LiarOnce\\n\\n\u793e\u533a\u65b0\u9762\u5b54 [hackpascal] \u5728 OpenWrt \u4e0a\u6e38[\u8d34\u51fa\u4e86](https://github.com/openwrt/openwrt/pull/14357)\\nLoongArch64 \u7684\u79fb\u690d\uff0c\u4f7f\u7528 Linux 6.6 \u5185\u6838\u3002\\n\u5148\u524d [phorcys] \u5df2\u7ecf[\u7ef4\u62a4\u4e86](https://github.com/phorcys/openwrt-loongarch)\u4e00\u4e2a\\nfork \u6709\u4e00\u6bb5\u65f6\u95f4\uff0c\u4f46\u7b14\u8005\u5370\u8c61\u4e2d :ta: \u4f3c\u4e4e\u65e0\u610f\u5c06\u5176\u4e0a\u6e38\uff1b\u7ed3\u679c\u53c8\u4e00\u540d\u52c7\u58eb\u5c31\u51fa\u73b0\u4e86\u3002\\n\u770b\u8d77\u6765 OpenWrt \u786e\u5b9e\u662f\u73a9\u5bb6\u521a\u9700\uff01\\n\\n[hackpascal]: https://github.com/hackpascal\\n[phorcys]: https://github.com/phorcys\\n\\n\u7fa4\u53cb [amdyes][jiangcuo] \u8fd1\u65e5\u5c06 :ta: [\u7ef4\u62a4\u7684](https://github.com/jiangcuo/Proxmox-Port)\\nProxmox VE\uff08PVE\uff09\u79fb\u690d\u4e0e\u4e0a\u6e38\u6700\u65b0\u7248\u672c\u540c\u6b65\u4e86\uff0c\u652f\u6301 64 \u4f4d\u7684 LoongArch \u4ee5\u53ca ARM\u3001RISC-V \u5e73\u53f0\u3002\\n\u9f99\u67b6\u6784\u7684\u5bb6\u5ead\u6570\u636e\u4e2d\u5fc3\u5e94\u7528\u62fc\u56fe\u773c\u89c1\u5730\u5b8c\u6574\u8d77\u6765\uff01\\n\\n[jiangcuo]: https://github.com/jiangcuo\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-31","metadata":{"permalink":"/newsletter/this-week-in-loongarch-31","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-01-this-week-in-loongarch-31.md","source":"@site/newsletter/2024-01-01-this-week-in-loongarch-31.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-02T15:25:00.000Z","formattedDate":"2024\u5e741\u67082\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.845,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-31","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","authors":["xen0n"],"date":"2024-01-02T15:25:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","permalink":"/newsletter/this-week-in-loongarch-32"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","permalink":"/newsletter/this-week-in-loongarch-30"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux \u548c\u5de5\u5177\u94fe\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u665a\u95f4\uff0c\u56e0\u4e3a\u5468\u4e00\u662f\u5143\u65e6\u5047\u671f\u3002\u65b0\u5e74\u5feb\u4e50 :tada:\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\n[Xi Ruoyao][xry111] [\u67e5\u660e\u5e76\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20240102123706.6099-2-xry111@xry111.site/)\u9f99\u67b6\u6784\u4e0a\\nLinux \u4e00\u76f4\u4ee5\u6765\u7684[\u5076\u73b0\u95ee\u9898](https://github.com/loongson-community/discussions/issues/7)\uff1a\\n\u521b\u5efa\u65b0\u8fdb\u7a0b\u65f6\uff0c\u65b0\u8fdb\u7a0b\u53ef\u80fd\u7ee7\u627f\u5230\u4e0d\u5e72\u51c0\u7684 FCSR\uff08\u6d6e\u70b9\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668\uff09\u5185\u5bb9\uff0c\u5bfc\u81f4\u540e\u7eed\u505a\u6d6e\u70b9\u64cd\u4f5c\u65f6\u8fdf\u65e9\u53d1\u751f\u975e\u9884\u671f\u884c\u4e3a\u751a\u81f3\u5d29\u6e83\u3002\\n\u6b64 bug \u662f\u4ece MIPS \u5185\u6838\u5e26\u6765\u7684\u9057\u4ea7\u3002\u7531\u4e8e MIPS \u7684 FCSR \u521d\u59cb\u5316\u9700\u8981\u8003\u8651\u7a0b\u5e8f\u7684\u6267\u884c\u57df\uff08personality\uff09\uff0cXi Ruoyao \u4e0d\u77e5\u9053\u600e\u4e48\u4fee\uff0c\\n\u6240\u4ee5\u53ea\u80fd[\u62a5\u544a\u4e86](https://lore.kernel.org/linux-mips/7a6aa1bbdbbe2e63ae96ff163fab0349f58f1b9e.camel@xry111.site/)\u8be5\u95ee\u9898\uff0c\\n\u7b49\u5f85 MIPS \u76f8\u5173\u7ef4\u62a4\u8005\u5904\u7406\u3002\\n\\n[xen0n] [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231227070317.1936234-1-kernel@xen0n.name/)\u4f7f\u7528\u6700\u65b0\\nbinutils\u3001gcc \u6784\u5efa\u5185\u6838\u65f6 `modpost` \u4f1a\u5d29\u6e83\u7684\u95ee\u9898\u3002\\n\\n[xry111]: https://github.com/xry111\\n[xen0n]: https://github.com/xen0n\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### binutils {#binutils}\\n\\n\u7531\u5e38\u4f73\u741b\u540c\u5b66\u64cd\u5200\u7684\uff0c\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u5230\u7684](./2023-12-05-this-week-in-loongarch-27/index.md#abi) LoongArch\\nTLS LE relaxation \u7279\u6027\u7684 binutils \u90e8\u5206\uff0c\u6210\u529f\u8fdb\u5165\u4e3b\u7ebf\u4e86\u3002\\n\u8ba9\u6211\u4eec\u795d\u8d3a :ta: \u52a0\u5165\u4e0a\u6e38\u8d21\u732e\u8005\u7684\u884c\u5217 :tada:\uff01\\n\\n#### GCC {#gcc}\\n\\n[Xi Ruoyao][xry111] [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641443.html)\\nxen0n [\u62a5\u544a\u7684][PR113148] bug:\\nXWayland \u7b49\u8f6f\u4ef6\u4e2d\u5b58\u5728\u4e2a\u522b\u5185\u542b\u5927\u91cf\u6d6e\u70b9\u6bd4\u8f83\u64cd\u4f5c\u7684\u51fd\u6570\uff0c\u7f16\u8bd1\u8fd9\u4e9b\u51fd\u6570\u65f6 gcc \u4f1a\u5d29\u6e83\u3002\\n\\n[PR113148]: https://gcc.gnu.org/PR113148\\n\\nXi Ruoyao \u8fd8[\u5141\u8bb8\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641609.html)\u5229\u7528\\n`{,x}vf{min,max}` \u56db\u79cd\u6307\u4ee4\u6765\u5411\u91cf\u5316\u5faa\u73af\u4e2d\u7684\u53d6\u6700\u5927/\u6700\u5c0f\u503c\u64cd\u4f5c\u3002LoongArch \u7684\u8fd9\u56db\u79cd\u6307\u4ee4\u8bbe\u8ba1\u4e0a\u5c31\u7b26\u5408 IEEE 754-2008 \u8bed\u4e49\uff0c\\n\u56e0\u800c\u53ef\u7528\u3002\\n\\n\u5468\u62a5\u7b2c 30 \u671f[\u63d0\u5230\u7684](./2023-12-26-this-week-in-loongarch-30/index.md#gcc)\\nXi Ruoyao \u5f53\u65f6\u300c\u6b63\u5728\u8c03\u6574\u300d\u7684\u8865\u4e01\uff0c\u73b0\u5df2\u5b8c\u6210\u6539\u8fdb\u5de5\u4f5c\uff0c[\u8fdb\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/r14-6863)\u3002\\n\\n\u7531 Lulu Cheng \u5f00\u53d1\u7684\uff0c\u4e0a\u4e00\u8282\u4e2d\u63d0\u5230\u7684 TLS LE relaxation \u7279\u6027\u7684 gcc \u90e8\u5206\uff0c\\n\u4e5f[\u8fdb\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/r14-6879)\u3002\\n\\n#### LLVM {#llvm}\\n\\n[yjijd] \u6309\u7167 LoongArch psABI v2.30\uff0c[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/74990)\u5148\u524d\u4f1a\u7528\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u7684\u95ee\u9898\u3002\\n\\n[wangleiat] \u4fee\u590d\u4e86\u4e00\u7cfb\u5217 SIMD \u4ee3\u7801\u751f\u6210\u4e0a\u7684\u9519\u8bef\uff1a\\n\\n* [`{,x}vbitseli.b` \u7684\u8bef\u7528](https://github.com/llvm/llvm-project/commit/da5378e87e11689d05a58198d6e15e9551916794)\uff0c\\n* [`xvrepl128vei` \u7684\u8bef\u7528](https://github.com/llvm/llvm-project/commit/c7367f985e0d27aeb8bc993406d1b9f4ca307399)\uff0c\u4ee5\u53ca\\n* [`vector_extract` \u5728 LASX \u4e0a\u7684\u9519\u8bef\u7f16\u8bd1\u7ed3\u679c](https://github.com/llvm/llvm-project/commit/47c88bcd5de91522241cca1aaa1b7762ceb01394)\u3002\\n\\nGo \u56e2\u961f\u7684 [abner-chenc] \u548c Xiaolin Zhao \u6765 LLVM \u4e0a\u6e38\u4e32\u95e8\u4e86\uff1a:ta: \u4eec\u7ed9 TSan\\n[\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72819) Go `loong64` \u652f\u6301\u3002\\n\\n[yjijd]: https://github.com/yjijd\\n[wangleiat]: https://github.com/wangleiat\\n[abner-chenc]: https://github.com/abner-chenc\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\nSlackwareloong \u7ef4\u62a4\u8005 [shipujin] \u8bf4\uff1aSlackware \u4e2d\u6587\u793e\u533a\u5728 Slackwareloong LTS 1.0 \u7cfb\u7edf\u4e0b\uff0c\\n\u6210\u529f\u9a8c\u8bc1\u4e86\u6784\u5efa\u3001\u8fd0\u884c KDE Plasma 6 Beta 2 \u7248\u672c\u684c\u9762\u73af\u5883\u3002\\n\u540e\u9762\u4f1a\u628a\u6784\u5efa\u597d\u7684\u76f8\u5173\u8f6f\u4ef6\u5305\u53d1\u5e03\u5230 Slackwareloong \u4e0b\u7684 KDE6 testing \u4ed3\u5e93\u3002\\n\u611f\u8c22 shipujin \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[shipujin]: https://github.com/shipujin\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\nLoongArch \u975e\u5b98\u65b9\u5f00\u6e90\u793e\u533a\uff08LA UOSC\uff09\u7248\u4e3b[\u675c\u6bd4][dbhrscom][\u53d1\u8d77\u4e86](https://bbs.loongarch.org/d/351-lauosc-freebsd-ports)\\nFreeBSD \u79fb\u690d\u9879\u76ee\uff0c\u5de5\u4f5c\u8fdb\u5ea6[\u653e\u5728\u4e86](https://gitee.com/lauosc/freebsd) Gitee \u4e0a\u3002\\n\u65e0\u5c18\uff08yu shan wei\uff09\u540c\u5b66\u4e5f\u5355\u72ec[\u7ef4\u62a4\u4e86](https://gitee.com/yushanwei/freebsd4loongarch)\u8865\u4e01\u96c6\u5408\u3002\\n\u611f\u8c22 [Haowu Ge][haowuge] \u5728\u7fa4\u804a\u4e2d\u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[dbhrscom]: https://bbs.loongarch.org/u/4\\n[haowuge]: https://github.com/haowuge\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-30","metadata":{"permalink":"/newsletter/this-week-in-loongarch-30","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-26-this-week-in-loongarch-30/index.md","source":"@site/newsletter/2023-12-26-this-week-in-loongarch-30/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-25T16:50:00.000Z","formattedDate":"2023\u5e7412\u670825\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.015,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-30","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","authors":["xen0n"],"date":"2023-12-25T16:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","permalink":"/newsletter/this-week-in-loongarch-31"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","permalink":"/newsletter/this-week-in-loongarch-29"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 LoongArch® ABI v2.30\u3001\u5de5\u5177\u94fe\uff0c\u4ee5\u53ca AOSC \u7814\u53d1\u7684\u65b0\u65e7\u4e16\u754c\u517c\u5bb9\u65b9\u6848\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 12 \u6708 25 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/)\\nLinux v6.8 \u5f00\u53d1\u5468\u671f\u7684\u9f99\u67b6\u6784 KVM \u53d8\u66f4 PR\u3002\\n\u5176\u4e2d\uff0cBibo Mao \u4fee\u590d\u4e86\u5b9a\u65f6\u5668\u7684\u6a21\u62df\uff1bTianrui Zhao \u8ba9\u865a\u62df\u673a\u5185\u90e8\u53ef\u4ee5\u4f7f\u7528 LSX\u3001LASX \u6307\u4ee4\u3002\\n\\nHuacai Chen [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231225070002.1350705-1-chenhuacai@loongson.cn/)\u5355\u8282\u70b9\u7684\u903b\u8f91\u5904\u7406\u5668\u6570\u91cf\u5927\u4e8e 64 \u65f6\uff0c\u7cfb\u7edf\u5f15\u5bfc\u8fc7\u7a0b\u4f1a\u5199\u574f\u4e00\u4e9b\u5185\u5b58\u5185\u5bb9\u7684\u95ee\u9898\u3002\\n\\n\u9f99\u82af QEMU \u5f00\u53d1\u8005 Song Gao \u4e3a\u65b9\u4fbf\u7528\u6237\u4ee5 FDT\uff08flattened device tree\uff0c\u62cd\u5e73\u8bbe\u5907\u6811\uff09\u534f\u8bae\u542f\u52a8\u4e3b\u7ebf\u5185\u6838\uff0c\\n\u9884\u5907\u4e3a\u4e3b\u7ebf\u5185\u6838\u7684\u9ed8\u8ba4\u914d\u7f6e[\u5f00\u542f](https://lore.kernel.org/loongarch/20231222024628.3138406-1-gaosong@loongson.cn)\u901a\u7528 PCIe \u5bbf\u4e3b\u652f\u6301\u3002\\n\\n[Xi Ruoyao][xry111] \u5c1d\u8bd5[\u5fae\u8c03\u4e86](https://lore.kernel.org/loongarch/20231214130206.21219-1-xry111@xry111.site/)\\nLoongArch \u4e0a\u4e0b\u6587\u5207\u6362\u4ee3\u7801\u4e2d\u4fdd\u5b58\u3001\u6062\u590d 8 \u4e2a\u6d6e\u70b9\u6761\u4ef6\u7801\u7684\u7247\u6bb5\uff0c\\n\u56e0\u4e3a\u5148\u524d\u7684\u7b80\u5355\u5199\u6cd5\u5728 LA464 \u4e0a\u6027\u80fd\u5f88\u5dee\u3002\\n\u7136\u800c Huacai Chen \u8fd8\u662f[\u559c\u6b22](https://lore.kernel.org/loongarch/CAAhV-H5m65qL05W9VZw7Qff-qg8TUc_wY8zs-pSeBuWSAFnSaQ@mail.gmail.com/)\u7b80\u5355\u7684\u4ee3\u7801\uff0c\\n\u56e0\u6b64\u4f30\u8ba1\u5728\u8c01\u638f\u51fa\u8fd9\u4e48\u6539\u53ef\u4ee5\u63d0\u5347\u4e0a\u4e0b\u6587\u5207\u6362\u6027\u80fd\u7684\u5ba2\u89c2\u8bc1\u636e\uff0c\u4f8b\u5982\u8dd1\u5206\u5bf9\u6bd4\u4e4b\u524d\uff0c\u8fd9\u4e2a\u8865\u4e01\u662f\u4e0d\u4f1a\u88ab\u6536\u4e86 :confused:\u3002\\n\\n:::info \u7a76\u7adf\u6709\u591a\u5dee\uff1f\\n\u6839\u636e Xi Ruoyao \u7684\u5b9e\u9a8c\u7ed3\u679c\uff0cLA464 \u4e0a\u6bcf\u6b21 `movcf2gr` \u82b1\u7684\u65f6\u95f4\u662f `movcf2fr + movfr2gr` \u7684 7 \u500d\uff0c\\n\u800c `movgr2cf` \u66f4\u662f `movgr2fr + movfr2cf` \u7684 15 \u500d\uff01\\n\u60f3\u5728\u6d6e\u70b9\u6761\u4ef6\u7801\u548c\u6574\u6570\u5bc4\u5b58\u5668\u4e4b\u95f4\u642c\u8fd0\u591a\u8fbe 1 \u6bd4\u7279\u7684\u6570\u636e\uff0c\u591a\u7ecf\u8fc7\u6d6e\u70b9\u5bc4\u5b58\u5668\u5012\u4e00\u624b\uff0c\u5c45\u7136\u80fd\u5feb\u51e0\u500d\u751a\u81f3\u5341\u51e0\u500d\uff0c\u7b80\u76f4\u79bb\u8c31\u3002\\n\u8fd8\u597d LA664 \u628a\u8fd9\u5751\u586b\u6389\u4e86\u3002\\n:::\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u4eca\uff0825\uff09\u65e5\u4e0b\u73ed\u524d\uff0c\u9f99\u82af\u5de5\u5177\u94fe\u56e2\u961f[\u5408\u5e76\u4e86](https://github.com/loongson/la-abi-specs/pull/5)\\nLoongArch ABI \u89c4\u8303\u6587\u6863\u7684 v2.30 \u66f4\u65b0\uff08\u6574\u4f53\u7248\u672c\u53f7\uff1b\u6587\u6863\u7248\u672c\u53f7\u4e3a v20231219\uff09\u3002\\n\u672c\u6b21\u66f4\u65b0\u7684\u4e3b\u8981\u5185\u5bb9\u6709\uff1a\\n\\n* \u660e\u786e\u4e86\u57fa\u7840 ABI \u4e0b\uff0c\u51fd\u6570\u7684\u5411\u91cf\u53c2\u6570\u7684\u4f20\u9012\u65b9\u5f0f\u3002\u57fa\u7840 ABI \u4e0d\u4fdd\u8bc1 SIMD \u6269\u5c55\u4e00\u5b9a\u5b58\u5728\uff0c\u56e0\u6b64\u53ea\u80fd\u5c06\u5411\u91cf\u53c2\u6570\u89c6\u4f5c\u57fa\u672c\u7c7b\u578b\u91cf\u7684\u6570\u7ec4\u5904\u7406\u3002\\n* \u4fee\u590d\u4e86\u4e00\u4e9b\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7684\u7b97\u672f\u63cf\u8ff0\u3002\\n* \u589e\u52a0\u4e86\u4ee3\u7801\u6a21\u578b\uff08code model\uff09\u7ae0\u8282\u3002\u4e3b\u8981\u662f\u660e\u786e\u5b9a\u4e49\u4e86 `normal`\u3001`medium` \u4e0e `extreme` \u4e09\u79cd\u4ee3\u7801\u6a21\u578b\uff0c\u4ee5\u53ca\u8981\u6c42 `extreme` \u4ee3\u7801\u6a21\u578b\u7684\u56db\u6761\u62fc\u63a5\u5730\u5740\u6307\u4ee4\u5fc5\u987b\u76f8\u90bb\u3002\\n \u540e\u8005\u662f\u5148\u524d\u9488\u5bf9\u8be5\u95ee\u9898\u7684\u793e\u533a\u8ba8\u8bba\u6240[\u63d0\u5230\u7684](https://github.com/loongson-community/discussions/issues/17)\u7b80\u5355\u65b9\u6848\u3002\\n \u5468\u62a5\u7b2c 26 \u671f\u7684[\u731c\u6d4b](../2023-11-27-this-week-in-loongarch-26.md#abi)\u51fa\u4e86\u4e9b\u504f\u5dee\uff1a\\n \u53ef\u80fd\u51fa\u4e8e\u5de5\u4f5c\u91cf\u548c\u517c\u5bb9\u6027\u8003\u8651\uff0c\u672c\u6b21\u5e76\u672a\u300c\u4e00\u6b65\u5230\u4f4d\u300d\uff0c\u76f4\u63a5\u5b9e\u73b0\u90a3\u4e2a\u901a\u8fc7\u63d0\u4f9b\u5b8c\u6574\u5173\u8054\u4fe1\u606f\u800c\u89e3\u51b3\u95ee\u9898\u7684\u590d\u6742\u65b9\u6848\u3002\\n \u672c\u7ad9\u7684\u57fa\u7ebf\u53c2\u8003\u6587\u6863\u4e5f\u5df2[\u540c\u6b65\u66f4\u65b0\u4e86](/docs/baseline-reference/)\u3002\\n* \u6b63\u5f0f\u52a0\u5165\u4e86\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u53ca\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#abi)\\n TLS \u63cf\u8ff0\u7b26\uff08TLSDESC\uff09\u76f8\u5173\u5b9a\u4e49\u3002\\n\\n#### binutils {#binutils}\\n\\nmengqinggang [\u4fee\u590d\u4e86](https://sourceware.org/pipermail/binutils/2023-December/131391.html)\u5148\u524d\u4f1a\u7ed9\u4e0d\u662f\u51fd\u6570\u7c7b\u578b\u7684\u7b26\u53f7\u4e5f\u751f\u6210\\nPLT\uff08procedure linkage table\uff0c\u8fc7\u7a0b\u94fe\u63a5\u8868\uff09\u8bb0\u5f55\u7684\u95ee\u9898\u3002\\n\\nmengqinggang \u8fd8\u6309\u7167\u672c\u6b21\u7684 ELF psABI \u66f4\u65b0\uff0c[\u5b9e\u73b0\u4e86](https://sourceware.org/pipermail/binutils/2023-December/131386.html)\\n`R_LARCH_ALIGN` \u5bf9\u6c47\u7f16\u5668 `.align` \u7b2c\u4e09\u4f4d\u7f6e\u7684\u8868\u8fbe\u5f0f\u53c2\u6570\u7684\u652f\u6301\u3002\\n\\n#### GCC {#gcc}\\n\\n[Xi Ruoyao][xry111] \u4fee\u590d\u4e86[\u6770\u54e5][jiegec][\u53d1\u73b0\u7684](https://gcc.gnu.org/PR113033)\u7f16\u8bd1\\nLSX \u7684\u5faa\u73af\u79fb\u4f4d\u64cd\u4f5c\u4f1a\u5d29\u6e83\uff08ICE\uff09\u7684\u95ee\u9898\uff1a[\u8865\u4e01\u7532](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640937.html)\u3001[\u8865\u4e01\u4e59](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641401.html)\u3002\\n\\nXi Ruoyao \u8fd8[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640808.html)\u540c\u6837\u7531\u6770\u54e5[\u53d1\u73b0\u7684](https://gcc.gnu.org/PR113034)\\n`__m128` \u7c7b\u578b\u7684\u300c\u4e0d\u7b49\u4e8e\u300d\u6bd4\u8f83\u64cd\u4f5c\u4f1a\u88ab\u9519\u8bef\u7f16\u8bd1\u7684\u95ee\u9898\u3002\\n\\nXi Ruoyao \u8fd8[\u8282\u7ea6\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640809.html)\u6bcf\u6b21 32 \u4f4d\u5faa\u73af\u79fb\u4f4d\u64cd\u4f5c\u5148\u524d\u90fd\u9644\u5e26\u7684\u4e00\u6b21\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u3002\\n\\nXi Ruoyao \u8fd8[\u5c1d\u8bd5\u89e3\u51b3\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640280.html)\u5148\u524d\u5728\\n`-mexplicit-relocs=auto` \u65f6\uff0c\u6709\u4e9b\u9002\u5408\u5408\u5e76\u7684\u7b26\u53f7\u5730\u5740\u88c5\u8f7d\u64cd\u4f5c\u6ca1\u88ab\u8bc6\u522b\u51fa\u6765\u3001\u4e88\u4ee5\u5408\u5e76\u7684\u95ee\u9898\uff1b\\n\u76ee\u524d\u8fd8\u6709\u5c0f\u5751\uff0c\u6b63\u5728\u8c03\u6574\u3002\\n\\nXi Ruoyao \u8fd8\u6539\u5584\u4e86\u5bf9\u4e8e\u6d6e\u70b9\u6761\u4ef6\u7801\u7684\u5904\u7406\uff1a[\u6e05\u7406\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640731.html)\\nLoongArch \u540e\u7aef\u5b9a\u4e49\u4e2d\u4e00\u5904\u4e0d\u4f1a\u88ab\u7528\u5230\u7684\u60c5\u51b5\uff0c\\n\u53c8[\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640713.html)\u6d6e\u70b9\u6761\u4ef6\u7801\uff08`FCCmode`\uff09\\n\u7684\u91cd\u65b0\u88c5\u8f7d\uff08reload\uff09\u3002\\n\u540e\u8005\u6709\u5229\u4e8e\u5728\u67d0\u5904\u6d6e\u70b9\u6bd4\u8f83\u64cd\u4f5c\u7684\u7ed3\u679c\u65e0\u6cd5\u9884\u6d4b\u65f6\uff0c\u63d0\u5347\u6b64\u5904\u7ed3\u679c\u5411\u76ee\u6807\u4f4d\u7f6e\u7684\u4fdd\u5b58\u6027\u80fd\u3002\\n\\nLulu Cheng [\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640977.html)\\nTLS LE (local-exec) relaxation\uff08\u7ebf\u7a0b\u672c\u5730\u5b58\u50a8\u7684\u672c\u5730\u6267\u884c\u6a21\u578b\u7684\u677e\u5f1b\uff09\u4f18\u5316\u7684\u7f16\u8bd1\u5668\u4e00\u4fa7\u3002\\n\u642d\u914d\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u5230\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#abi)\u6c47\u7f16\u5668\u4e00\u4fa7\u652f\u6301\uff0c\\n\u9884\u8ba1\u80fd\u5728\u67d0\u4e9b\u591a\u7ebf\u7a0b\u573a\u666f\u4e0b\u63d0\u5347\u6027\u80fd\u3002\\n\\nLi Wei [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641407.html)\u542f\u7528\u94fe\u63a5\u65f6\u4f18\u5316\uff08LTO\uff09\u65f6\uff0c\\n\u53ef\u80fd\u5bfc\u81f4\u4e2a\u522b\u4f4d\u57df\u88c5\u8f7d\u64cd\u4f5c\u88ab\u9519\u8bef\u7f16\u8bd1\u7684\u95ee\u9898\uff1b\u539f\u56e0\u662f `*bstrins__for_ior_mask` \u8fd9\u6761\u89c4\u5219\u5199\u9519\u4e86\u3002\\n\u8be5\u95ee\u9898\u81f3\u5c11\u6ce2\u53ca\u4e86 SPEC 2006 \u7684 `400.perlbench` \u7528\u4f8b\u3002\\n\\n\u672c\u671f\u7684 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n[jiegec]: https://github.com/jiegec\\n\\n#### LLVM {#llvm}\\n\\n\u7d27\u968f LoongArch ELF psABI v20231219\uff08\u6574\u4f53\u7248\u672c\u53f7 v2.30\uff09\u7684\u53d1\u5e03\uff0c[SixWeining]\\n[\u66f4\u65b0\u4e86](https://github.com/llvm/llvm-project/pull/73387)\u5148\u524d\u5bf9 LLD `extreme`\\n\u4ee3\u7801\u6a21\u578b\u7684\u7acb\u5373\u6570\u5904\u7406\u7684\u91cd\u5236\u3002\\n\u6309\u7167\u76ee\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\uff0c\u8fd9\u4f1a\u8ba9\u4e00\u4e9b\u5148\u524d\u9519\u8bef\u7684\u8fb9\u754c\u60c5\u51b5\u53d8\u6b63\u786e\uff0c\u4f46\u4e5f\u4f1a\u8ba9\u4e00\u4e9b\u5148\u524d\u6b63\u786e\u7684\u8fb9\u754c\u60c5\u51b5\u53d8\u9519\u8bef\uff1a\\n\u8fd8\u597d\u76ee\u524d\u51e0\u4e4e\u6ca1\u6709\u8f6f\u4ef6\u7528\u5230 `extreme` \u4ee3\u7801\u6a21\u578b\uff0c\u5269\u4e0b\u7684\u5c31\u53ea\u6709\u7948\u7977\uff01\\n\\n[MQ-mengqing] \u7ed9 linker relaxation \u505a\u51c6\u5907\uff1a\u4eff\u7167 RISC-V\uff0c[\u63a8\u8fdf\u4e86](https://github.com/llvm/llvm-project/pull/72960)\\nLLVM MC \u7684 LoongArch \u540e\u7aef\u51b3\u7b56\u662f\u5426\u4ea7\u751f\u300c\u52a0\u3001\u51cf\u300d\u7c7b\u578b\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7684\u65f6\u673a\u3002\\n\u7136\u800c\u5728\u8be5\u8865\u4e01\u5408\u5e76\u4e4b\u540e\uff0c\u53d1\u73b0\u4e00\u4e9b\u8f6f\u4ef6\u5f00\u59cb\u94fe\u63a5\u5931\u8d25\uff1a\\n\u8fd9\u662f\u7531\u4e8e DWARF v5 \u8c03\u8bd5\u4fe1\u606f\u7528\u5230\u4e86 ULEB128 \u7c7b\u578b\u7684\u52a0\u51cf\u64cd\u4f5c\uff0c\\n\u800c LoongArch \u6682\u672a\u5982 RISC-V \u4e00\u6837[\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/72610)\u8fd9\u4e9b\u64cd\u4f5c\u3002\\n\u76ee\u524d MQ-mengqing [\u5199\u4e86](https://github.com/llvm/llvm-project/pull/72960#issuecomment-1868650942)\u4e00\u7248\u4fee\u590d\uff0c\\n\u6b63\u5728\u8865\u5145\u6d4b\u8bd5\u7528\u4f8b\u3002\\n\\n[SixWeining] \u4e3a LLD [\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/73346)\\n`R_LARCH_CALL36` \u652f\u6301\u3002\\n\\n[SixWeining]: https://github.com/SixWeining\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n\u6b27\u6d32\u65f6\u95f4 12 \u6708 20 \u65e5\u665a\u95f4\uff0c\u9996\u5ea6\u5305\u542b\u4e86\u9f99\u67b6\u6784\u652f\u6301\u7684 GRUB 2.12\\n[\u6b63\u5f0f\u53d1\u5e03\u4e86](https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00052.html)\u3002\\n\u4e45\u7b49\u4e86\uff01\\n\u77e5\u540d\u79d1\u6280\u5a92\u4f53 Phoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/GRUB-2.12-Released)\u6b64\u4e8b\u3002\\n\u611f\u8c22 [xry111] \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n[xry111]: https://github.com/xry111\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n## `libLoL`: AOSC \u4e3a\u60a8\u5728\u65b0\u65e7\u4e16\u754c\u4e4b\u95f4\u67b6\u8d77\u6865\u6881\uff01 {#liblol}\\n\\n\u4f17\u6240\u5468\u77e5\uff0cLoongArch \u7684[\u65b0\u65e7\u4e16\u754c\u751f\u6001\u5272\u88c2\u95ee\u9898](/docs/old-and-new-worlds/)\u5df2\u7ecf\u56f0\u6270\u4e86\u793e\u533a\u53d1\u884c\u7248\u7528\u6237\u8bb8\u4e45\uff1a\\n\u867d\u7136\u8bb8\u591a\u95ed\u6e90\u8f6f\u4ef6\u90fd\u9646\u7eed\u652f\u6301\u4e86 LoongArch\uff0c\u4f46\u90fd\u662f\u5728\u91c7\u7528\u65e7\u4e16\u754c ABI \u7684\u5546\u4e1a\u53d1\u884c\u7248\u4e0a\uff0c\\n\u4ece\u800c\u4e0e\u57fa\u4e8e\u65b0\u4e16\u754c ABI \u7684\u793e\u533a\u53d1\u884c\u7248\u548c\u7528\u6237\u7fa4\u4f53\u300c\u7edd\u7f18\u300d\u3002\\n\u867d\u7136\u5728\u65e9\u5148[\u4e0a\u8bc1\u8def\u6f14\u7684\u6295\u8d44\u8005\u4e92\u52a8\u73af\u8282][sse-roadshow]\u300111 \u6708 28 \u65e5\u7684\u4ea7\u54c1\u53d1\u5e03\u4f1a\u4e0a\uff0c\\n\u9f99\u82af\u516c\u53f8\u90fd\u8868\u6001\u5c06\u5f00\u53d1\u65b0\u65e7\u4e16\u754c\u5e94\u7528\u7684\u517c\u5bb9\u65b9\u6848\uff0c\\n\u4f46\u622a\u81f3\u76ee\u524d\uff0c\u5173\u4e8e\u9f99\u82af\u65b9\u6848\u7684\u6280\u672f\u7ec6\u8282\uff0c\u6ee1\u6000\u70ed\u5ff1\u7684\u540c\u5b66\u4eec\u4ecd\u672a\u5728\u516c\u5f00\u6e20\u9053\u5f97\u5230\u6b63\u9762\u56de\u5e94\u3002\\n\u8003\u8651\u5230\u6027\u80fd\u559c\u4eba\u7684 3A6000 \u677f\u5361\u5df2\u7ecf\u9646\u7eed\u4e0a\u5e02\uff0c\u4e0d\u96be\u4f5c\u51fa\u5408\u7406\u63a8\u6d4b\uff1a\\n\u603b\u6709\u7fa4\u4f17\u7b49\u4e0d\u53ca\u4e24\u5e74\u540e\uff08\u65e0\u8bba\u5b9e\u9645\u66f4\u65e9\u6216\u66f4\u665a\uff09\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u5b98\u65b9\u65b0\u4e16\u754c\u7248\u672c\uff0c\u800c**\u73b0\u5728\u5c31\u8981\u7528**\uff01\\n\\n[sse-roadshow]: https://roadshow.sseinfo.com/roadshowIndex.do?id=16536#cd-placeholder-hdjl\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u4f5c\u4e3a\u300c\u7262\u8bb0\u670d\u52a1\u7528\u6237\u9700\u6c42\u8fd9\u4e00\u5b97\u65e8\u300d\u7684\u4e00\u7fa4\u4eba\uff0c\u6b64\u523b\u4fbf\u7ad9\u4e86\u51fa\u6765\u3002:ta: \u4eec\u7ed9\u51fa\u7684\u7b54\u6848\u662f\\n`libLoL`: LoongArch on LoongArch\u3002\\n\\nAOSC \u5f00\u53d1\u8005[\u738b\u9088][shankerwangmiao]\u4e0e[\u5218\u5b50\u5174][liushuyu]\uff0c\\n\u5728\u5185\u6838\u5c42\u9762\u5b9e\u73b0\u4e86\u4ee5\u5916\u6302\u6a21\u5757\uff08\u4ea6\u53ef\u7406\u89e3\u4e3a\u300c\u9a71\u52a8\u300d\uff09\u65b9\u5f0f\uff0c\u52a8\u6001\u8f7d\u5165\u7684\u65e7\u4e16\u754c\u7cfb\u7edf\u8c03\u7528\u652f\u6301\u3002\\n\u738b\u9088\u4e5f\u8bbe\u8ba1\u3001\u5b9e\u73b0\u4e86\u4f4d\u4e8e\u7528\u6237\u6001\u7684\u8fd0\u884c\u65f6\u90e8\u5206\uff1a\u6253\u5305\u4e86\u65e7\u4e16\u754c\u53c2\u8003\u53d1\u884c\u7248 Loongnix® \u7684\u6838\u5fc3\u8fd0\u884c\u65f6\u5e93\uff0c\\n\u4f7f\u65e7\u4e16\u754c\u5e94\u7528\u80fd\u591f\u6709\u300c\u56de\u5bb6\u7684\u611f\u89c9\u300d\u4ece\u800c\u6b63\u5e38\u542f\u52a8\u3002\\n\u76ee\u524d AOSC OS \u5df2\u7ecf\u80fd\u591f\u8fd0\u884c WPS Office \u4e0e\u9f99\u82af\u6d4f\u89c8\u5668\u7b49\u6807\u5fd7\u6027\u7684\u65e7\u4e16\u754c\u5e94\u7528\uff0c\\n\u5982\u56fe\u6240\u793a\uff08\u70b9\u51fb\u5373\u770b\u9ad8\u6e05\u5927\u56fe\uff09\uff1a\\n\\n[![\u542f\u7528\u4e86 libLoL \u7684 AOSC \u7cfb\u7edf\u4e0a\u6210\u529f\u8fd0\u884c\u65e7\u4e16\u754c WPS \u4e0e\u9f99\u82af\u6d4f\u89c8\u5668\u7684\u622a\u56fe](./liblol-showcase@0.5x.webp)](./liblol-showcase.webp)\\n\\n[shankerwangmiao]: https://github.com/shankerwangmiao\\n[liushuyu]: https://github.com/liushuyu\\n\\n\u540e\u7eed\uff0c\u5728\u5b8c\u6210\u914d\u5957\u5185\u6838\u6a21\u5757\u7684\u8f7d\u5165\u5411\u5bfc\u540e\uff0c\u4f7f\u7528\u9f99\u67b6\u6784\u8bbe\u5907\u7684 AOSC OS \u7528\u6237\u4fbf\u53ef\u6309\u9700\u542f\u7528\u6b64\u517c\u5bb9\u65b9\u6848\u4e86\u3002AOSC \u540c\u4ec1\u4eec\u4e5f\u6b22\u8fce\u5176\u4ed6\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7ef4\u62a4\u8005\u8003\u5bdf `libLoL`\uff0c\u5e76\u89c6\u81ea\u8eab\u60c5\u51b5\u548c\u9700\u6c42\u96c6\u6210\u6b64\u9879\u76ee\u7684\u6210\u679c\u3002\\n\\n12 \u6708 23 \u65e5\u53d1\u5e03\u7684 AOSC \u53cc\u5468\u62a5\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u4e8c\u6708\u4e0b\u300b[\u8bb0\u8f7d\u4e86](https://github.com/AOSC-Dev/newsroom/blob/2c5443a792291702438cbf6059d8d4039ca5dc85/coffee-break/20231223/zh_CN.md#%E5%B1%95%E6%9C%9B-liblol%E9%BE%99%E6%9E%B6%E6%9E%84%E6%97%A7%E4%B8%96%E7%95%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%85%BC%E5%AE%B9%E8%BF%90%E8%A1%8C%E6%97%B6)\u8fd9\u9879\u5de5\u4f5c\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u63a8\u8350\u9605\u8bfb\u3002\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-29","metadata":{"permalink":"/newsletter/this-week-in-loongarch-29","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-18-this-week-in-loongarch-29/index.md","source":"@site/newsletter/2023-12-18-this-week-in-loongarch-29/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-18T15:30:00.000Z","formattedDate":"2023\u5e7412\u670818\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":13.645,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-29","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","authors":["xen0n"],"date":"2023-12-18T15:30:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","permalink":"/newsletter/this-week-in-loongarch-30"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","permalink":"/newsletter/this-week-in-loongarch-28"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u793e\u533a\u7248\u9f99\u82af SIMD \u6307\u4ee4\u6587\u6863\u30013A6000 \u793e\u533a\u7248\u8d85\u9891\u56fa\u4ef6\uff0c\u4ee5\u53ca ABI\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nLinux 6.6 LTS \u5206\u652f\u65e5\u524d[\u5411\u540e\u79fb\u690d\u4e86](https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/diff/queue-6.6/loongarch-mark-dmw-tlb-_virt_to_page-exports-as-non-.patch?id=f5b20a28332e98771485a6ebbd97791f4031f6a5)\u653e\u5bbd\\n`{dmw,virt}_to_page` \u4e24\u4e2a\u7b26\u53f7\u7684\u8bb8\u53ef\u8bc1\u8981\u6c42\u7684\u63d0\u4ea4\u3002\\n\u8fd9\u610f\u5473\u7740 OpenZFS 2.2.x \u5c06\u53ef\u642d\u914d Linux 6.6.x \u7cfb\u5217\u4e2d\u7684 6.6.8 \u6216\u66f4\u9ad8\u7248\u672c\u4f7f\u7528\u4e86\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u5f00\u53d1\u8005[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)\u5728\u9002\u914d JetBrains® \u5f00\u53d1\u73af\u5883\u5168\u5bb6\u6876\u65f6\uff0c\\n\u53d1\u73b0\u6709 [Java \u7ec4\u4ef6](https://github.com/JetBrains/pty4j)\u60f3\u52a8\u6001\u52a0\u8f7d `libutil.so`\uff0c\u800c\u8be5\u5171\u4eab\u5e93\u5728 LoongArch \u4e0a\u5e76\u4e0d\u5b58\u5728\u3002\\n\u5728 glibc \u7684\u5b9e\u73b0\u4e2d\uff0c\u8be5\u5171\u4eab\u5e93\u7684\u6240\u6709\u51fd\u6570\u90fd[\u5408\u5e76\u5165 `libc.so` \u4e86](https://sourceware.org/git/?p=glibc.git;a=commit;h=734c60ebb607086ad6d67b2544d6b7baba72a652)\uff1b\\n\u6b64\u4e8b\u53d1\u751f\u5728 LoongArch \u8fdb\u5165 glibc \u4e0a\u6e38\u4e4b\u524d\uff0c\u56e0\u6b64 glibc \u5728 LoongArch \u4e0a\u81ea\u59cb\u5c31\u4e0d\u63d0\u4f9b\u8be5\u5171\u4eab\u5e93\u3002\\n\u4f46\u540c\u6837\u6765\u81ea AOSC \u7684 [Icenowy](https://github.com/Icenowy) \u7ffb\u67e5\u89c4\u8303\u6587\u6863\u53d1\u73b0 [LSB \u4f3c\u4e4e\u6709\u8981\u6c42\u63d0\u4f9b\u8be5\u6587\u4ef6](https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/libutil.html)\uff0c\\n\u6545[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/29)\u9f99\u82af\u793e\u533a\u7684\u8ddf\u8e2a\u5de5\u5355\uff0c\\n\u4ee5\u53ca\u76f8\u5e94\u7684 [glibc \u95ee\u9898\u62a5\u544a](https://sourceware.org/bugzilla/show_bug.cgi?id=31136)\u3002\\n\u6839\u636e\u76ee\u524d\u7684\u4e0a\u6e38\u53e3\u5f84\uff0c\u4f3c\u4e4e\u63d0\u4f9b\u4e00\u4e2a\u6307\u5411 `libc.so` \u7684\u7b26\u53f7\u94fe\u63a5\u5c31\u8db3\u591f\u4e86\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### .net {#dotnet}\\n\\n\u9f99\u82af\u4e2d\u79d1\u7684\u5de5\u7a0b\u5e08[\u4e54\u9e4f\u7a0b](https://github.com/shushanhf)\u5728 2023 \u5e74 12 \u6708 16 \u65e5\u4e3e\u884c\u7684\\n.NET Conf China 2023 \u4ecb\u7ecd\u4e86 LoongArch .net/Mono \u76f8\u5173\u8fdb\u5c55\uff1a\\n\\n* .net 8.0 EA \u7248\u7684\u65b0\u4e16\u754c\u4e8c\u8fdb\u5236\u5df2\u7ecf\u6709\u9996\u4e2a\u53d1\u5e03\u7248\u672c\uff1a[GitHub \u9875\u9762](https://github.com/shushanhf/LoongArch64-Blog-for-.NET-Mono/releases/tag/sdk8.0.0-LA64-newABI-upstream)\\n- Mono LoongArch \u652f\u6301\u9884\u8ba1 2024Q1 \u5f00\u59cb\u63a8\u9001\u793e\u533a\uff0c\u8ba1\u5212\u5728 2024 \u5e74 7 \u6708\u4e4b\u524d\u5b8c\u6210\\n- Unity®\uff08\u56e2\u7ed3\u5f15\u64ce\uff09\u5df2\u4e0e LoongArch \u5b8c\u6210\u9002\u914d\\n\\n\u51fa\u4e8e\u5386\u53f2\u539f\u56e0\uff0c\u5f00\u6e90\u4e16\u754c\u5bf9\u4e8e .net/Mono \u7684\u5173\u6ce8\u5ea6\u5e76\u4e0d\u9ad8\uff0c\u4f46 .net/Mono \u662f Unreal\uff08\u865a\u5e7b\uff09\u3001Unity\uff08\u56e2\u7ed3\uff09\u3001Godot\\n\u7b49\u6e38\u620f\u5f15\u64ce\u7684\u6838\u5fc3\u7ec4\u4ef6\uff0c\u4e5f\u662f\u5927\u91cf\u5546\u4e1a\u516c\u53f8\u90e8\u7f72\u684c\u9762\u3001\u670d\u52a1\u7aef\u4ea7\u54c1\u7684\u91cd\u8981\u751f\u6001\u3002LoongArch .net/Mono port\\n\u63a8\u9001\u8ba1\u5212\u660e\u786e\uff0c\u5bf9\u4e8e\u666e\u901a\u684c\u9762\u7528\u6237\uff0c\u5373\u4f7f\u4e3a\u4e86\u6253\u6e38\u620f\uff0c\u90a3\u4e5f\u662f\u6781\u597d\u7684\u3002\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/cd444646-6449-40f1-a418-8ca16d307ae2 --\x3e\\n![\u4f1a\u8bae\u73b0\u573a\u56fe\u7247 1](./dotnet-1.jpg)\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/ff3b38e8-2c42-4e8d-8b70-491ca42a6bb1 --\x3e\\n![\u4f1a\u8bae\u73b0\u573a\u56fe\u7247 2](./dotnet-2.jpg)\\n\\n\u4ee5\u4e0a\u7684\u65b0\u95fb\u7531 [phorcys] \u4e3a\u60a8\u64ad\u62a5\u3002\\n\\n### Gentoo {#gentoo}\\n\\n[xen0n](https://github.com/xen0n) \u6b63\u5728 Gentoo \u63a8\u8fdb LoongArch \u7684\u5b89\u88c5 CD \u4e0e LLVM/Clang stage3 \u7684\u6784\u5efa\u5de5\u4f5c\u3002\\n\u4e3a\u6b64\u9700\u8981\u7ed9 Gentoo \u53d1\u884c\u7248\u5185\u6838\uff08dist kernel\uff09[\u589e\u52a0](https://github.com/gentoo/gentoo/pull/34291)\\nLoongArch \u652f\u6301\uff0c\u4ee5\u53ca[\u589e\u52a0](https://github.com/gentoo/gentoo/pull/34324) Clang profiles\uff1b\\n\u4ed6\u89c9\u5f97\u5728 2024 \u5230\u6765\u4e4b\u524d\u6709\u671b\u5b8c\u6210\u8fd9\u4e24\u90e8\u5206\u5de5\u4f5c\u3002\\n\\n### Ghidra {#ghidra}\\n\\n\u8fd1\u65e5\uff0c\u7f8e\u56fd\u56fd\u5bb6\u5b89\u5168\u5c40\uff08NSA\uff09\u4e3a Ghidra\\n[\u589e\u52a0\u4e86](https://github.com/NationalSecurityAgency/ghidra/commit/0f09d6fed3b1c884f1843bda5ec1bf1dfbada06c) LoongArch \u652f\u6301\uff0c\\n\u5c06\u4e8e Ghidra 10.5 \u6b63\u5f0f\u53d1\u5e03\u3002Ghidra \u662f NSA \u4e3b\u5bfc\u5f00\u53d1\u7684\u8f6f\u4ef6\u9006\u5411\u5de5\u7a0b\u6846\u67b6\uff0c\u4e3a\u8fd1\u5e74\u5168\u7403\u4fe1\u606f\u5b89\u5168\u9886\u57df\u7684\u4ece\u4e1a\u8005\u6240\u9010\u6e10\u91c7\u7528\u3002\\n\u611f\u8c22[\u6770\u54e5][jiegec]\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n
\\n\u81f4\u5173\u5fc3\u6b64\u4e8b\u7684\u4e2d\u56fd\u7acb\u573a\u7f51\u53cb\u4eec\\n\\n\u5c3d\u7ba1\u672c\u7ad9\u8c08\u8bba\u6280\u672f\u8bdd\u9898\u5c3d\u91cf\u4e0d\u6d89\u53ca\u653f\u6cbb\u4e0e\u4eba\u4e8b\uff0c\u4f46\u7531\u4e8e NSA \u7684\u9690\u853d\u6218\u7ebf\u80cc\u666f\u5341\u5206\u660e\u663e\uff0c\\n\u7b14\u8005\u5408\u7406\u63a8\u6d4b\u90a3\u4e9b\u7ad9\u5728\u4e2d\u56fd\u5229\u76ca\u4e00\u8fb9\uff0c\u4f46\u4e0d\u719f\u6089\u4fe1\u606f\u5b89\u5168\u9886\u57df\u7684\u7f51\u53cb\u4eec\uff0c\u4f1a\u5bf9\u6b64\u6709\u8bf8\u591a\u7591\u8651\u3002\\n\u4ee5\u4e0b\u662f\u7b14\u8005\u7ad9\u5728\u4e2a\u4eba\u7acb\u573a\u7684\u5206\u6790\uff1a\\n\\n\u4efb\u4f55\u53d7\u5230\u5e7f\u6cdb\u652f\u6301\u7684\u67b6\u6784\uff0c\u90fd\u514d\u4e0d\u4e86\u88ab\u5b89\u5168\u7814\u7a76\u8005\u4eec\u4ed4\u7ec6\u5ba1\u89c6\u3002LoongArch \u4f5c\u4e3a\u56fd\u5185\u5916\u7684\u4ea7\u4e1a\u754c\u3001\u5f00\u6e90\u793e\u533a\u591a\u5c11\u90fd\u5728\u62e5\u62b1\u7684\u4e00\u95e8\u65b0\u5174\u67b6\u6784\uff0c\\n\u5b83\u53d7\u5230 NSA \u9879\u76ee\u7ec4\u91cd\u89c6\u5e76\u8fdb\u5165 Ghidra \u5168\u5bb6\u6876\uff0c\u662f\u5fc5\u7136\u7684\u53d1\u5c55\u3002\\n\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u4e5f\u80fd\u8d77\u5230\u79ef\u6781\u6548\u679c\u2014\u2014\u903c\u8feb\u9f99\u82af\u53ca\u793e\u533a\u7684\u53c2\u4e0e\u8005\u4eec\uff0c\u5fc5\u987b\u901a\u8fc7\u53ef\u516c\u5f00\u7684\u7cbe\u5fc3\u8bbe\u8ba1\u5b9e\u73b0\u8f6f\u786c\u4ef6\u7684\u6574\u4f53\u5b89\u5168\uff0c\\n\u800c\u4e0d\u80fd\u6307\u671b\u9760\u7740\u5411\u516c\u4f17\u9690\u85cf\u4ec0\u4e48\u4e1c\u897f\u6765\u6362\u53d6\u6682\u65f6\u7684\u300c\u5b89\u5168\u611f\u300d\u3002\\n\\n\u5b9e\u9645\u4e0a\uff1a\u5373\u4fbf LoongArch \u6587\u6863\u59cb\u7ec8\u4e0d\u88ab\u516c\u5f00\uff0c\u5728\u8db3\u591f\u591a\u7684\u793e\u533a\u6210\u5458\u6298\u817e\u8fc7\u540e\uff0c\u540c\u6837\u7684\u6587\u6863\u88ab\u5199\u51fa\u4e5f\u53ea\u662f\u65f6\u95f4\u95ee\u9898\u2014\u2014\u4f8b\u5982\u5728\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e00\u5c1a\u672a\u516c\u5e03\u7684\\n2021 \u5e74 3 \u6708\u521d\uff0cxen0n \u8fd8\u662f[\u80fd\u591f\u638f\u51fa](https://github.com/loongson-community/docs/pull/4)\u4fdd\u771f\u5ea6\u76f8\u5f53\u9ad8\u7684\u57fa\u7840\u6307\u4ee4\u6587\u6863\u3002\\n\u867d\u7136\u4e8b\u540e\u770b\u6765\u8fd9\u4efd\u6587\u6863\u7684\u9519\u8bef\u4e0d\u5c11\uff0c\u4f46\u8bf7\u6ce8\u610f\uff1a\u5f53\u65f6 LoongArch \u4e0d\u5149\u6ca1\u6709\u516c\u5f00\u6587\u6863\uff0c\u751a\u81f3\u5728\u516c\u5f00\u6e20\u9053\u8fde\u786c\u4ef6\u90fd\u6ca1\u6709\uff0c\\n\u800c\u8fd9\u4e9b\u4fe1\u606f\u53ea\u9700\u8981\u6709\u8db3\u91cf\u7684\u673a\u5668\u8bed\u8a00\uff0c\u9760\u8111\u5b50\u5c31\u8db3\u4ee5\u63ed\u9732\u4e86\u3002\\n\u5982\u679c\u5f53\u65f6\u80fd\u591f\u6478\u5230\u771f\u5b9e LoongArch \u786c\u4ef6\u4ee5\u5b9e\u9645\u9a8c\u8bc1\u60f3\u6cd5\uff0c\u6216\u8005\u5c06\u66f4\u591a\u673a\u5668\u8bed\u8a00\u6750\u6599\u52a0\u5165\u5206\u6790\uff0c\\n\u90a3\u4e48\u8ba9\u6587\u6863\u7684\u51c6\u786e\u7387\u8fbe\u5230 100% \u4e5f\u4e0d\u662f\u4ec0\u4e48\u96be\u4e8b\u3002\\n\\n\u8fd9\u5176\u5b9e\u610f\u5473\u7740\uff0c\u5982\u679c\u4e00\u4e2a\u67b6\u6784\u60f3\u4e0d\u88ab\u5b89\u5168\u7814\u7a76\u8005\u4eec\u76ef\u4e0a\uff0c\u53ea\u6709\u8ba9 :ta: \u4eec\u786c\u4ef6\u8f6f\u4ef6\u90fd\u62ff\u4e0d\u5230\uff1b\\n\u4f46\u8fd9\u6837\u4e00\u6765\uff0c\u4e5f\u5c31\u4e0d\u53ef\u80fd\u5c06\u6b64\u67b6\u6784\u5927\u9762\u79ef\u63a8\u5e7f\u4e86\u3002\\n\\n\uff08\u6b64\u5916\uff0c\u63a5\u4e0b\u6765\u5c06\u4e3a\u60a8\u62a5\u9053\u7684\u793e\u533a\u5236 3A6000 \u8d85\u9891\u56fa\u4ef6\uff0c\u5c31\u662f\u90a3\u4f4d\u4fe1\u606f\u5b89\u5168\u4ece\u4e1a\u8005\u4f7f\u7528 Ghidra\\n\u7814\u7a76\u3001\u64cd\u4f5c\u9f99\u82af\u56fa\u4ef6\u7684\u7ed3\u679c\u3002\\n\u8003\u8651\u5230\u300c\u771f\u6b63\u654f\u611f\u7684\u4fe1\u606f\u4e0d\u4f1a\u88ab\u516c\u5f00\u300d\u8fd9\u4e00\u70b9\uff0cNSA \u9009\u62e9\u5c06 Ghidra \u5f00\u6e90\uff0c\u53ef\u80fd\u4e5f\u662f\u5bf9\u5168\u7403\u540c\u884c\u7684\u8d21\u732e\u4e86\u3002\u2014\u2014\u7531\u4e8e\u4e2d\u56fd\u540c\u884c\u4eec\u5e76\u672a\u5c06\u81ea\u5df1\u7684\u7c7b\u4f3c\u6846\u67b6\u4e5f\u5f00\u6e90\uff0c\\n\u4e3a :ta: \u4eec\u62c5\u5fc3\u7684\u4e2d\u56fd\u7acb\u573a\u7f51\u53cb\u4eec\uff0c\u4e5f\u53ef\u4ee5\u653e\u5fc3\u4e86\u3002\uff09\\n\\n
\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u4e5f\u8bb8\u662f\u70ed\u5fc3\u7fa4\u4f17\u89c9\u5f97\u5feb\u5230\u5e74\u672b\u4e86\uff0c\u793e\u533a\u91cc\u65b0\u95fb\u8fd8\u4e0d\u591f\u5927\uff1b\\n\u56e0\u6b64\u5728\u5168\u56fd\u964d\u6e29\u7684\u80cc\u666f\u4e0b\uff0c\u6211\u4eec\u7684\u52c7\u58eb\u4eec\u8fd8\u662f\u633a\u8eab\u800c\u51fa\uff0c\u7528\u72e0\u6d3b:\u513f:\u52a0\u70ed\u5c4f\u5e55\u524d\u9605\u8bfb\u5468\u62a5\u7684\u60a8\\n\uff08\u548c\u60a8\u7684\u7535\u8111\u4e3b\u673a\u2014\u2014\u5982\u679c\u60a8\u770b\u5b8c\u4e4b\u540e\u4e5f\u70ed\u8840\u6cb8\u817e\uff0c\u800c\u51b3\u5b9a\u4e0a\u624b\u5e72\u70b9\u5565\u7684\u8bdd\uff09\uff01\\n\\n### 3A6000 XA61200 \u5b98\u65b9\u56fa\u4ef6\u7206\u6539\u8d85\u9891\uff01\\n\\n\u5728\u534e\u7855[\u53d1\u5e03\u4e86](https://www.bilibili.com/video/BV15u4y1A7aK) 3A6000 \u8d85\u9891\u89c6\u9891\u540e\uff0c\\n\u5bf9 3A6000 \u8d85\u9891\u7684\u5173\u6ce8\u4e00\u4e0b\u5b50\u591a\u4e86\u8d77\u6765\u3002\\n\\n\u867d\u7136\u9f99\u82af\u4e2d\u79d1\u7684\u56fa\u4ef6\u5de5\u7a0b\u5e08 [@MarsDoge] \u5df2\u7ecf\u5728\u8bc4\u8bba\u533a[\u63d0\u5230](https://github.com/loongson/Firmware/pull/79#issuecomment-1832171459)\uff0c\\n\u4f1a\u5728\u4e0b\u4e2a\u53d1\u5e03\u5468\u671f\uff082024 \u5e74 2 \u6708\uff09\u63d0\u4f9b\u56fa\u4ef6\u7684\u8d85\u9891\u9009\u9879\uff0c\u4f46\u793e\u533a\u7684\u5c0f\u4f19\u4f34\uff0c\u5df2\u7ecf\u5b8c\u5168\u7b49\u4e0d\u53ca\u4e86\u3002\\n\\nBilibili \u7528\u6237 [nywkkk]\uff08GitHub [@naivekun]\uff0918 \u65e5\u51cc\u6668[\u53d1\u5e03\u4e86](https://www.bilibili.com/video/BV11a4y1r7Qc)\u81ea\u5236\u7684\\nXA61200 \u4e3b\u677f\uff083A6000\uff09\u624b\u52a8\u81ea\u5b9a\u4e49\u8d85\u9891\u56fa\u4ef6\u3002\\n\\n[@MarsDoge]: https://github.com/MarsDoge\\n[nywkkk]: https://space.bilibili.com/25097496\\n[@naivekun]: https://github.com/naivekun\\n\\nnywkkk \u4e0a\u5468\u6839\u636e\u624b\u518c\u9006\u5411\u5e76\u4fee\u6539\u4e86\u4e3b\u677f UEFI \u56fa\u4ef6\uff0c\u901a\u8fc7\u4e8c\u8fdb\u5236\u4fee\u6539 PEI\uff08Pre-EFI Initialization\uff0cEFI \u524d\u521d\u59cb\u5316\uff09\u9636\u6bb5\\nPLL \u914d\u7f6e\uff0c\u8fbe\u6210\u4e86 3A6000 \u7684 2.7GHz \u8d85\u9891\uff1b:ta:\\n\u5c06\u6539\u597d\u7684\u56fa\u4ef6\u6587\u4ef6\u5728 GitHub \u4e0a[\u53d1\u5e03\u4e86](https://github.com/naivekun/ls3a6000-overclock-firmware)\u3002\\n\u672c\u5468 :ta: \u518d\u8fdb\u4e00\u6b65\uff0c\u7f16\u5199\u4e86\u8d85\u9891 UEFI PEI \u6a21\u5757\u5e76[\u516c\u5f00\u4e86](https://github.com/naivekun/LoongsonOverclockPkg)\u6a21\u5757\u6e90\u7801\uff1a\\n\u8be5\u6a21\u5757\u63d2\u5165\u4e3b\u677f\u56fa\u4ef6 PEI \u542f\u52a8\u94fe\u540e\uff0c\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u7535\u538b\u3001\u9891\u7387\u7684\u81ea\u5b9a\u4e49\u8c03\u8282\u3002\\n\\n\u5237\u5165\u4fee\u6539\u7248\u56fa\u4ef6\u540e\uff0c\u4e5f\u53ef\u4ee5\u5728 UEFI shell \u4e2d\u901a\u8fc7\u65b0\u589e\u7684 `overclock` \u547d\u4ee4\u8c03\u8282\u5904\u7406\u5668\u7535\u538b\uff0c\u9891\u7387\uff0c\u91cd\u542f\u540e\u751f\u6548\u3002\\n\u4f46\u5982\u679c\u9891\u7387\u6216\u7535\u538b\u592a\u9ad8\uff0c\u5219\u4f1a\u53d8\u7816\uff0c\u9700\u8981\u901a\u8fc7 SPI \u7f16\u7a0b\u5668\u5237\u5199\u56fa\u4ef6\uff0c\u6216\u8005\u5207\u6362\u5230\u4e3b\u677f\u5907\u7528\u56fa\u4ef6\u540e\u91cd\u5237\u56fa\u4ef6\u6765\u89e3\u51b3\u95ee\u9898\u3002\\n\u6ca1\u6709 SPI \u7f16\u7a0b\u5668\uff08CH341A\u3001FT2232 \u6216\u7c7b\u4f3c\u65b9\u6848\uff09\u7684\u7528\u6237\u53ef\u80fd\u4f1a\u9762\u4e34\u65e0\u6cd5\u6551\u7816\u7684\u98ce\u9669\u3002\\n\\n\u4e0d\u8fc7\uff0c\u7531\u4e8e 3A6000 \u548c 7A2000 \u7684\u5404\u4e2a\u9891\u7387\u57df\u8026\u5408\u5173\u7cfb\u6bd4\u8f83\u591a\uff0c\u76ee\u524d\u4fee\u6539\u56fa\u4ef6\u53ea\u662f\u521d\u6b65\u89e3\u51b3\u4e86\u9891\u7387\u3001\u7535\u538b\u7684\u8c03\u8282\uff0c\u6ca1\u6709\u5f7b\u5e95\u89e3\u8026\u3002\\n\u63d0\u9ad8\u8fd0\u884c\u9891\u7387\u4f1a\u5bf9 HT\u3001DDR \u548c\u6865\u7247\u9891\u7387\u6709\u5f71\u54cd\uff0c\u4f46\u731c\u6d4b\u5927\u90e8\u5206 3A6000 \u53ef\u4ee5\u8f7b\u677e\u8d85\u9891\u5230 2.7~2.8GHz \u7a33\u5b9a\u8fd0\u884c\uff0c\\n\u521a\u597d\u5bf9\u5e94\u8001\u80e1\u63d0\u5230\u7684\u300c3A6000 \u6709 200MHz \u777f\u9891\u63d0\u5347\u7a7a\u95f4\u300d\u3002\\n\u548c\u5927\u591a\u6570 Intel\u3001AMD CPU \u8d85\u9891\u4e00\u6837\uff0c\u5355\u901a\u9053\u5185\u5b58\u4f1a\u51cf\u5c11\u8d85\u9891\u96be\u5ea6\u4ee5\u53ca\u589e\u52a0\u7a33\u5b9a\u6027\u3002\\n\\n:::danger\\n\u867d\u7136\u76ee\u524d\u8d85\u9891\u81f3 2.8GHz \u4f1a\u5e26\u6765 10%~15% \u7684\u6027\u80fd\u63d0\u5347\uff0c\u4f46\u4ecd\u7136\u4e0d\u63a8\u8350\u666e\u901a\u7528\u6237\u8fdb\u884c\u8d85\u9891\u3002\\n\u8d85\u9891\u6709\u53ef\u80fd\u4f1a**\u6c38\u4e45\u635f\u574f**\u4f60\u7684 CPU \u548c\u4e3b\u677f\uff0c\u6709\u65f6\u4e5f\u4f1a\u8fde\u5e26\u635f\u574f\u5185\u5b58\u3001PCIe \u8bbe\u5907\u3002\\n\u5c24\u5176\u76ee\u524d 3A6000 \u8d85\u9891\u5c5e\u4e8e\u6781\u65e9\u671f\u6d4b\u8bd5\uff0c\u5e76\u6ca1\u6709\u660e\u786e\u7684\u7535\u538b\u9891\u7387\u5b89\u5168\u533a\u95f4\u3002\\n\u56e0\u6b64**\u8bf7\u52a1\u5fc5\u786e\u4fdd\u4f60\u5df2\u7ecf\u660e\u786e\u4e0a\u8ff0\u98ce\u9669\uff0c\u5e76\u51c6\u5907\u597d\u518d\u4e70\u4e00\u5757\u4e3b\u677f\u7684\u94b1**\uff0c\u518d\u8fdb\u884c\u8d85\u9891\u3002\\n:::\\n\\nnywkkk \u8fd8\u540c\u6b65[\u5f00\u53d1\u4e86](https://github.com/naivekun/ls3a6000_freq_tool)\u7528\u6765\u67e5\u770b\u9891\u7387\u529f\u8017\u7684\u5de5\u5177\u3002\\n\u6b64\u5de5\u5177\u9700\u8981\u540d\u4e3a `devmem` \u7684\u5de5\u5177\u8f85\u52a9\uff08\u672a\u7ed9\u51fa\u6e90\u7801\uff0c\u4f46\u770b\u4e0a\u53bb\u5b9e\u73b0\u8f83\u4e3a\u7b80\u5355\uff0c\u81ea\u5df1\u5199\u4e00\u4e2a\u5373\u53ef\uff09\uff0c\u4e14\u642d\u914d 4.19 \u5185\u6838\u4f7f\u7528\u3002\\n\u4ee5\u4e0b\u662f :ta: \u5728 Bilibili \u89c6\u9891\u8bc4\u8bba\u533a\u5c55\u793a\u4e86 :ta: \u5c06 3A6000 \u8d85\u9891\u81f3 2.8GHz \u65f6\u6ee1\u8f7d\u6d4b\u8bd5\u7684\u622a\u56fe\uff1a\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/61208f01-d939-4619-a85d-180d6e855cfa --\x3e\\n![3A6000 \u8d85\u9891\u4e4b\u540e 7z benchmark \u4e0e\u540c\u65f6\u7684\u65f6\u949f\u3001\u7535\u538b\u3001\u529f\u7387\u4fe1\u606f\u663e\u793a](./3a6000-at-2.8ghz-running-7z-and-freq.jpg)\\n\\n\\n\u63a8\u8350\u611f\u5174\u8da3\u7684\u540c\u5b66\u79fb\u6b65 naivekun \u540c\u5b66\u7684\u4e2a\u4eba\u7f51\u7ad9\uff0c\u9605\u8bfb :ta: \u4eb2\u7b14\u7684[\u539f\u7406\u8bb2\u89e3\u6587\u7ae0](https://naivekun.com/2023/12/loongson-3a6000-overclock/)\u3002\\n\\n\u672c\u680f\u76ee\u7531 [phorcys] \u4e3a\u60a8\u64ad\u62a5\uff08\u6587\u5b57\u6709\u5c11\u8bb8\u7f16\u8f91\uff09\u3002\\n\\n[phorcys]: https://github.com/phorcys\\n\\n### \u9f99\u82af SIMD \u6307\u4ee4\u6587\u6863\uff1a\u73b0\u5df2\u63a8\u51fa\u793e\u533a\u7248\uff01\\n\\n\u8fd8\u5728\u4e3a\u9f99\u82af\u8fdf\u8fdf\u4e0d\u653e\u51fa\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u7b2c\u4e8c\u5377\uff0cSIMD \u6307\u4ee4\u660e\u660e\u653e\u5728\u773c\u524d\u5374\u4e0d\u77e5\u9053\u600e\u4e48\u7528\uff0c\u800c\u611f\u5230\u4e3a\u96be\uff1f\\n\u611f\u8c22[\u6770\u54e5][jiegec]\uff1a\u73b0\u5728\u4e0d\u7528\u7b49\u4e86\uff01\\n\\n\u300c\u5728 LoongArch \u7b2c\u4e8c\u5377\u5411\u91cf\u6307\u4ee4\u96c6\u6587\u6863\u6ca1\u6709\u653e\u51fa\u7684\u60c5\u51b5\u4e0b\uff0c\u793e\u533a\u5f00\u53d1\u8005\u5bf9\u4e00\u4e9b\u8f6f\u4ef6\u8fdb\u884c SIMD \u52a0\u901f\u7684\u79fb\u690d\u4f1a\u9762\u4e34\u5f88\u5927\u7684\u56f0\u96be\u3002\\n\u56e0\u6b64\uff0c\u6211\u5f00\u59cb\u6839\u636e\u516c\u5f00\u4ee3\u7801\uff08QEMU \u548c GCC\uff09\u6574\u7406 LSX/LASX intrinsics \u7684\u6587\u6863\uff0c\\n\u4ed3\u5e93[\u6258\u7ba1\u5728 GitHub \u4e0a](https://github.com/jiegec/unofficial-loongarch-intrinsics-guide/)\uff0c\\n\u76ee\u524d[\u90e8\u7f72\u5728\u4e2a\u4eba\u7f51\u7ad9\u4e0a](http://jia.je/unofficial-loongarch-intrinsics-guide/)\uff0c\\n\u6b22\u8fce\u8bd5\u7528\u548c\u63d0\u4ea4\u8d21\u732e\u3002\\n\\n\u300c\u76ee\u524d\u5df2\u7ecf\u5b8c\u6210\u6240\u6709\u7684 LSX \u548c LASX intrinsics\uff0c\u5e76\u4e14\u6d4b\u91cf\u4e86\u5411\u91cf\u6307\u4ee4\u5728\u4e24\u4ee3 LA \u5904\u7406\u5668\u4e0a\u7684\u5ef6\u8fdf\u548c\u541e\u5410\u3002\\n\u540c\u65f6\u4e5f\u9a8c\u8bc1\u4e86\u4e4b\u524d\u63d0\u5230\u8fc7\u7684 `vshuf/xvshuf` \u7684 LA464 \u548c LA664 \u4e0d\u4e00\u81f4\u7684\u884c\u4e3a\uff0c\\n\u5e76\u4e14\u53e6\u5916\u53d1\u73b0 `xvpermi.q` \u4e5f\u6709\u7c7b\u4f3c\u95ee\u9898\uff0c\\n\u89c1 [The Guide](http://jia.je/unofficial-loongarch-intrinsics-guide/viewer/?q=MACHINE_3C5000)\u3002\u300d\\n\\n[jiegec]: https://github.com/jiegec\\n\\n\u672c\u680f\u76ee\u7531[\u6770\u54e5][jiegec]\u4e3a\u60a8\u64ad\u62a5\uff08\u6587\u5b57\u6709\u5c11\u8bb8\u7f16\u8f91\uff09\u3002\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u8bf7\u5173\u6ce8[\u9f99\u82af\u793e\u533a\u7684\u8ba8\u8bba\u56ed\u5730][discussions-issues]\uff1a\u76ee\u524d\u5927\u5bb6\u7ecf\u5e38\u5728\u8fd9\u91cc\u8ffd\u8e2a\u5de5\u4f5c\u8fdb\u5ea6\u548c\u6d3e\u6d3b:\u513f:\u4e86\u3002\u884c\u6709\u4f59\u529b\u7684\u540c\u5b66\u8bf7\u6765\u62a5\u5230\uff01\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16\\n[discussions-issues]: https://github.com/loongson-community/discussions/issues"},{"id":"this-week-in-loongarch-28","metadata":{"permalink":"/newsletter/this-week-in-loongarch-28","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-11-this-week-in-loongarch-28/index.md","source":"@site/newsletter/2023-12-11-this-week-in-loongarch-28/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-11T07:45:00.000Z","formattedDate":"2023\u5e7412\u670811\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":8.805,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-28","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","authors":["xen0n"],"date":"2023-12-11T07:45:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","permalink":"/newsletter/this-week-in-loongarch-29"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","permalink":"/newsletter/this-week-in-loongarch-27"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5de5\u5177\u94fe\u3001\u672c\u7ad9\u9605\u8bfb\u6750\u6599\u7684\u65b0\u589e\uff0c\u4ee5\u53ca\u8bc1\u5b9e\u4e86 3A6000 \u53ef\u4e0a\u6c34\u51b7\uff08\u4f46\u9700\u81ea\u5907\u89d2\u78e8\u673a\u7b49\u673a\u52a0\u5de5\u8bbe\u5907\uff09\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20231209112317.1542046-1-chenhuacai@loongson.cn/)\u672c\u5f00\u53d1\u5468\u671f\u7684\u7b2c\u4e8c\u7ec4\u95ee\u9898\u4fee\u590d\uff0c\\nLinus \u5df2[\u5c06\u5176\u5408\u5e76](https://github.com/torvalds/linux/commit/b10a3ccaf6e39f6290ca29d7c24604082eacaea0)\u5165 tag `v6.7-rc5`\u3002\\n\u4e3b\u8981\u7684\u53d8\u66f4\u6709\uff1a\\n\\n* \u4fee\u590d\u4e86\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#linux)\\n BPF JIT \u9519\u8bef\u5b9e\u73b0\uff08[Hengqi Chen][chenhengqi]\uff09\uff0cTiezhu Yang \u4e5f\u4fee\u4e86\u53e6\u4e24\u4e2a\u95ee\u9898\uff1b\\n* \u4fee\u590d\u4e86[\u4e0a\u4e0a\u671f](../2023-11-27-this-week-in-loongarch-26.md#linux)\u3001\u4e0a\u671f\u5468\u62a5\u90fd\u63d0\u5230\u7684\\n `execve` \u4e4b\u540e\u4e22\u5931\u7cfb\u7edf\u8c03\u7528\u53f7\u4fe1\u606f\u7684\u95ee\u9898\uff08[Hengqi Chen][chenhengqi]\uff09\uff1b\\n* \u4fee\u590d\u4e86\u4e0a\u4e0a\u671f\u5468\u62a5\u63d0\u5230\u7684 Clang \u6784\u5efa\u7684\u538b\u7f29\u5185\u6838[\u4e0d\u80fd\u5f15\u5bfc](https://github.com/ClangBuiltLinux/linux/issues/1962)\u7684\u95ee\u9898\uff08[WANG Rui][heiher]\uff09\u3002\\n\\n[chenhengqi]: https://github.com/chenhengqi\\n[heiher]: https://github.com/heiher\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### binutils\\n\\n[Xi Ruoyao][xry111] \u4e3a\u5171\u4eab\u5e93[\u542f\u7528\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130991.html)\\n`la.got` \u5230 `la.pcrel` \u7684 relaxation \u4f18\u5316\u3002\\n\\nmengqinggang [\u610f\u56fe](https://sourceware.org/pipermail/binutils/2023-December/130993.html)\u4e3a\\nLoongArch \u6c47\u7f16\u8bed\u8a00\u589e\u52a0\u53cc\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u7b26\u53f7\u540d\u548c\u5bc4\u5b58\u5668\u540d\u652f\u6301\uff0c\u4f46\u672a\u4e00\u5e76\u7ed9\u51fa\u610f\u6b32\u652f\u6301\u7684\u9700\u6c42\u573a\u666f\u3002Fangrui Song\\n\u968f\u540e\u6307\u51fa\u4e86\u5bc4\u5b58\u5668\u540d\u8fd8\u52a0\u5f15\u53f7\u6709\u70b9\u5947\u602a\uff0c\u5e94\u8be5\u662f\u4e0d\u7528\u652f\u6301\uff1b\u4f5c\u8005\u540c\u610f\u4e86\uff0c\u4f1a\u518d\u6539\u4e00\u7248\u3002\\n\\n:::info \u5f15\u53f7\u8868\u793a\u7b26\u53f7\u540d\u7684\u610f\u4e49\\n\u8fd9\u6837\u505a\u5927\u6982\u662f\u4e3a\u4e86\u652f\u6301\u5f15\u7528\u90a3\u4e9b\u5185\u542b\u5947\u7279\u5b57\u7b26\u7684\u7b26\u53f7\u3002\u4f8b\u5982\u5728 x86 \u4e0a\uff1a\\n\\n```\\nmovq $1, \\"%rax\\" ; \u5411\u540d\u4e3a %rax \u7684\u7b26\u53f7\u6307\u5411\u7684 8 \u5b57\u8282\u4f4d\u7f6e\u5199 1\\nmovq $1, %rax ; \u5411 rax \u5bc4\u5b58\u5668\u5199 1\\n```\\n\\n\u8be6\u89c1 [Xi Ruoyao][xry111] \u7684[\u89e3\u91ca\u6587\u5b57](https://github.com/loongson-community/areweloongyet/pull/105#discussion_r1417857333)\u3002\\n:::\\n\\n#### GCC {#gcc}\\n\\n[\u6770\u54e5][jiegec]\u4e09\u5929\u524d\\n\uff0812 \u6708 8 \u65e5\uff09[\u53d1\u73b0](https://github.com/loongson-community/discussions/issues/23)\\nGCC 14 \u7684 20231203 \u5feb\u7167\u7248\u672c\uff0c\u76f8\u6bd4 GCC 13.2.1 \u5c45\u7136\u52a3\u5316\u4e86 3A6000 \u7684 CoreMark \u8dd1\u5206\u9ad8\u8fbe 15%\uff01Xi Ruoyao\\n\u7acb\u5373\u52a0\u5165\u6392\u67e5\u961f\u4f0d\u3002\\n\u5927\u5bb6\u53d1\u73b0\u4e86\u81f3\u5c11 4 \u4e2a\u5f7c\u6b64\u72ec\u7acb\u7684\u95ee\u9898\uff1a\\n\\n* [PR112919]\uff1a\u5148\u524d\u5728 LA464 \u4e0a\u8bc1\u5b9e\u6700\u4f18\u7684\u4ee3\u7801\u5757\u5bf9\u9f50\u53c2\u6570\uff0c\u5bf9 LA664 \u53cd\u800c\u662f\u635f\u5bb3\uff1b\\n* [PR112935]\uff1a\u67b6\u6784\u65e0\u5173\u90e8\u5206\u53d1\u751f\u4e86\u52a3\u5316\uff0cAndrew Pinski\\n \u5df2\u7ecf[\u7ed9\u51fa](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640030.html)\u8865\u4e01\uff1b\\n* [PR112936]\uff1a\u6392\u67e5\u4e0a\u4e00\u4e2a\u95ee\u9898\u65f6\uff0c\u53d1\u73b0 LoongArch \u7684\u4e58\u9664\u6cd5\u6307\u4ee4\u6210\u672c\u5b9a\u4e49\u5f97\u975e\u5e38\u574f\uff0c\u5b8c\u5168\u4e0d\u53cd\u6620\u73b0\u5b9e\uff0cXi Ruoyao\\n \u4e5f\u5df2[\u7ed9\u51fa](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640012.html)\u8865\u4e01\uff1b\u4ee5\u53ca\\n* [PR111126] \u4e5f\u4e0e\u672c\u95ee\u9898\u5b58\u5728\u4e00\u5b9a\u5173\u7cfb\uff0c\u662f\u540e\u7eed\u53ef\u4ee5\u60e0\u53ca LoongArch\u3001RISC-V \u548c MIPS64r6 \u7684\u4e00\u9879\u6539\u8fdb\u3002\\n\\n[PR112919]: https://gcc.gnu.org/PR112919\\n[PR112935]: https://gcc.gnu.org/PR112935\\n[PR112936]: https://gcc.gnu.org/PR112936\\n[PR111126]: https://gcc.gnu.org/PR111126\\n\\nJiahao Xu \u505a\u7684 LoongArch v1.10 \u7684\u8fd1\u4f3c\u6d6e\u70b9\u5012\u6570\u6307\u4ee4 `frecipe.[sd]`\u3001\u8fd1\u4f3c\u6d6e\u70b9\u5e73\u65b9\u6839\u5012\u6570\u6307\u4ee4 `frsqrte.[sd]`\\n\u53ca\u5176 SIMD \u652f\u6301\uff0c\u5df2\u7531 chenglulu [\u5408\u5165\u4e3b\u7ebf](https://github.com/gcc-mirror/gcc/commit/61f1001f2f4ab9128e5eb6e9a4adbbb0f9f0bc75)\u3002\\n\u611f\u8c22[\u6770\u54e5][jiegec]\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[Xi Ruoyao][xry111] [\u5141\u8bb8\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639748.html)\u628a `-mcmodel=extreme` \u4e0e `model` \u5c5e\u6027\uff0c\\n\u642d\u914d `-mexplicit-relocs=auto` \u4f7f\u7528\u3002\\n\\n[Yang Yujie][scylaac] [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639651.html)\u5bf9\\n`__builtin_eh_return` \u7684\u8c03\u7528\u4f1a\u5bfc\u81f4\u540c\u4e00\u51fd\u6570\u4e2d\u5176\u4ed6\u5e38\u89c4\u8fd4\u56de\u8def\u5f84\u7684\u8fd4\u56de\u503c\u88ab\u7834\u574f\u7684\u95ee\u9898\u3002\\n\u6b64\u95ee\u9898\u88ab\u53d1\u73b0\u4f1a\u5bfc\u81f4 libgcc \u7684 `_Unwind_RaiseException` \u5728\u6781\u7aef\u60c5\u51b5\u4e0b\u8fd4\u56de\u9519\u8bef\u7ed3\u679c\u3002\\n\\n[Yang Yujie][scylaac] \u8fd8\u57fa\u4e8e AOSC \u5f00\u53d1\u8005 Zixing Liu \u5148\u524d\u5728 9 \u6708\u4efd[\u53d1\u51fa\u7684](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631260.html)\\nD \u8bed\u8a00 LoongArch \u9002\u914d\u8865\u4e01\uff0c\\n\u5c06\u5176[\u8fed\u4ee3\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/638912.html)\u7b2c\u4e09\u7248\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n[jiegec]: https://github.com/jiegec\\n[scylaac]: https://github.com/scylaac\\n[xry111]: https://github.com/xry111\\n\\n#### LLVM {#llvm}\\n\\n[wangleiat](https://github.com/wangleiat) \u6559\u4f1a\u4e86 LLVM \u505a\u5f88\u591a SIMD \u4ee3\u7801\u751f\u6210\uff1a\\n\\n* [\u6574\u6570\u5143\u7d20\u7684\u53d6\u5b8c\u6574\u4e58\u6cd5\u7ed3\u679c\u9ad8\u534a\u90e8\u5206](https://github.com/llvm/llvm-project/commit/e9cd197d15300f186a5a32092103add65fbd3f50)\uff0c\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`mul`][llvm-langref-mul] \u968f\u540e\\n `ashr`/`lshr` \u518d `trunc` \u7684\u64cd\u4f5c\uff1b\\n* [\u6574\u6570\u5143\u7d20\u7684\u9009\u62e9](https://github.com/llvm/llvm-project/commit/de21308f78f3b0f0910638dbdac90967150d19f0)\uff0c\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`select`][llvm-langref-select]\uff1b\\n* [\u6d6e\u70b9\u3001\u6574\u6570\u7684\u5143\u7d20\u6bd4\u8f83](https://github.com/llvm/llvm-project/pull/74700)\uff0c\\n \u5206\u522b\u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`fcmp`][llvm-langref-fcmp]\\n \u4e0e [`icmp`][llvm-langref-icmp]\uff1b\\n* [\u6d6e\u70b9\u5f00\u5e73\u65b9\u3001\u6c42\u5012\u6570](https://github.com/llvm/llvm-project/pull/74795)\uff0c\\n \u5206\u522b\u5bf9\u5e94 LLVM IR \u4e2d\u7684 [`llvm.sqrt.*`][llvm-langref-sqrt] intrinsics\uff0c\\n \u4ee5\u53ca\u88ab\u9664\u6570\u662f 1.0 \u7684 [`fdiv`][llvm-langref-fdiv]\uff1b\\n* [\u6d6e\u70b9\u6c42\u76f8\u53cd\u6570](https://github.com/llvm/llvm-project/commit/cdc37325669c0321328a7245083c427b229e79e9),\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`fneg`][llvm-langref-fneg]\u3002\\n\\n[llvm-langref-fcmp]: https://llvm.org/docs/LangRef.html#fcmp-instruction\\n[llvm-langref-fdiv]: https://llvm.org/docs/LangRef.html#fdiv-instruction\\n[llvm-langref-fneg]: https://llvm.org/docs/LangRef.html#fneg-instruction\\n[llvm-langref-icmp]: https://llvm.org/docs/LangRef.html#icmp-instruction\\n[llvm-langref-mul]: https://llvm.org/docs/LangRef.html#mul-instruction\\n[llvm-langref-select]: https://llvm.org/docs/LangRef.html#select-instruction\\n[llvm-langref-sqrt]: https://llvm.org/docs/LangRef.html#llvm-sqrt-intrinsic\\n\\n[SixWeining](https://github.com/SixWeining)\\n[\u540c\u6b65\u4e86](https://github.com/llvm/llvm-project/pull/73345)\\nLoongArch ELF psABI 20231102 \u7248\u672c\uff08\u6574\u4f53\u7248\u672c\u53f7 v2.20\uff09\u53d8\u66f4\u4e86\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n\u672c\u7ad9\u7684\u5176\u4ed6\u680f\u76ee\u5f97\u5230\u4e86\u4e9b\u4e45\u8fdd\u7684\u66f4\u65b0\uff1a\\n\\n* \u65b0\u589e\u4e86[\u300a\u57fa\u7840\u8bbe\u65bd\u7248\u672c\u57fa\u7ebf\u53c2\u8003\u300b](/docs/baseline-reference/)\u4e0e[\u300a\u5178\u578b\u9f99\u67b6\u6784\u914d\u7f6e\u6570\u636e\u6536\u96c6\u300b](/docs/collection-of-typical-configurations/)\u4e24\u7bc7\u9605\u8bfb\u6750\u6599\uff1b\\n* \u4e3a[\u300a\u5982\u4f55\u79f0\u547c\u9f99\u67b6\u6784\uff1f\u300b](/docs/loong-or-loongarch/)\u66f4\u65b0\u4e86\u4fe1\u606f\uff0c\\n* \u5728\u9996\u9875\u65b0\u589e\u4e86 [ALT Linux](https://en.altlinux.org/Main_Page)\u3001[\u52c7\u8c79](https://github.com/sunhaiyong1978/Yongbao)\u4e24\u79cd\u53d1\u884c\u7248\uff1b\\n* \u5728\u9996\u9875\u65b0\u589e\u4e86 Haiku\u3001ReactOS \u4e24\u79cd\u5386\u53f2\u60a0\u4e45\u7684\u5c0f\u4f17\u5185\u6838\u3002\\n\\n\u6b22\u8fce\u8bfb\u8005\u4eec[\u63d0\u51fa\u5efa\u8bae](https://github.com/loongson-community/areweloongyet/issues)\u3001[\u53c2\u4e0e\u8d21\u732e](https://github.com/loongson-community/areweloongyet/pulls)\uff01\\n\\n[Xinmudotmoe] \u5341\u6708\u4efd\u5411 ROCm \u7684 ROCR-Runtime\\n\u7ec4\u4ef6[\u63d0\u4ea4\u7684](https://github.com/ROCm/ROCR-Runtime/pull/168)\\nLoongArch \u652f\u6301\u8865\u4e01\uff0c\u5df2\u4e3a AMD \u7ef4\u62a4\u8005\u6240\u786e\u8ba4\uff1a\u5c06\u8fdb\u5165 ROCm 6.1 \u5b98\u65b9\u7248\u672c\u3002\\n\\n[Xinmudotmoe]: https://github.com/Xinmudotmoe\\n\\nAOSC \u8d21\u732e\u8005[\u5085\u5b5d\u5143](https://github.com/eatradish)\u4e3a Rust \u7684 Lua \u7ed1\u5b9a\u5e93\\nmlua [\u65b0\u589e\u4e86](https://github.com/khvzak/mlua/pull/339) LoongArch \u652f\u6301\u3002\\n\u611f\u8c22[\u767d\u94ed\u9aa2](https://github.com/MingcongBai)\u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u8fd1\u65e5\uff0c[Xinmudotmoe] \u5728\u89d2\u78e8\u673a\u7684\u914d\u5408\u4e0b\uff0c\u4e3a :ta: \u7684 3A6000 \u6362\u4e0a\u4e86\u6c34\u51b7\uff01\\n\u770b\u770b :ta: \u7684\u597d\u6d3b:\u513f:\uff1a\\n\\n### 3A6000 \u6c34\u51b7\u8ba1\u5212\uff01\\n\\n\u56fa\u4ef6\u7ec4[\u66f4\u65b0\u592a\u5feb](https://github.com/loongson/Firmware/pull/79)\uff0c\\n\u4f7f\u5f97\u6211\u521a\u78e8\u5f00 PCIe \u69fd\u5c31\u6709\u4e86\u66f4\u597d\u7684\u56fa\u4ef6\u3002\uff08\u767d\u5e72\uff09\\n\\n\uff08\u7f16\u8005\u6309\uff1a3A6000 \u8bc4\u4f30\u677f\u7684\u51fa\u5382\u56fa\u4ef6\u662f\u4e0d\u80fd\u70b9\u4eae RDNA \u6216\u66f4\u5f80\u540e\u7684 A \u5361\u7684\u3002\\n\u867d\u7136\u53ef\u7528[\u300c\u732e\u796d\u6d41\u300d](https://github.com/loongson/Firmware/issues/74#issuecomment-1831442404)\u7ed5\u8fc7\uff0c\\n\u4f46\u524d\u63d0\u662f\u8981\u300c\u89e3\u51b3 x8 \u69fd\u63d2 x16 \u5361\u7684\u95ee\u9898\u300d\u2014\u2014\u670b\u53cb\u7684\u89d2\u78e8\u673a\u6015\u4e0d\u662f\u5c31\u4e3a\u8fd9\u8d2d\u4e70\u7684\u2026\u2026\uff09\\n\\nXA61200 \u4e3b\u677f\u6263\u5177\u517c\u5bb9 LGA 115x \u5b54\u4f4d\uff0c\u4f46\u5904\u7406\u5668\u9ad8\u5ea6\u8fc7\u4f4e\uff0c\u4e14\u6865\u7247\u6563\u70ed\u5668\u4e0e\u5904\u7406\u5668\u4f9b\u7535\u7535\u611f\u4f4d\u7f6e\u51b2\u7a81\u3002\\n\u53ea\u5f97\u7528\u89d2\u78e8\u673a\u5bf9 115x \u6c34\u51b7\u5934\u6846\u67b6\u8fdb\u884c\u6253\u78e8\uff0c\u4f7f\u5176\u517c\u5bb9\u3002\\n\u53ef\u89c1\u6253\u78e8\u540e\u6c34\u51b7\u5934\u7684\u53d8\u5316\uff08\u70b9\u51fb\u53ef\u770b\u9ad8\u6e05\u5927\u56fe\uff0c\u4e0b\u540c\uff09\uff1a\\n\\n\x3c!-- convert reduced-frame-closeup.jpg -resize 816x459 reduced-frame-closeup@0.25x.webp --\x3e\\n[![\u89d2\u78e8\u673a\u6253\u78e8\u540e\u7684\u51b7\u5934\u6846\u67b6\u7279\u5199](./reduced-frame-closeup@0.25x.webp)](./reduced-frame-closeup.jpg)\\n\\n\u6d4b\u8bd5\u5b89\u88c5\u538b\u529b\uff1a\\n\\n\x3c!-- convert pressure-test.jpg -resize 512x230 -rotate 90 pressure-test@0.125x.webp --\x3e\\n[![\u6d4b\u8bd5\u5b89\u88c5\u538b\u529b\u7684\u6548\u679c](./pressure-test@0.125x.webp)](./pressure-test.jpg)\\n\\n\u8fd0\u884c\u6548\u679c\uff1a\\n\\n\x3c!-- convert final-effect.jpg -resize 460x460 final-effect@0.25x.webp --\x3e\\n[![\u6c34\u51b7\u7cfb\u7edf\u7684\u8fd0\u884c\u6548\u679c](./final-effect@0.25x.webp)](./final-effect.jpg)\\n\\n~~\u89d2\u78e8\u4e00\u65f6\u723d\uff0c\u6f0f\u6db2\u706b\u846c\u573a\uff01~~\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u65b0\u589e\u4e00\u7bc7\u82f1\u96c4\u5e16\uff1a[\u5728\u793e\u533a\u4e2d\u65b0\u589e LoongArch \u7684 SMBIOS Type 44 \u8868\u683c\u652f\u6301](https://github.com/loongson-community/discussions/issues/28)\u3002\\n \u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u53bb\u8bc4\u8bba\u533a\u62a5\u5230\uff01\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-27","metadata":{"permalink":"/newsletter/this-week-in-loongarch-27","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-05-this-week-in-loongarch-27/index.md","source":"@site/newsletter/2023-12-05-this-week-in-loongarch-27/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-04T19:00:00.000Z","formattedDate":"2023\u5e7412\u67084\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":9.925,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-27","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","authors":["xen0n"],"date":"2023-12-04T19:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","permalink":"/newsletter/this-week-in-loongarch-28"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","permalink":"/newsletter/this-week-in-loongarch-26"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 ABI\u3001\u5de5\u5177\u94fe\u3001Firefox\u3001\u56fa\u4ef6\u3001OpenSSL\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 12 \u6708 4 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n## \u8981\u95fb\u901f\u9012 {#breaking-news}\\n\\n11 \u6708 28 \u65e5\uff0c\u9f99\u82af\u516c\u53f8\u5728\u56fd\u5bb6\u4f1a\u8bae\u4e2d\u5fc3\u4e3e\u529e\u4e86 2023 \u9f99\u82af\u4ea7\u54c1\u53d1\u5e03\u66a8\u7528\u6237\u5927\u4f1a\u3002\\n\u7b14\u8005\u5728\u73b0\u573a\u83b7\u5f97\u4e86\u4e00\u4e9b\u6709\u4ef7\u503c\u4fe1\u606f\uff1b\u5728\u672a\u6765\u51e0\u671f\u7684\u5468\u62a5\u4e2d\u5c06\u9646\u7eed\u4e3a\u60a8\u64ad\u62a5\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHengqi Chen \u5728\u8dd1 BPF \u81ea\u6211\u6d4b\u8bd5\u7684\u65f6\u5019\uff0c[\u53d1\u73b0](https://lore.kernel.org/loongarch/CAEyhmHT6UOryPZi7eEfw01Y_CjAqxy8NM6eKkdvdojJqB9P7eQ@mail.gmail.com/)\u5f00\u542f\\nLoongArch BPF JIT \u4e4b\u540e\uff0c\u4e00\u4e9b\u7528\u4f8b\u4f1a\u5bfc\u81f4\u5185\u6838 panic \u6216\u5bfc\u81f4 RCU \u5361\u6b7b\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c[\u4fee\u4e86](https://lore.kernel.org/loongarch/20231204141938.7230-1-hengqi.chen@gmail.com/)\u4e00\u79cd panic\u3002\\n\\nHengqi Chen \u7ee7\u7eed\u8fed\u4ee3 :ta: \u7684\u5c06\u7cfb\u7edf\u8c03\u7528\u53f7\u5b58\u5165 `struct thread_info` \u7684\u8865\u4e01\u7cfb\u5217\u3002\\n\u4e3a\u4e86\u89e3\u51b3 `execsnoop` \u7b49\u5de5\u5177\u4e0d\u53ef\u7528\u7684\u71c3\u7709\u4e4b\u6025\uff0c:ta: \u5355\u72ec[\u62c6\u51fa\u4e86](https://lore.kernel.org/loongarch/20231204053745.3153-1-hengqi.chen@gmail.com/)\\n`exec` \u65f6\u4e0d\u6e05\u96f6 `$a7`\uff08\u7cfb\u7edf\u8c03\u7528\u53f7\u5bc4\u5b58\u5668\uff09\u7684\u8865\u4e01\uff1b\u6b64\u8865\u4e01\u5df2\u88ab Huacai Chen \u63a5\u53d7\uff0c\\n\u5c06\u5728 Linux 6.7 \u6700\u7ec8\u53d1\u5e03\u65f6\u53ef\u7528\u3002\\n\\nTiezhu Yang [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20231129130701.27744-1-yangtiezhu@loongson.cn/)\u7b2c 5 \u7248\u7684\u4e3a\\nLoongArch \u9002\u914d [ORC stack unwinder](https://lwn.net/Articles/728339/) \u7684\u8865\u4e01\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u9f99\u82af\u56e2\u961f\u5b8c\u6210\u4e86\u521d\u7248 TLS[^tls] \u63cf\u8ff0\u7b26\uff08TLS descriptors\uff0cTLSDESC\uff09ABI \u7684\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\uff1a\\n\\n[^tls]: Thread-Local Storage\uff0c\u7ebf\u7a0b\u672c\u5730\u5b58\u50a8\u3002\u6b64 TLS \u975e\u5f7c TLS\uff08Transport Layer Security\uff0c\u4f20\u8f93\u5c42\u5b89\u5168\uff09\u3002\\n\\n* [binutils](https://sourceware.org/pipermail/binutils/2023-December/130916.html)\uff08Lulu Cai\uff09\\n* [gcc](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/638907.html)\uff08mengqinggang\uff09\\n* [glibc](https://sourceware.org/pipermail/libc-alpha/2023-December/153052.html)\uff08mengqinggang\uff09\\n\\nTLS \u63cf\u8ff0\u7b26\u662f\u4e00\u79cd\u7528\u6765\u4f18\u5316\u7ebf\u7a0b\u672c\u5730\u53d8\u91cf\uff08thread-local variables\uff09\u8bbf\u95ee\u901f\u5ea6\u7684\u65b9\u6848\uff0c\\n\u7531 Alexandre Oliva \u5728 2005 \u5e74\u524d\u540e\u8bbe\u8ba1\uff1b\u4f5c\u8005[\u516c\u5f00\u4e86](https://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-x86.txt)\u8bbe\u8ba1\u6587\u6863\u3002\\n\u76ee\u524d\u5b9e\u73b0\u4e86\u6216\u5373\u5c06\u5b9e\u73b0 TLS \u63cf\u8ff0\u7b26\u7684\u67b6\u6784\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a\\n\\n* \u5bcc\u58eb\u901a FR-V\uff1a\u6700\u521d\u8bbe\u8ba1\u7684\u7075\u611f\u6765\u6e90\u548c\u76ee\u6807\u67b6\u6784\u3002\\n* x86\uff1ai386\u3001AMD64\u3002\\n* ARM\uff1aARM\u3001AArch64\u3002\\n* Andes NDS32\\n* Tensilica Xtensa\\n* RISC-V\uff1a\u6b63\u5728\u63a8\u8fdb\u4e2d\uff0c[\u5de5\u5355](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94)\u3001[\u8bbe\u8ba1\u7a3f](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373)\u3002\\n\\nLoongArch \u4e0d\u65e5\u4e5f\u5c06\u52a0\u5165\u5b83\u4eec\u7684\u884c\u5217\u3002\\n\u7b2c\u4e00\u7248\u4ee3\u7801\u8fd8\u6709\u4e9b\u5730\u65b9\u8981\u6539\uff0c\u8bf7\u76f4\u63a5\u53bb\u4e0a\u6e38\u56f4\u89c2\u3002\\n\u503c\u5f97\u4e00\u63d0\u7684\u662f\u539f\u4f5c\u8005\u4e5f[\u52a0\u5165\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130932.html)\u8ba8\u8bba\uff0c\u5e76\u4ece\u81ea\u5df1\u7684\u7ecf\u9a8c\u7ed9\u51fa\u4e86\u5b9d\u8d35\u5efa\u8bae\uff01\\n\\n\u51e0\u4e4e\u4e0e\u6b64\u540c\u65f6\uff0c\u5e38\u4f73\u741b\u540c\u5b66\u4e5f[\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130921.html)\u4e00\u7248\u5bf9\\nTLS LE \u64cd\u4f5c\u7684 relaxation \u652f\u6301\u3002\\n\u8fd9\u540d\u53f7\u5728\u9f99\u82af\u5708\u5b50\u662f\u5934\u4e00\u56de\u89c1\uff0c\u90ae\u7bb1\u540e\u7f00\u4e5f\u662f\u897f\u5b89\u90ae\u7535\u5927\u5b66\uff0c\u800c\u975e `loongson.cn`\u2014\u2014\u65b0\u9c9c\u8840\u6db2\u672c\u5c31\u4e0d\u591a\u89c1\uff0c\\n\u4f55\u51b5\u9996\u79c0\u5c31\u5728 ABI \u8fd9\u79cd\u786c\u6838\u9886\u57df\u3002\\n\u8ba9\u6211\u4eec\u70ed\u70c8\u6b22\u8fce :ta:\uff01\\n\\n#### binutils {#binutils}\\n\\n\u5148\u524d[\u62a5\u9053\u8fc7\u7684](../2023-10-30-this-week-in-loongarch-22.md#binutils)\\n[Jiajie Chen](https://github.com/jiegec)\\n\u5e2e\u5fd9\u52a0\u7684 LoongArch® v1.10 \u65b0\u6307\u4ee4\uff0c\u5df2\u7ecf\u8fdb\u5165\u4e3b\u7ebf\uff1a[\u8865\u4e01\u7532](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=cd51849c90e8fd13779bec69f5d4c7aadf03a532)\u3001[\u8865\u4e01\u4e59](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9ff4752d0f6d46ca0f7d275ea07e05790ac8dd1d)\u3002\\n\\nmengqinggang \u7ee7\u7eed\u8ddf\u8fdb\u65b0\u7684\u4e2d\u7b49\u4ee3\u7801\u6a21\u578b\uff08medium code model\uff09\u8fc7\u7a0b\u8c03\u7528\u65b9\u5f0f `R_LARCH_CALL36`\\n\u7684\u9002\u914d\u5de5\u4f5c\uff0c\u7ed9 binutils [\u589e\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130906.html)\\n`call` \u548c `tail` \u4f2a\u6307\u4ee4\u652f\u6301\u3002\\n\u5728\u90ae\u4ef6\u5217\u8868\u5df2\u7ecf\u8fdb\u884c\u4e86\u4e00\u4e9b\u8ba8\u8bba\uff0c\u56e0\u6b64\u8fd9\u4e9b\u6307\u4ee4\u7684\u5177\u4f53\u5f62\u6001\u53ef\u80fd\u8fd8\u4f1a\u5fae\u8c03\uff0c\u4f46\u8981\u52a0\u5165\u8fd9\u4e24\u7c7b\u4f2a\u6307\u4ee4\u8fd9\u4ef6\u4e8b\u5e94\u8be5\u662f\u786e\u5b9a\u4e86\u3002\\n\u719f\u6089 RISC-V \u7684\u8bfb\u8005\u5e94\u8be5\uff08\u7ec8\u4e8e\uff09\u4f1a\u611f\u5230\u5bb6\u7684\u6e29\u6696 :wink:\\n\\n#### GCC {#gcc}\\n\\nJoern Rennecke \u4e0e Jeff Law [\u505a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638380.html)\u4e00\u7a3f\u6d88\u9664\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u3001\u96f6\u6269\u5c55\u7684\u5de5\u5e8f\uff08pass\uff09\u3002\\n\u8fd9\u4e0d\u662f\u4e13\u95e8\u4e3a LoongArch \u505a\u7684\u5de5\u4f5c\uff0c\u4f46\u5305\u62ec LoongArch \u5728\u5185\u7684\u4e0d\u5c11\u67b6\u6784\u5c06\u4ece\u4e2d\u53d7\u76ca\u3002\\n\\nJiahao Xu \u6309\u7167[\u4e4b\u524d Xi Ruoyao \u7684\u6539\u6cd5](../2023-11-13-this-week-in-loongarch-24.md#gcc)\uff0c\\n\u4fee\u590d\u4e86\u5269\u4f59\u7684\u5b50\u5bc4\u5b58\u5668\uff08subreg\uff09\u8bef\u7528\uff0c\\n\u7b49\u4e8e\u6d88\u706d\u4e86\u8fd9\u4e9b\u95ee\u9898\u903b\u8f91\u5c06\u5bfc\u81f4\u7684\u7f16\u8bd1\u5668\u5d29\u6e83\uff08ICE\uff09\u3002\\n\uff08GCC \u8981\u6c42\u4e0d\u80fd\u53d6\u5b50\u5bc4\u5b58\u5668\u7684\u5b50\u5bc4\u5b58\u5668\uff0c\u5426\u5219\u5d29\u6e83\u3002\uff09\\n\\nJiahao Xu \u8fd8[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638556.html)\\n`{v,xv}shuf` \u7684\u6d4b\u8bd5\u7528\u4f8b\u5728 LA664 \u4e0a\u5931\u8d25\u7684\u95ee\u9898\uff08bug [PR112611]\uff09\u3002\\n\u8fd9\u662f\u56e0\u4e3a\u539f\u5148\u7684\u9884\u671f\u8ba1\u7b97\u7ed3\u679c\u5c31\u662f LA464 \u4e0a\u76f8\u5e94\u6307\u4ee4\u7684\u6267\u884c\u6548\u679c\uff0c\u800c\u539f\u5148\u7684\u8f93\u5165\u6570\u636e\u4f1a\u89e6\u53d1 LA464 \u7684\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\n[PR112611]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112611\\n\\nJiahao Xu \u8fd8[\u52a0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638369.html)\\n`-mrecip` \u9009\u9879\uff0c\u7528\u6765\u63a7\u5236\u662f\u5426\u5229\u7528 LA664 \u7684\u4e24\u79cd\u6d6e\u70b9\u8fd1\u4f3c\u5012\u6570\u6307\u4ee4\u3002\u4ee3\u7801\u4ecd\u9700\u4fee\u6539\u3002\\n\\nliwei \u7528 LoongArch SIMD \u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638384.html)\u6807\u91cf\u7684\\n`__builtin_popcount` \u64cd\u4f5c\u3002\\n\uff08\u8fd9\u4e2a\u64cd\u4f5c\u7684\u542b\u4e49\u662f\u6c42\u6574\u6570\u7684\u4e8c\u8fdb\u5236\u8868\u793a\u4e2d `1` \u7684\u4e2a\u6570\uff1bpopulation count \u76f4\u8bd1\u662f\u300c\u4eba\u53e3\u8ba1\u6570\u300d\uff0c\u5f88\u5f62\u8c61\u3002\uff09\\n\\n:::info \u7f16\u8005\u6309\\n\u8fd9\u4e2a\u64cd\u4f5c\u6709\u5411\u91cf\u7248\uff1a`{v,xv}pcnt.[bhwd]`\uff0c\u5374\u6ca1\u6709\u6807\u91cf\u7248\uff0c\u4e0d\u5bf9\u79f0\u3002\\n\u5728\u4e00\u4e9b\u96f6\u661f\u4f7f\u7528\uff0c\u56e0\u800c\u4e0d\u503c\u5f97\u5411\u91cf\u5316\u7684\u573a\u666f\u53ef\u80fd\u5403\u4e8f\u3002\\n\u5e0c\u671b\u4ee5\u540e\u80fd\u8865\u4e0a\u8fd9\u4e00\u5757\u2026\u2026\\n:::\\n\\nliwei \u8fd8[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638385.html)\u53d6\u5947/\u5076\u5143\u7d20\u7684\u5411\u91cf\u64cd\u4f5c\u3002\\n\\nliwei \u8fd8[\u6e05\u7406\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638390.html)[\u4e0a\u6b21\u4f18\u5316\u540e](../2023-11-20-this-week-in-loongarch-25.md#CLZ_DEFINED_VALUE_AT_ZERO)\u91cd\u590d\u7684\\n`CLZ_DEFINED_VALUE_AT_ZERO` \u5b9a\u4e49\u3002\\n\\nguojie \u5728 UBSan \u7684\u6307\u5bfc\u4e0b[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637859.html)\\nLoongArch \u540e\u7aef\u5728\u5904\u7406\u7acb\u5373\u6570\u65f6\uff0c\u53ef\u80fd\u89e6\u53d1\u7684\u4e00\u5904\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\nguojie \u8fd8[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637858.html)\u9ad8 32 \u4f4d\u4e0e\u4f4e 32 \u4f4d\u78b0\u5de7\u76f8\u540c\u7684\u7acb\u5373\u6570\u7684\u88c5\u8f7d\u3002\\n\\n\u672c\u671f\u7684 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### LLVM {#llvm}\\n\\n[wangleiat] \u4eff\u7167\u4e24\u5e74\u524d\u7684\u4e00\u7ec4 x86 \u6539\u52a8\uff0c[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/73742)\u5728\u4ee3\u7801\u751f\u6210\u7684\u8fb9\u754c\u60c5\u51b5\u65f6\\n`fnmsub.[sd]` \u7684\u9519\u8bef\u7528\u6cd5\u3002\\n\\n[wangleiat] \u7528 SIMD \u6307\u4ee4[\u652f\u6301\u4e86](https://github.com/llvm/llvm-project/pull/73759)\\nLLVM IR \u7684 [`extractelement` \u64cd\u4f5c](https://llvm.org/docs/LangRef.html#extractelement-instruction)\uff08\u63d0\u53d6\u5143\u7d20\uff1a\u63d0\u53d6\u4f4d\u4e8e\u8f93\u5165\u5411\u91cf\u7684\u7ed9\u5b9a\u7d22\u5f15\u7684\u6807\u91cf\u5143\u7d20\uff09\u3002\\n\u8fd9\u5e94\u8be5\u662f\u6700\u65e9\u4e00\u6279\u7684 LLVM/Clang \u5411\u91cf\u652f\u6301\u4e86\uff0c\u671f\u5f85\u540e\u7eed\u7684\u66f4\u591a\u5185\u5bb9\u3002\\n\\n[SixWeining] \u8ba9 LoongArch Clang [\u652f\u6301\u4e86](https://github.com/llvm/llvm-project/pull/72514)\\n`-mcmodel=`\uff08\u4ee3\u7801\u6a21\u578b\uff09\u53c2\u6570\uff0c\u7528\u6cd5\u4e0e GCC \u7684\u8be5\u53c2\u6570\u76f8\u540c\u3002\\n\\n[heiher] \u7684 LLVM IR `code_model` \u65b0\u589e\u5de5\u4f5c[\u63a5\u8fd1\u5c3e\u58f0](https://github.com/llvm/llvm-project/pull/72077#issuecomment-1837468951)\uff1a\\n\u76ee\u524d\u6240\u6709\u4ee3\u7801\u5ba1\u67e5\u610f\u89c1\u90fd\u5904\u7406\u5b8c\u4e86\u3002\\n\\n[wangleiat]: https://github.com/wangleiat\\n[SixWeining]: https://github.com/SixWeining\\n[heiher]: https://github.com/heiher\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### Firefox {#firefox}\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u6ce8\u91cd\u684c\u9762\u7528\u6237\u4f53\u9a8c\u4e0e\u751f\u4ea7\u529b\uff0c\u5df2\u7ecf\u5728\u5708\u5185\u5c0f\u6709\u540d\u6c14\u3002AOSC \u7684\u5f00\u53d1\u8005\u4eec\u672c\u6b21\u4e5f\u4e3a\u706b\u72d0\uff08Firefox\uff09\u6d4f\u89c8\u5668\u5728\\nLoongArch \u7684\u826f\u597d\u7528\u6237\u4f53\u9a8c\u5e2e\u4e86\u5927\u5fd9\u3002\\n\\n[\u5218\u5b50\u5174](https://github.com/liushuyu)\u6210\u529f\u9002\u914d\u4e86 WebRTC\uff0c\u5df2\u7ecf\u53ef\u4ee5\u7528 Discord \u8fde\u9ea6\u4e86\uff0c\u5176\u4ed6\u7c7b\u4f3c\u7f51\u7ad9\u8bf4\u4e0d\u5b9a\u4e5f\u80fd\u7528\uff1a\\n\\n![Firefox WebRTC on LoongArch](./firefox-webrtc.jpg)\\n\\n\u6b64\u5de5\u4f5c\u540e\u7eed\u4f1a\u63a8\u5165\u4e0a\u6e38\u3002\\n\\n[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)[\u53bb\u9664\u4e86](https://phabricator.services.mozilla.com/D194320)\u89c6\u9891\u786c\u89e3\u63a5\u53e3\\nVA-API \u7684\u67b6\u6784\u653e\u884c\u540d\u5355\uff0c\u4f7f\u6240\u6709\u7684 Linux \u5e73\u53f0\u4e0d\u8bba\u67b6\u6784\uff0c\u53ea\u8981\u80fd\u6210\u529f\u52a0\u8f7d `libva`\uff0c\u5373\u53ef\u786c\u89e3\u89c6\u9891\u3002Firefox 122 \u5c06\u5305\u542b\u6b64\u6539\u8fdb\u3002\\n\\n### \u56fa\u4ef6 {#firmware}\\n\\n\u9f99\u82af\u56fa\u4ef6\u56e2\u961f[\u653e\u51fa\u4e86](https://github.com/loongson/Firmware/pull/79)\\n3A6000 \u8bc4\u4f30\u677f `EVB_XA61200` \u7684\u56fa\u4ef6\u66f4\u65b0\u3002\\n\u76f8\u6bd4\u51fa\u5382\u7248\u672c\uff0c\u4fee\u590d\u4e86\u5982\u8f83\u65b0\u578b\u53f7\u7684 AMD \u663e\u5361\u63d2\u4e0a\u5219\u65e0\u6cd5\u4eae\u673a\u3001DMI \u4fe1\u606f\u4e0d\u542b\u5185\u5b58\u5b9e\u9645\u8fd0\u884c\u9891\u7387\u7b49\u5927\u91cf\u95ee\u9898\uff0c\\n\u5efa\u8bae\u6709\u52a8\u624b\u80fd\u529b\u7684\u540c\u5b66\u8ddf\u8fdb\u66f4\u65b0\u3002\\n\u8bf7\u53bb[\u5b98\u65b9\u4ed3\u5e93\u9875\u9762](https://github.com/loongson/Firmware/tree/main/6000Series/PC/XA61200)\u67e5\u770b\u81ea\u5df1\u7684\u786c\u4ef6\u662f\u5426\u5339\u914d\uff0c\\n\u53ca\u4e0b\u8f7d\u66f4\u65b0\u6587\u4ef6\u3002\\n\u611f\u8c22 [Xi Ruoyao][xry111] \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[yetist](https://github.com/yetist) \u4e3a\u8457\u540d\u7684\u81ea\u52a8\u56fa\u4ef6\u5347\u7ea7\u5de5\u5177 fwupd \u7684 UEFI \u6a21\u5757 fwupd-efi\\n[\u589e\u52a0\u4e86](https://github.com/fwupd/fwupd-efi/pull/48) LoongArch \u652f\u6301\u3002\\n\u611f\u8c22 [Revy](https://github.com/RevySR) \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n### OpenSSL {#openssl}\\n\\n\u4e0a\u671f[\u63d0\u5230\u7684](../2023-11-27-this-week-in-loongarch-26.md#assorted-news)\u522b\u540d\u5206\u6790\uff08aliasing analysis\uff09\\n\u95ee\u9898\u5df2\u88ab\u4fee\u590d\uff0c\u5e76\u5f80\u56de\u79fb\u690d\u5230 3.2.x \u5206\u652f\u4e86\uff1a\\n\u4ece OpenSSL 3.2.1 \u5f00\u59cb\uff0c\u5373\u4fbf\u542f\u7528 LTO\uff0c\u4e5f\u4e0d\u7528\u975e\u5f97\u624b\u5de5\u6307\u5b9a\u5e73\u53f0\u4e3a `linux64-loongarch64` \u4e86\u3002\\n\u611f\u8c22 [Xi Ruoyao][xry111] \u5b8c\u6210\u6b64\u5de5\u4f5c\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[xry111]: https://github.com/xry111\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-26","metadata":{"permalink":"/newsletter/this-week-in-loongarch-26","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-27-this-week-in-loongarch-26.md","source":"@site/newsletter/2023-11-27-this-week-in-loongarch-26.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-27T15:20:00.000Z","formattedDate":"2023\u5e7411\u670827\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":8.67,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-26","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","authors":["xen0n"],"date":"2023-11-27T15:20:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","permalink":"/newsletter/this-week-in-loongarch-27"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","permalink":"/newsletter/this-week-in-loongarch-25"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 ELF psABI \u95ee\u9898\u7684\u6df1\u5165\u63a2\u8ba8\u3001Linux\uff0c\u4ee5\u53ca\u5de5\u5177\u94fe\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nWANG Rui \u672c\u5468\u72b6\u6001\u795e\u52c7\uff0c\u4e0d\u4ec5\u6253\u78e8\u4e86 `kexec` \u529f\u80fd\uff1a\\n\\n* [\u8df3\u8fc7\u4e86](https://lore.kernel.org/kexec/20231124085410.107080-1-wangrui@loongson.cn)\u4e00\u5904\u5e94\u8be5\u88ab\u8df3\u8fc7\u7684\u68c0\u67e5\uff1b\\n* [\u4fee\u590d\u4e86](https://lore.kernel.org/kexec/20231125065232.116319-1-wangrui@loongson.cn)\u65b0\u5185\u6838\u7684\u52a0\u8f7d\u5730\u5740\uff1b\\n* [\u62ac\u9ad8\u4e86](https://lore.kernel.org/kexec/20231125072643.116681-1-wangrui@loongson.cn) LZMA \u89e3\u538b\u7f29\u5668\u7684\u5185\u5b58\u9650\u5236\u3002\\n\\n`kexec` \u662f\u4e00\u79cd\u5185\u6838\u529f\u80fd\uff1a\u52a0\u8f7d\u4e00\u4e2a\u65b0\u5185\u6838\u4ee5\u66ff\u6362\u5f53\u524d\u8fd0\u884c\u7684\u5185\u6838\uff0c\u76f8\u5f53\u4e8e\u8df3\u8fc7\u786c\u4ef6\u3001\u56fa\u4ef6\u521d\u59cb\u5316\u8fc7\u7a0b\u7684\u91cd\u542f\u64cd\u4f5c\u3002\\n\u7531\u4e8e\u8fd9\u6837\u64cd\u4f5c\u4e0b\u6765\u7684\u786c\u4ef6\u72b6\u6001\u4e0e\u6b63\u5e38\u91cd\u542f\u7684\u590d\u4f4d\u72b6\u6001\u4e0d\u4e00\u5b9a\u76f8\u540c\uff0c\u56e0\u800c\u4e0d\u662f\u6240\u6709\u786c\u4ef6\u914d\u7f6e\u90fd\u80fd\u5728 `kexec` \u4e4b\u540e\u4ecd\u7136\u6b63\u5e38\u5de5\u4f5c\uff1b\\n\u4f46\u5bf9\u90a3\u4e9b\u80fd\u591f\u901a\u8fc7\u8003\u9a8c\u7684\u786c\u4ef6\uff0c`kexec` \u4fbf\u80fd\u6781\u5927\u7f29\u77ed\u7cfb\u7edf\u91cd\u542f\u6240\u5bfc\u81f4\u7684\u4e0b\u7ebf\u65f6\u95f4\u4e86\u3002\\n\\n\u800c\u4e14\u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231124035534.70432-1-wangrui@loongson.cn/)\\nLLD \u94fe\u63a5\u7684 PIE \u538b\u7f29\u5185\u6838\u4e0d\u80fd\u5f15\u5bfc\u7684\u95ee\u9898\uff0c[\u66f4\u65b0\u4e86](https://github.com/ClangBuiltLinux/linux/issues/1884)\\nClangBuiltLinux \u7684\u6a21\u5757\u652f\u6301\u5de5\u4f5c\u8fdb\u5ea6\uff0c\\n\u5e76\u4e3a LoongArch Linux \u7684 Rust \u652f\u6301[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/15)\u8ddf\u8e2a\u5de5\u5355\u3002\\n\\n\u611f\u8c22 :ta: \u81ea\u5df1\u521b\u9020\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\nXi Ruoyao [\u6e05\u7406\u4e86](https://lore.kernel.org/loongarch/20231126121727.47303-2-xry111@xry111.site/)\\n`rdtime.d` \u5305\u88c5\u51fd\u6570\u7684\u4e00\u5904\u591a\u4f59\u5bc4\u5b58\u5668\u4f7f\u7528\u3002\\n\\nHengqi Chen [\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231121070209.210934-1-hengqi.chen@gmail.com/)\u7cfb\u7edf\u8c03\u7528\u53f7\u7684\u5b58\u50a8\u65b9\u5f0f\uff0c\\n\u5c06\u5176\u585e\u5165 `struct thread_info`\uff0c\u636e\u8bf4\u53ef\u89e3\u51b3\u4e00\u4e9b\u8c03\u8bd5\u5de5\u5177\u6253\u4e86\u8ddf\u8e2a\u70b9\u5374\u4e0d\u89e6\u53d1\u7684\u95ee\u9898\u3002\\n\u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231124014822.7894-1-hengqi.chen@gmail.com/)\u6253\u5370\u6709\u4e9b\u6808\u4e0a\u8fc7\u7a0b\u8c03\u7528\u8bb0\u5f55\u4f1a\u6b7b\u5faa\u73af\u7684\u95ee\u9898\u3002\\n\\nBinbin Zhou [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/cover.1700817227.git.zhoubinbin@loongson.cn/)\u9f99\u82af 2 \u53f7\u6e29\u5ea6\u5b50\u7cfb\u7edf\u9a71\u52a8 `loongson2_thermal` \u7684\u4e24\u5904\u5c0f\u95ee\u9898\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u8fd1\u65e5\u6765\uff0c\u793e\u533a\u540c\u5b66\u4eec\u88ab LoongArch ELF psABI v2.00 \u5f15\u5165\u7684 64 \u4f4d `PCALA` \u91cd\u5b9a\u4f4d\u8ba1\u7b97\u65b9\u5f0f[\u641e\u5f97\u7126\u5934\u70c2\u989d](https://github.com/loongson-community/discussions/issues/17)\u3002\\n\\n\u8fd9\u8981\u4ece[\u4e00\u4e2a\u770b\u4f3c\u5e73\u5e38\u7684\u5ba2\u6237\u53cd\u9988\u95ee\u9898\u4fee\u590d](https://github.com/llvm/llvm-project/pull/71907)\u8bf4\u8d77\u3002\\n\u5f00\u59cb\u90fd\u4ee5\u4e3a\u53ea\u662f\u5e73\u5e38\u5bb9\u6613\u5ffd\u89c6\u7684\u6ea2\u51fa\u95ee\u9898\uff0c\u4fee\u6389\u5c31\u597d\u4e86\uff0c\u6b8a\u4e0d\u77e5\u80cc\u540e\u9690\u85cf\u7684\u662f\u5f53\u524d\u5904\u7406\u65b9\u5f0f\u7684\u6839\u672c\u7f3a\u9677\uff1a\\n\u7531\u4e8e\u9f99\u67b6\u6784\u4e0a\u62fc\u63a5\u4e00\u4e2a 64 \u4f4d PC-\u76f8\u5bf9\u5730\u5740\u7684\u56db\u6761\u6307\u4ee4\u4e0d\u9700\u8981\u8fde\u7eed\uff0c\u5bf9\u5e94\u7684\u56db\u6761\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u4e4b\u95f4\u4e5f\u6ca1\u6709\u4efb\u4f55\u5173\u8054\uff0c\\n\u56e0\u6b64\u5f53\u5b83\u4eec\u8de8\u4e86 4KiB\uff08\u5bf9\u5e94 12 \u4f4d\u7acb\u5373\u6570\uff09\u8fb9\u754c\u65f6\uff0c\u5c06\u5bfc\u81f4\u9519\u8bef\u7684\u91cd\u5b9a\u4f4d\u6548\u679c\u3002\\n\\n\u8fd9\u662f\u7531\u4e8e\uff0c\u53ea\u6709\u4e00\u6761\u6307\u4ee4\u8d1f\u8d23\u8d21\u732e\u300cPC-\u76f8\u5bf9\u300d\u4e2d\u7684\u300cPC\u300d\u90e8\u5206\uff0c\u90a3\u4e48\u8d1f\u8d23\u8d21\u732e\u300c\u76f8\u5bf9\u300d\u90e8\u5206\u7684\u53e6\u5916\u4e09\u6761\u6307\u4ee4\uff0c\\n\u90fd\u5e94\u8be5\u300c\u76f8\u5bf9\u300d\u4e8e**\u90a3\u6761\u8d21\u732e\u4e86 PC \u7684\u6307\u4ee4**\u2014\u2014\u8fd9\u5728\u5f53\u524d\u7248\u672c\u7684 LoongArch ELF psABI \u4e2d\uff0c\u65e0\u6cd5\u505a\u5230\uff01\\n\u6bcf\u6761\u6307\u4ee4\u9644\u5c5e\u7684\u91cd\u5b9a\u4f4d\u8bb0\u5f55\uff0c\u90fd\u6307\u5411\u90a3\u4e2a\u76ee\u6807\u7b26\u53f7\uff0c\u800c\u76f8\u4e92\u4e4b\u95f4\u4e0d\u5b58\u5728\u5173\u8054\u3002\\n\u56e0\u6b64\u53ea\u8981\u56db\u6761\u6307\u4ee4\u4e0d\u5c5e\u4e8e\u540c\u4e00\u6bb5 4KiB \u7a7a\u95f4\uff0c\u5b9e\u9645\u4f1a\u88ab\u6267\u884c\u7684\u300c\u76f8\u5bf9\u300d\u90e8\u5206\u5c31\u4f1a\u504f\u5dee\uff1a\\n\u76ee\u524d\u53ea\u80fd\u4f7f\u7528\u6bcf\u6761\u6307\u4ee4\u81ea\u5df1\u7684 PC \u6765\u8ba1\u7b97\u91cd\u5b9a\u4f4d\u3002\\n\\n\u76ee\u524d\u8ba8\u8bba\u4f3c\u4e4e\u5b89\u9759\u4e86\u4e0b\u6765\uff1a\u5927\u6982\u7387\u8981\u7ed9 LoongArch ELF psABI \u518d\u6253\u4e00\u6b21\u8865\u4e01\uff0c\\n\u4ee5\u7c7b\u4f3c RISC-V \u7684\u505a\u6cd5\u4e3a\u95ee\u9898\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u8865\u5145\u5173\u952e\u4fe1\u606f\u3002\\n\u5f53\u7136\uff0c\u8fd9\u6709\u5f88\u591a\u5177\u4f53\u5b9e\u73b0\u65b9\u5f0f\uff0c\u5404\u6709\u5229\u5f0a\uff1b\u7814\u7a76\u4e5f\u5c06\u7ee7\u7eed\uff0c\u6709\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u53bb\u4e0a\u6e38\u56f4\u89c2\u3001\u53c2\u4e0e\u3002\\n\\n\u611f\u8c22 Xi Ruoyao \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n#### GCC {#gcc}\\n\\n\u7531\u4e8e GCC 14 \u7684\u65b0\u529f\u80fd\u7279\u6027\u5f00\u53d1\u9636\u6bb5\u5df2\u7ecf\u7ed3\u675f\uff0cXi Ruoyao [\u53d1\u8d77\u4e86](https://github.com/loongson-community/discussions/issues/16)\u5728 GCC 15 \u5b9e\u73b0 LoongArch 16 \u5b57\u8282\u5bbd\u5ea6\u539f\u5b50\u64cd\u4f5c\u7684\u8ba8\u8bba\u3002\\n\\nXi Ruoyao [\u4fee\u590d\u4e86](https://gcc.gnu.org/r14-5634)\u9f99\u67b6\u6784 stage1 \u4ea4\u53c9\u7f16\u8bd1\u5668\u7684\u6784\u5efa\u5931\u8d25\u95ee\u9898\uff1a\\n\u5728\u76ee\u6807 libc \u53ef\u7528\u4e4b\u524d\uff0c\u6ca1\u6709\u529e\u6cd5\u4f7f\u7528 ``\uff0c\u56e0\u6b64\u5728\u975e\u76ee\u6807\u67b6\u6784\u7684\u5e93\u4ee3\u7801\u91cc\u4e5f\u5e94\u8be5\u907f\u514d\u4f7f\u7528\u3002\\n\\nXi Ruoyao \u8fd8[\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638067.html)\u4e0e\\nLoongArch \u4e0d\u592a\u76f4\u63a5\u76f8\u5173\u7684\u4e00\u5904\u6d6e\u70b9\u4f18\u5316\u9519\u8bef\u3002\\n\\n\u7b14\u8005\u4e0a\u5468[\u6392\u67e5\u51fa\u4e86](https://github.com/loongson-community/discussions/issues/19)\\nGCC 14 \u6784\u5efa `systemd-boot` UKI stub \u4e0d\u80fd\u6b63\u5e38\u5f15\u5bfc\u5185\u6838\u7684\u95ee\u9898\u539f\u56e0\uff1a\\n\u662f\u5728\u7f16\u8bd1\u65f6\u5e26\u4e86 `-march=la464` \u6216\u5176\u4ed6\u8868\u793a\u6709 SIMD \u6269\u5c55\u7528\u7684\u7f16\u8bd1\u53c2\u6570\u65f6\uff0cGCC \u4fbf\u5728 UEFI \u4ee3\u7801\u91cc\u4f7f\u7528\u4e86 SIMD \u6307\u4ee4\uff0c\\n\u800c\u8fd9\u65f6 SIMD \u5355\u5143\u672a\u4e3a\u66f4\u65e9\u9636\u6bb5\u8fd0\u884c\u7684\u56fa\u4ef6\u4ee3\u7801\u6240\u542f\u7528\uff0c\u5bfc\u81f4\u6b7b\u6389\u3002\\n\u5728\u5c1d\u8bd5\u89e3\u51b3\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\u52a0\u4e86 `-mabi=lp64s` \u4f1a\u5bfc\u81f4\u6784\u5efa\u5931\u8d25\uff0c\u56e0\u4e3a\u60f3\u5f15\u7528\u8f6f\u6d6e\u70b9\u914d\u7f6e\u7684 glibc \u5934\u800c\u4e0d\u80fd\uff1b\\n\u6b64\u65f6 Xi Ruoyao \u53d1\u73b0 GCC \u7684 `` \u603b\u662f\u4f1a\u5f15\u7528 libc \u7684\u540c\u540d\u5934\uff0c\u800c\u5728 `-ffreestanding`\\n\u60c5\u5f62\u4e0b\u8fd9\u662f\u53ef\u4ee5\u907f\u514d\u7684\uff0c\u56e0\u800c[\u53d1\u8d77\u4e86](https://gcc.gnu.org/PR112699)\u8be5\u63d0\u8bae\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### Go {#golang}\\n\\n\u622a\u81f3 11 \u6708 22 \u65e5\uff0cGo 1.22 \u5f00\u53d1\u5468\u671f\u5df2\u8fdb\u5165\u529f\u80fd\u51bb\u7ed3\u9636\u6bb5\u3002Go 1.22 \u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\u6709\uff1a\\n\\n* \u5bc4\u5b58\u5668\u4f20\u53c2 ABI\uff08regabi\uff09\u652f\u6301\uff1b\\n* \u63d2\u4ef6\u6784\u5efa\u6a21\u5f0f\uff08`buildmode=plugin`\uff09\u652f\u6301\u3002\\n\\n\u8fd9\u4e2a\u7248\u672c\u7684 LoongArch regabi \u652f\u6301\u5904\u4e8e\u5b9e\u9a8c\u6027\u72b6\u6001\uff0c\u4e0d\u4f1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u4f46\u5b9e\u9645\u4e0a\u8be5\u529f\u80fd\u5df2\u7a33\u5b9a\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u4e86\u3002\\n\u5f85 Go 1.22 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u8bfb\u8005\u53ef\u53c2\u8003\u5b98\u65b9\u7684\u53d1\u5e03\u8bf4\u660e\u6587\u6863\u4ee5\u4e86\u89e3\u5177\u4f53\u8be5\u600e\u4e48\u7528\uff0c\u5e2e\u5fd9\u6d4b\u8bd5\u3002\\n\\nMeidan Li \u7b49\u4eba\u8fd1\u65e5\u4e5f[\u63d0\u4ea4\u4e86](https://go.dev/cl/535616) cgo \u7684\u5185\u90e8\u94fe\u63a5\u652f\u6301\uff0c\\n\u94fe\u63a5\u542b\u6709 cgo \u7684 Go \u7a0b\u5e8f\u65f6\u5c31\u4e0d\u518d\u9700\u8981\u672c\u5730\u5b58\u5728\u4e00\u5957 C \u4ea4\u53c9\u5de5\u5177\u94fe\u4e86\u3002\\n\u8fd9\u5bf9\u4e0d\u5199 C/C++ \u4f46\u4f1a\u5411 LoongArch \u4ea4\u53c9\u7f16\u8bd1\u7684\u4eba\u58eb\u4f1a\u66f4\u53cb\u597d\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\nXi Ruoyao \u4fee\u4e86\u4e00\u5806 OpenSSL bugs\uff1a\\n\\n* [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/22812) `linux64-loongarch64` \u5e73\u53f0\u88ab\u81ea\u52a8\u63a2\u6d4b\u65f6\uff0c\u5f00\u542f LTO \u6784\u5efa\u4f1a\u5931\u8d25\u7684\u95ee\u9898\u3002\\n\\n \u6b64\u4fee\u590d\u4e0d\u4f1a\u88ab\u79fb\u690d\u56de OpenSSL 3.2.x \u7248\u672c\uff0c\u56e0\u6b64\u5982\u679c\u60a8\u8981\u5f00\u7740 LTO \u6784\u5efa\u8fd9\u4e9b\u7248\u672c\u7684 OpenSSL\uff0c\u8bf7\u624b\u5de5\u6307\u5b9a\u5e73\u53f0\u4e3a `linux64-loongarch64`\u3002\\n\\n* [\u5c1d\u8bd5\u89e3\u51b3\u4e86](https://github.com/openssl/openssl/pull/22816)\u4e0a\u4e2a\u95ee\u9898\u7684\u6839\u56e0\uff1a\u522b\u540d\u5206\u6790\uff08aliasing analysis\uff09\u4e0d\u5f00\u5fc3\u4e86\u3002\\n* [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/22817) LoongArch64 \u6c47\u7f16\u4f18\u5316\u5305\u4e2d\u7684 ChaCha20 \u7b97\u6cd5\u672a\u9075\u5b88 ABI\uff08\u8be5\u4fdd\u5b58\u7684\u6d6e\u70b9\u5bc4\u5b58\u5668\u6ca1\u4fdd\u5b58\uff09\u7684\u95ee\u9898\u3002\\n* \u7528 `rdtimel.w` \u6307\u4ee4[\u771f\u6b63\u5b9e\u73b0\u4e86](https://github.com/openssl/openssl/pull/22823) `rdtsc` \u6307\u4ee4\u7684\u6a21\u62df\uff08\u5148\u524d\u76f4\u63a5\u8fd4\u56de 0 \u4e86\uff09\u3002\\n\\n\u611f\u8c22 :ta: \u81ea\u5df1\u521b\u9020\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-25","metadata":{"permalink":"/newsletter/this-week-in-loongarch-25","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-20-this-week-in-loongarch-25.md","source":"@site/newsletter/2023-11-20-this-week-in-loongarch-25.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-20T10:50:00.000Z","formattedDate":"2023\u5e7411\u670820\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":11.515,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-25","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","authors":["xen0n"],"date":"2023-11-20T10:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","permalink":"/newsletter/this-week-in-loongarch-26"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","permalink":"/newsletter/this-week-in-loongarch-24"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux \u548c\u5de5\u5177\u94fe\uff08\u6709\u5f88\u591a\u6210\u679c\uff09\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n11 \u6708 19 \u65e5\uff0c\u5185\u6838\u6784\u5efa\u7cfb\u7edf\u7ef4\u62a4\u8005 Masahiro Yamada [\u5e2e\u5fd9\u6dfb\u52a0\u4e86](https://lore.kernel.org/loongarch/20231119053448.2367725-1-masahiroy@kernel.org/)\u9f99\u67b6\u6784\\n`vmlinuz.efi` \u4e0e `vmlinux.efi` \u4e4b\u95f4\u9057\u6f0f\u7684\u4f9d\u8d56\u5173\u7cfb\u3002\\n\u8fd9\u4f7f\u5f97\u5e76\u884c\u6784\u5efa\u66f4\u53ef\u9760\uff1a\u4e4b\u524d\u6709\u4f4e\u6982\u7387\u4f1a\u5728\u8fd9\u4e2a\u9636\u6bb5\u5931\u8d25\u3002\\n\\n11 \u6708 18 \u65e5\uff0c\u793e\u533a\u7528\u6237 Haowu Ge \u5728\u7f16\u8bd1 OpenZFS \u65f6\uff0c[\u53d1\u73b0](https://github.com/chenhuacai/linux/issues/3)\u591a\u51fa\u4e86\u5bf9\u4fe9 GPL-only \u7b26\u53f7\u7684\u4f9d\u8d56\u3002\\n\u56e0\u4e3a\u8fd9\u4fe9\u7b26\u53f7\u662f\u7528\u6765\u5b9e\u73b0 `virt_to_page` \u8fd9\u4e00\u9884\u5904\u7406\u5668\u5b8f\u7684\uff0c\u800c\u539f\u5148\u5bf9\u6b64\u5b8f\u7684\u4f7f\u7528\u5e76\u4e0d\u6d89\u53ca GPL\uff0c\\n\u6240\u4ee5\u5c06 GPL \u9700\u6c42\u53bb\u9664\u5927\u6982\u4e5f\u5408\u60c5\u5408\u7406\uff1bHuacai Chen \u7b2c\u4e8c\u5929\u4fbf[\u8fd9\u4e48\u505a\u4e86](https://lore.kernel.org/loongarch/20231119023317.3359647-1-chenhuacai@loongson.cn/)\u3002\\n\\nWANG Rui \u5728\u6301\u7eed\u63a8\u8fdb ClangBuiltLinux \u5de5\u4f5c\uff1a11 \u6708 15 \u65e5\u9884\u9632\u6027\u5730[\u589e\u52a0\u4e86](https://lore.kernel.org/loongarch/20231115132137.178523-1-wangrui@loongson.cn/)\u7f16\u8bd1\u9009\u9879\uff0c16\\n\u65e5\u53c8[\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231116130331.241395-1-wangrui@loongson.cn/)\u7edd\u5bf9\u91cd\u5b9a\u4f4d\u7684\u8bb0\u5f55\u65b9\u5f0f\u4ee5\u5141\u8bb8\u7528\\nLLVM/Clang \u7f16\u8bd1\u53ef\u91cd\u5b9a\u4f4d\u5185\u6838\u3002\\n\\n11 \u6708 15 \u65e5\uff0cHuacai Chen \u53c2\u7167 RISC-V \u505a\u6cd5[\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231115141530.2534778-1-chenhuacai@loongson.cn/)\u5185\u6838\u53c2\u6570\\n`nokaslr` \u7684\u5904\u7406\u65b9\u5f0f\uff0c\u4f7f\u5176\u4e0d\u4f1a\u88ab\u900f\u4f20\u81f3 init \u8fdb\u7a0b\u7684\u547d\u4ee4\u884c\u53c2\u6570\u3002\\n\\n\u540c\u4e00\u5929\uff0cHuacai Chen \u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231115090735.2404866-1-chenhuacai@loongson.cn/)\\nRandy Dunlap \u524d\u4e00\u5929[\u81ea\u52a8\u5316\u53d1\u73b0\u7684](https://lore.kernel.org/loongarch/960bef74-ed09-4b6f-8ae8-b3effef6914f@infradead.org/)\\nLoongArch KVM \u6784\u5efa\u5931\u8d25\u3002\\n\u8fd9\u662f\u4e00\u5904\u672a\u8ddf\u8fdb\u7684 API \u53d8\u66f4\uff1b\u4f30\u8ba1\u662f\u539f\u4f5c\u8005[\u91cd\u6784](https://lore.kernel.org/all/20231105163040.14904-4-pbonzini@redhat.com/)\u65f6\uff0c\\n\u7531\u4e8e LoongArch KVM \u4ee3\u7801\u5f53\u65f6\u5c1a\u672a\u4e3b\u7ebf\u5316\uff0c\u56e0\u800c\u6ca1\u770b\u5230\u3001\u6539\u5230\u3002\\n\\n11 \u6708 14 \u65e5\uff0cXi Ruoyao \u5728\u65e5\u5e38\u7684\u5de5\u5177\u94fe\u7ef4\u62a4\u4e2d\uff0c\u53d1\u73b0\u5347\u7ea7\u5230 Linux v6.7-rc1 \u4e4b\u540e\uff0c\u51e0\u6761 glibc\\n\u591a\u7ebf\u7a0b\u540c\u6b65\u7684\u6d4b\u8bd5\u7528\u4f8b\u5f00\u59cb\u8d85\u65f6\u4e86\uff0c\u800c x86 \u5c45\u7136\u4e5f\u5b58\u5728\u8be5\u95ee\u9898\uff01\\n\u9042\u679c\u65ad[\u62a5\u544a\u4e86](https://lore.kernel.org/all/d69d50445284a5e0d98a64862877c1e6ec22a9a8.camel@xry111.site/T/#u)\u3002\\n\u56e0\u4e3a\u5f15\u8d77\u95ee\u9898\u7684\u63d0\u4ea4\u662f\u4e2a\u5e38\u89c4\u91cd\u6784\uff0c\u53ea\u662f\u6539\u53d8\u4e86\u51e0\u4e2a\u6807\u5fd7\u4f4d\u7684\u5177\u4f53\u53d6\u503c\uff0c\u6240\u4ee5\u4f5c\u8005 Peter Zijlstra \u4e5f\u767e\u601d\u4e0d\u5f97\u5176\u89e3\u3002\\n\u76f4\u5230 Florian Weimer \u6307\u51fa `kernel/futex/core.c` \u6709\u51e0\u5904\u4f20\u53c2\u76f4\u63a5\u5199\u4e86 `1` \u800c\u975e `FLAGS_SHARED`\uff0c\\n\u624d\u604d\u7136\u5927\u609f\uff1b\\n\u4e8e\u662f\u6b64\u95ee\u9898\u5728 v6.7-rc2 \u5df2[\u5f97\u5230\u4fee\u590d](https://github.com/torvalds/linux/commit/c9bd1568d5462f4108417518ce1af7b924acfb6f)\u3002\\n\u611f\u8c22 Xi Ruoyao \u7684\u65b0\u95fb\u7ebf\u7d22\u4ee5\u53ca :ta: \u672c\u6b21\u4e3a Linux \u7a33\u5b9a\u6027\u4f5c\u51fa\u7684\u8d21\u732e\uff01\\n\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n11 \u6708 14 \u65e5\uff0cXi Ruoyao \u60f3\u7ed9 binutils \u5728\u9f99\u67b6\u6784\u4e0a\u589e\u52a0 `DT_RELR` \u652f\u6301\uff0c\u8fd9\u6837\u53ef\u4ee5\u6709\u6548\u7f29\u5c0f\u4e00\u4e9b\u5927\u8f6f\u4ef6\u7684\u4f53\u79ef\uff1b\\n\u4f46 binutils \u7684\u6e90\u7801\u5f88\u4e0d\u76f4\u89c2\uff0c\u4e0d\u597d\u6539\uff0c\u4e8e\u662f\\n:ta: [\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/12)\u534f\u8c03\u5de5\u5355\u3002\\n\u968f\u540e MaskRay \u770b\u5230\u4e86\uff0c\u53cb\u60c5\u6307\u4e86\u6761\u8def\u3002\\n\\n#### GCC\\n\\n11 \u6708 19 \u65e5\uff0cXi Ruoyao [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637239.html)\\nLSX \u6d6e\u70b9\u5411\u91cf shuffle \u6700\u7ec8\u751f\u6210\u4ee3\u7801\u5176\u5dee\u65e0\u6bd4\u7684\u95ee\u9898\u3002\\n\\n11 \u6708 17 \u65e5\uff0c\u5728\u6392\u67e5\u4e00\u4e2a[\u6709\u6982\u7387\u53d1\u751f\u7684\u95ee\u9898](https://github.com/loongson-community/discussions/issues/7)\u65f6\uff0cXi Ruoyao\\n[\u53d1\u73b0](https://gcc.gnu.org/PR112578) GCC \u5728\u5411\u91cf\u5316 LoongArch \u6d6e\u70b9\u820d\u5165\u64cd\u4f5c\u65f6\uff0c\u5bf9\u6d6e\u70b9\u5f02\u5e38\u7684\u5904\u7406\u6709\u8bef\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c[\u8fed\u4ee3\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637316.html)\u7b2c\u4e09\u7248\u4fee\u590d\u3002\\n\u8fd9\u4e2a\u4ee3\u7801\u751f\u6210\u95ee\u9898\u8ddf\u539f\u5148\u8981\u6392\u67e5\u7684\u95ee\u9898\u65e0\u5173\uff1b\u8fd8\u5f97\u63a5\u7740\u67e5\uff01\\n\\n\u540c\u4e00\u5929\u51cc\u6668\uff0cKevin Lee \u5728 RISC-V \u4e0a[\u53d1\u73b0\u4e86](https://gcc.gnu.org/PR107723)\u7c7b\u4f3c\u7684\u6d6e\u70b9\u5f02\u5e38\u5904\u7406\u95ee\u9898\uff1a\\n\u5373\u4fbf\u52a0\u4e86 `-fno-fp-int-builtin-inexact` \u9009\u9879\uff0c`lround`\u3001`ceil` \u4e0e `floor` \u7b49\u64cd\u4f5c\u8fd8\u662f\u4f1a\u4ea7\u751f\u53ef\u80fd\u629b\u5f02\u5e38\u7684\u6307\u4ee4\u3002\\n\u968f\u540e\u4eba\u4eec\u53d1\u73b0 x86_64\u3001AArch64 \u548c LoongArch \u4e0a\u90fd\u5b58\u5728\u8be5\u95ee\u9898\uff0c\u56e0\u4e3a\u67b6\u6784\u65e0\u5173\u90e8\u5206\u5df2\u7ecf\u628a\u4ee3\u7801\u300c\u4f18\u5316\u300d\u6210\u4e86\u9519\u8bef\u5f62\u72b6\u3002\\n\u8fd9[\u63d0\u9192\u4e86](https://gcc.gnu.org/PR107723) Andrew Pinski \u8981\u5b8c\u5584\u4e0b\u8fd9\u90e8\u5206\u6587\u6863\u3002\\n\\n11 \u6708 16 \u65e5\uff0cXi Ruoyao [\u5b8c\u6210\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636795.html)\u4e00\u7248\\nLA664 \u65b0\u589e\u7279\u6027\u7684 GCC \u9002\u914d\uff0c\u53ef\u4ee5\u7528 `-march=la664` \u4e86\uff0c\\n\u4e5f\u7ed9 `-march=native` \u52a0\u4e86\u76f8\u5e94\u5904\u7406\u3002\\n\u4e0d\u5de7\u9f99\u82af\u4e5f\u505a\u4e86\u540c\u6837\u7684\u4e8b\uff0c\u649e\u8f66\u4e86\uff1bLulu Cheng\\n\u7b2c\u4e8c\u5929[\u53d1\u4e86\u51fa\u6765](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636946.html)\u3002\\n\u9f99\u82af\u7684\u8fd9\u7248\u4ee3\u7801\u53ea\u505a\u4e86\u539f\u5b50\u64cd\u4f5c\u7684\u4e00\u90e8\u5206\u4f18\u5316\uff0c\u800c\u672a\u653e\u5bbd 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u4f59\u64cd\u4f5c\u7684\u5165\u53c2\u8981\u6c42\uff0c\\n\u4e5f\u672a\u53bb\u9664\u90a3\u4e9b\u5728 LA664 \u4e0a\u4e0d\u518d\u5fc5\u8981\u7684 `DBAR 0x700` \u6307\u4ee4\uff1b\\n\u56e0\u6b64 Xi Ruoyao \u4ee5\u8fd9\u4e00\u7248\u9f99\u82af\u4ee3\u7801\u4e3a\u57fa\u7840\uff0c\u53c8[\u6539\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637090.html)\u4e00\u7248\u3002\\n\\n\\n\\n\u540c\u4e00\u5929\uff0cJiahao Xu [\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636792.html)\u4e00\u4e9b\\nLSX\u3001LASX \u6d4b\u8bd5\uff1bLi Wei\\n\u4e5f\u5411 GCC [\u660e\u786e\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636789.html)\\nLoongArch \u7684 `clz` `ctz` \u6307\u4ee4\u53ef\u4ee5\u6b63\u786e\u5904\u7406\u8f93\u5165\u4e3a\u96f6\u7684\u60c5\u51b5\u3002\\n\\n\u8fd9\u4e00\u5929 Jiahao Xu \u8fd8\u6839\u636e SPEC2017 \u8dd1\u5206\u7ed3\u679c\uff0c\u628a\u5411\u91cf\u8bbf\u5b58\u64cd\u4f5c\u7684\u6210\u672c\u4ece 1\\n[\u5fae\u8c03\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637316.html)\\n2\uff0c\u8ba9\u5b83\u4eec\u548c\u975e\u5bf9\u9f50\u8bbf\u5b58\u76f8\u540c\uff1b\\n\u7ed3\u679c[\u5f71\u54cd\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637155.html)\u6d4b\u8bd5\uff0c\\n\u5f85\u4fee\u590d\u3002\\n\\n11 \u6708 14 \u65e5\uff0cLulu Cheng \u8ba9 GCC \u5728\u4e2d\u7b49\u4ee3\u7801\u6a21\u578b\uff08`-mcmodel=medium`\uff09\u4e0b\uff0c[\u6362\u4f5c](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636443.html)\u4ee5\\n`%call36` \u5f62\u5f0f\u8fdb\u884c\u8fc7\u7a0b\u8c03\u7528\u3002`call36` \u662f\u7b2c 23 \u671f[\u62a5\u9053\u8fc7\u7684](./2023-11-06-this-week-in-loongarch-23.mdx#abi)\u65b0 ABI\u3002\\n\u8fd9\u4e2a\u53d8\u66f4\u6b20\u8003\u8651\u4e86\u642d\u914d\u65e7\u6c47\u7f16\u5668\u4f7f\u7528\u7684\u60c5\u51b5\uff1bXi Ruoyao 11 \u6708 18 \u65e5[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637153.html)\u3002\\n\\n\u540c\u4e00\u5929\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Andrew Pinski [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636445.html)[^author-info-for-the-uninitiated]\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](./2023-11-13-this-week-in-loongarch-24.md#gcc)\u4e00\u5904\u5b9e\u9645\u4e0a\u662f\u52a3\u5316\u7684\u300c\u4f18\u5316\u300d\u3002\\n\uff08\u8fd9\u4fee\u590d\u628a PowerPC \u7684\u6d4b\u8bd5\u70b8\u4e86\uff0c\u4f46\u4e0a\u6e38\u7684\u7ed3\u8bba\u662f\u5e94\u8be5\u6539 PowerPC \u76f8\u5173\u4ee3\u7801\u3002\uff09\\n\\n[^author-info-for-the-uninitiated]: \u8be5\u4fee\u590d\u65b9\u6848\u662f Andrew Pinski \u63d0\u51fa\u7684\uff0c\u53ea\u662f Xi Ruoyao \u5e2e :ta: \u628a\u90ae\u4ef6\u53d1\u4e86\u3002\u56e0\u4e3a\u90ae\u4ef6\u6b63\u6587\u5e26\u4e86 `From:` \u5b57\u6bb5\uff0c\u56e0\u6b64 Git \u63d0\u4ea4\u4e2d\u7684\u4f5c\u8005\u4fe1\u606f\u4ecd\u7136\u662f\u6b63\u786e\u7684\u3002\\n\\n\u540c\u4e00\u5929\u51cc\u6668\uff0cXi Ruoyao \u8fd8[\u53d1\u73b0](https://gcc.gnu.org/PR112520)\u6709\u4e2a GCC \u63d2\u4ef6\u6d4b\u8bd5\u7528\u4f8b\u5728\u9f99\u67b6\u6784\u4e0a\u5e94\u8be5\u5c31\u6ca1\u8fd0\u884c\u6210\u529f\u8fc7\uff1b\u8be5\u95ee\u9898\u4ecd\u5f85\u6392\u67e5\u3002\\n\\n11 \u6708 13 \u65e5\uff0cXi Ruoyao [\u6284\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636379.html)\u4e2a\\nAArch64 \u7684\u4f18\u5316\uff0c\u80fd\u4e3a\u5f62\u5982 `copysign(x, -1)` \u7684\u64cd\u4f5c\u4ea7\u751f\u9ad8\u6548\u7684\u5411\u91cf\u5316\u4ee3\u7801\uff1b\\n\u53c8[\u79fb\u690d\u4e86](https://gcc.gnu.org/r14-5432) LLVM \u7684 `DBAR` \u4f18\u5316\\n\uff08\u5468\u62a5\u7b2c 20 \u671f[\u6709\u62a5\u9053](./2023-10-16-this-week-in-loongarch-20.md#LLVM)\uff09\u3002\\n\\n\u4ee5\u4e0a\u65b0\u589e\u7684\u5927\u5757\u5185\u5bb9\u90fd\u8d76\u4e0a\u4e86 GCC 14 stage 1\uff0c\u5728\u660e\u5e74\u7684 GCC 14.1 \u6b63\u5f0f\u7248\u5c31\u80fd\u7528\u4e0a\u4e86\u3002\\n\u7b49\u4e0d\u53ca\u7684\u540c\u5b66\u4e5f\u53ef\u4ee5\u4e0b\u8f7d GCC 14 \u5feb\u7167\u81ea\u884c\u7f16\u8bd1\uff0c\u6216\u4f7f\u7528 Gentoo\uff08\u76f4\u63a5 unmask \u76f8\u5e94\u7248\u672c\u5373\u53ef\uff09\u7b49\u6eda\u52a8\u53d1\u884c\u7248\uff0c\\n\u9a6c\u4e0a\u4f53\u9a8c\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### LLVM\\n\\n\u4eba\u4eec\u5df2\u7ecf\u5728\u7d27\u9523\u5bc6\u9f13\u5b9e\u73b0 LoongArch ELF psABI v2.20 \u7684\u65b0\u5185\u5bb9\u4e86\u3002\\n\\n11 \u6708 14 \u65e5\uff0cMaskRay \u4eb2\u81ea[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/72221)\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](./2023-11-13-this-week-in-loongarch-24.md#llvm)\\nLLVM [issue #71645](https://github.com/llvm/llvm-project/issues/71645)\u3002\\n\\n\u540c\u4e00\u5929\uff0cMQ-mengqing \u4e3a LLD [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72190)\\n`R_LARCH_{ADD,SUB}6` \u4e24\u79cd\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7684\u652f\u6301\uff0c\\n\u53c8\u4e3a LoongArch MC [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72191) relaxation \u652f\u6301\u3002\\n\\n11 \u6708 13 \u65e5\uff0cMQ-mengqing [\u8bd5\u56fe](https://github.com/llvm/llvm-project/pull/72095)\u4e3a\\nLoongArch MC \u589e\u52a0\u7c7b\u4f3c [GAS \u7684\u6761\u4ef6\u8df3\u8f6c\u8303\u56f4\u6269\u5c55](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c)\u7684\u4e00\u9053\u5de5\u5e8f\uff0c\\n\u4f46 MaskRay \u53ca\u65f6\u6307\u51fa\u5f53\u5e74 RISC-V \u505a\u76f8\u540c\u4e8b\u60c5[\u88ab\u53d1\u73b0\u7684](https://reviews.llvm.org/D108961)\u5751\uff1a\\n\u5982\u679c\u9f99\u67b6\u6784\u80fd\u907f\u514d\u8e29\u5230\u8fd9\u4e9b\u5751\uff0c\u90a3\u4e48\u4fbf\u80fd\u300c\u6bd4 RISC-V \u505a\u5f97\u66f4\u597d\u300d\u3002MQ-mengqing \u663e\u7136\u53d7\u76ca\u532a\u6d45\uff0c\u5e94\u8be5\u5728\u6539\u4ee3\u7801\u4e86\u3002\\n\\n#### Rust\\n\\n11 \u6708 17 \u65e5\uff0cheiher \u4e3a\u4e86\u8ba9 rustup 1.27.0 \u53d1\u5e03\u65f6\u80fd\u5305\u542b\u9f99\u67b6\u6784\u4e8c\u8fdb\u5236\uff0c\\n\u4e34\u65f6\u7ed9\u9f99\u67b6\u6784\u7684 rustup [\u5173\u6389\u4e86](https://github.com/rust-lang/rustup/pull/3536) OpenSSL\u3002\\n\u8fd9\u8fd8\u662f\u7b2c 10 \u671f[\u8bb2\u8fc7\u7684](./2023-07-24-this-week-in-loongarch-10.md#openssl-asm-breakage)\u9f99\u82af\u6316\u7684\u5751\u7684\u540e\u7eed\u2026\u2026\\n\\n11 \u6708 14 \u65e5\uff0cheiher \u4e3a Rust \u7684 LoongArch musl \u652f\u6301\uff08`loongarch64-unknown-linux-musl` \u6784\u5efa\u76ee\u6807\uff09\\n\u63d0\u524d[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/13)\u534f\u8c03\u5de5\u5355\u3002\\n\\n
\\nmusl \u79fb\u690d\u7684\u4e0a\u6e38\u5316\u8fdb\u5ea6\\n\\n\u76ee\u524d\u9f99\u82af\u63a8\u8fdb\u7684 musl LoongArch \u652f\u6301\u8865\u4e01\u5df2\u7ecf[\u7ffb\u65b0\u5230\u4e86](https://www.openwall.com/lists/musl/2023/11/16/2)\u7b2c 9 \u7248\uff0c\\n\u4f46\u4f3c\u4e4e\u6bcf\u6b21\u66f4\u65b0\u90fd\u585e\u4e86\u4e00\u4e9b\u4ee3\u7801\u5ba1\u67e5\u8bc4\u8bba\u4e4b\u5916\u7684\u4fee\u6539\u3002\\n\u8fd9\u4f7f\u4e0a\u6e38\u7ef4\u62a4\u8005[\u56f0\u60d1](https://www.openwall.com/lists/musl/2023/11/17/3)\uff1a\\n\u672c\u6765\u4e0a\u4e00\u7248\u5df2\u7ecf\u6ca1\u95ee\u9898\u4e86\uff0c\u7ed3\u679c\u53c8\u585e\u4e86\u65b0\u4e1c\u897f\u3002\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u770b\u4e0a\u53bb\u9f99\u82af\u7ef4\u62a4\u8005[\u5df2\u7ecf\u6062\u590d\u4e86](https://www.openwall.com/lists/musl/2023/11/20/1)\u8865\u4e01\u7b2c 8 \u7248\u53d1\u51fa\u7684\u73b0\u72b6\u2014\u2014\u8fd9\u56de\u5e94\u8be5\u80fd\u5408\u5e76\u4e86\uff01\\n
\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n11 \u6708 18 \u65e5\uff0cshipujin [\u53d1\u5e03\u4e86](http://www.slackwarecn.cn/2023/11/18/Slackwareloong1.0live%E5%8F%91%E5%B8%83%EF%BC%81/)\\nSlackwareloong64 LTS 1.0 \u7684 Live \u955c\u50cf\u3002\u6b22\u8fce\u611f\u5174\u8da3\u7684 Slackware \u7528\u6237\u3001\u7231\u597d\u8005\u4eec\u4e0b\u8f7d\u4f53\u9a8c\u3002\\n\u611f\u8c22 :ta: \u7684\u65b0\u95fb\u7ebf\u7d22\u4ee5\u53ca\u7ef4\u62a4\u5de5\u4f5c\uff01\\n\\n11 \u6708 17 \u65e5\uff0c\u9f99\u82af\u5c06\u300a\u624b\u518c\u300b\u82f1\u6587\u7248\u7ffb\u8bd1\u7684\u4ed3\u5e93\u77ed\u6682\u89e3\u9664\u4e86\u53ea\u8bfb\u72b6\u6001\uff1b\\n\u6587\u6863\u7ef4\u62a4\u8005 Yanteng Si \u9042[\u63a8\u5165\u4e86](https://github.com/loongson/LoongArch-Documentation/commit/3f3989f658965404ee37633f1a430836124e9343)\u300a\u624b\u518c\u300bv1.10 \u7684\u90e8\u5206\u66f4\u65b0\uff0c\\n\u5e76\u76f8\u5e94\u5730[\u66f4\u65b0\u4e86](https://lore.kernel.org/loongarch/CAAhV-H7-9JL1hf8_Hs3dirJ8aqgK4BGU1PANsXDDVkSHP_fe9A@mail.gmail.com/T/#t)\\nLinux \u9f99\u67b6\u6784\u6587\u6863\u7684\u94fe\u63a5\u3002\\n\\n\u672c\u6b21\u7ffb\u8bd1\u66f4\u65b0\u662f\u4e0d\u5b8c\u6574\u7684\uff1a\u53ea\u5305\u542b\u4e86\u65b0\u589e\u6307\u4ee4\u7684\u63cf\u8ff0\uff0c\\n\u800c\u6ca1\u6709\u8986\u76d6\u7b2c 1.5 \u8282\u5173\u4e8e\u6307\u4ee4\u96c6\u6f14\u8fdb\u7684\u8bf4\u660e\u3001\\n\u7b2c 2.2.10.5 \u8282\u7684\u65b0 `CPUCFG` \u5b57\u6bb5\u63cf\u8ff0\uff0c\u6216\u8005\u7279\u6743\u67b6\u6784\u90e8\u5206\u7684\u66f4\u65b0\u3002\\n\u7ed3\u5408\u9f99\u82af\u7ef4\u62a4\u8005\u5728 binutils \u90ae\u4ef6\u5217\u8868\u4e0a\uff0c\u5bf9\u4e0a\u4e2a\u6708 LoongArch v1.10 \u6307\u4ee4\u652f\u6301\u5de5\u4f5c\\n\uff08[\u7b2c 22 \u671f](./2023-10-30-this-week-in-loongarch-22.md#binutils)\u6709\u62a5\u9053\uff09\\n\u7684[\u4e00\u5c01\u56de\u590d](https://sourceware.org/pipermail/binutils/2023-November/130594.html)\uff0c\\n\u672c\u6b21\u66f4\u65b0\u5e94\u8be5\u662f\u5b9e\u7528\u4e3b\u4e49\u7684\uff1a\u53ef\u80fd\u4ec5\u4ec5\u4e3a\u4e86\u80fd\u591f\u5feb\u901f\u63a8\u8fdb\u65b0\u6307\u4ee4\u7684\u4e0a\u6e38\u5316\uff0c\u4e34\u65f6\u53eb\u4eba\u66f4\u65b0\u4e00\u4e0b\uff0c\\n\u800c\u5e76\u975e\u4e13\u95e8\u6392\u671f\u6765\u505a\u8fd9\u4ef6\u4e8b\u2014\u2014\u5982\u679c\u662f\u540e\u4e00\u79cd\u60c5\u51b5\uff0c\u90a3\u4e48\u5e94\u8be5\u4e0d\u4f1a\u53ea\u505a\u5b8c\u4e00\u90e8\u5206\u5c31\u63d0\u4ea4\u4e86\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-24","metadata":{"permalink":"/newsletter/this-week-in-loongarch-24","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-13-this-week-in-loongarch-24.md","source":"@site/newsletter/2023-11-13-this-week-in-loongarch-24.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-13T15:50:00.000Z","formattedDate":"2023\u5e7411\u670813\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.565,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-24","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","authors":["xen0n"],"date":"2023-11-13T15:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","permalink":"/newsletter/this-week-in-loongarch-25"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","permalink":"/newsletter/this-week-in-loongarch-23"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux\u3001\u5de5\u5177\u94fe\uff0c\u4ee5\u53ca GSGPU \u9a71\u52a8\u5411\u4e3b\u7ebf\u5185\u6838\u7248\u672c\u7684\u79fb\u690d\u6210\u679c\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cLinux v6.7-rc1 [\u5df2\u7ecf\u53d1\u5e03](https://lore.kernel.org/lkml/CAHk-=whuO0zmuxp_yorYFWdcrALpqjRPhWkmEy+7wcCnnDcPNA@mail.gmail.com/)\u3002\\n\u9f99\u67b6\u6784\u7684 PR \u662f\u5728\u6700\u540e\u4e00\u5929[\u53d1\u51fa\u7684](https://lore.kernel.org/loongarch/20231112051248.272444-1-chenhuacai@loongson.cn/)\u3002\\n\\n:::info \u4e3a\u5565\u8fd9\u6b21 PR \u8fd9\u4e48\u665a\uff1f\\n\u539f\u56e0\u636e\u8bf4\u662f\u5148\u524d\u9f99\u82af\u559c\u6b22\u6700\u540e\u65f6\u523b\u66f4\u65b0\u5206\u652f\uff0c\u5bfc\u81f4\u65b0\u4ee3\u7801\u5728 linux-next \u8eba\u5f97\u4e0d\u591f\u4e45\uff1b\\n\u4e8e\u662f\u5728\u672c\u5468\u671f\u7684 PR \u53d1\u51fa\u4e4b\u524d\uff0c\u90a3\u4e9b\u4ee3\u7801\u5c31\u8001\u8001\u5b9e\u5b9e\u8eba\u4e86 4 \u5929\u3002\\n\\n\u5bf9\u90a3\u4e9b\u7784\u51c6\u4e3b\u7ebf\u7684\u4ee3\u7801\uff0c\u786e\u5b9e\u5e94\u8be5\u5728 linux-next \u591a\u5446\u51e0\u5929\uff1a\\n\u8fd9\u6837\u8fd9\u4e9b\u4ee3\u7801\u624d\u6709\u673a\u4f1a\u89e6\u53ca\u66f4\u591a\u7684\u6d4b\u8bd5\u4eba\u5458\u548c\u81ea\u52a8\u5316\u8bbe\u65bd\uff0c\\n\u6709\u52a9\u4e8e\u53d1\u73b0\u8de8\u5b50\u7cfb\u7edf\u6216\u67b6\u6784\u4ea7\u751f\u4e0d\u826f\u5f71\u54cd\u7684\u90a3\u4e9b\u5199\u6cd5\u3002\\n\\n\u4ece\u524d\uff0c\u5728\u4e3b\u7ebf\u4e4b\u5916\u7ef4\u62a4\u9f99\u82af\u5185\u6838\u7684\u5e74\u4ee3\uff0c\u7531\u4e8e\u5916\u754c\u4e0d\u611f\u77e5\u9f99\u82af\u53d8\u66f4\uff0c\u9f99\u82af\u516c\u53f8\u4e5f\u4e0d\u6d4b\u5176\u4ed6\u67b6\u6784\uff0c\\n\u56e0\u800c\u9f99\u82af\u516c\u53f8\u4e4b\u5916\u7684\u793e\u533a\u96c6\u6210\u8005\uff08\u4f8b\u5982\u7b14\u8005\uff09\u591a\u6b21\u906d\u9047\u4e86\u9f99\u82af\u76f8\u5173\u53d8\u66f4\u70b8\u6389\u5176\u4ed6\u67b6\u6784\u7684\u60c5\u51b5\u3002\\n\u8fd9\u79cd\u60c5\u51b5\u5728\u9f99\u82af\u4e5f\u6e10\u6e10\u8f6c\u5411\u793e\u533a\u534f\u4f5c\u6a21\u5f0f\u4e4b\u540e\uff0c\u4fbf\u6e10\u6e10\u6d88\u5931\u4e86\u2014\u2014\u9f99\u82af\u5f71\u54cd\u4e86\u522b\u4eba\u9f99\u82af\u4f1a\u4fee\uff1b\u76f8\u5e94\u5730\uff0c\u522b\u4eba\u5f71\u54cd\u4e86\u9f99\u82af\u522b\u4eba\u4e5f\u4f1a\u4fee\uff0c\\n\u800c\u6bcf\u4e00\u65b9\u90fd\u53ea\u9700\u8dd1\u81ea\u5df1\u73af\u5883\u7684\u6d4b\u8bd5\u5373\u53ef\u3002\\n:::\\n\\n\u672c\u5f00\u53d1\u5468\u671f\u4e2d\uff0c\u8f83\u4e3a\u5f15\u4eba\u6ce8\u76ee\u7684\u5927\u5757\u53d8\u66f4\u6709\uff1a\\n\\n* \u5408\u5e76\u4e86 bcachefs \u7684\u652f\u6301\uff1b\\n* \u79fb\u9664\u4e86 IA-64 \u67b6\u6784\u7684\u652f\u6301\uff1b\\n* \u5f00\u6e90\u7684 NVIDIA® \u663e\u5361\u9a71\u52a8 `nouveau` \u83b7\u5f97\u4e86 GSP \u652f\u6301\u3002\\n\\n
\\n\u5565\u53eb GSP\uff1f\\n\\nGSP \u662f GPU system processor \u7684\u7f29\u5199\uff1aGPU \u7cfb\u7edf\u5904\u7406\u5668\u3002\\n\\n\u81ea\u4ece 2018 \u5e74\u9762\u4e16\u7684 Turing \u5fae\u67b6\u6784\u4ee5\u6765\uff0c\u65b0\u578b\u53f7\u7684 NVIDIA® \u663e\u5361\u90fd\u65b0\u589e\u4e86\u4e00\u5757\\nRISC-V \u5fae\u63a7\u5236\u5668\uff0c\u63a5\u7ba1\u4e86\u4ece\u524d\u7531\u64cd\u4f5c\u7cfb\u7edf\u9a71\u52a8\u63a7\u5236\u7684\u8bb8\u591a\u786c\u4ef6\u8d44\u6e90\u63a7\u5236\u804c\u8d23\u3002\\n\u8fd9\u4f7f\u5f97 NVIDIA \u5f97\u4ee5\u5f00\u6e90\u5176\u5185\u6838\u9a71\u52a8\uff1a\u8fd9\u4e2a\u9a71\u52a8\u53ea\u5269\u4e00\u4e2a C/S \u67b6\u6784\u7684\u5ba2\u6237\u7aef\u7a7a\u58f3\u5b50\u4e86\u3002\\n
\\n\\n\u9f99\u67b6\u6784\u76f8\u5173\u7684\u4e3b\u8981\u53d8\u66f4\u6709\uff1a\\n\\n* \u65b0\u589e\u4e86 KVM \u652f\u6301\uff08Tianrui Zhao\u3001Bibo Mao\u3001Huacai Chen\uff09\uff1b\\n* [\u652f\u6301\u4e86](https://git.kernel.org/torvalds/c/80c7889de7a8246e44a9632a2b7d15b41ab3fe41)\u52a8\u6001\u62a2\u5360\uff08`PREEMPT_DYNAMIC`\uff09\uff08Huacai Chen\uff09\uff1b\\n* \u5728\u4fdd\u8bc1\u6b63\u786e\u7684\u524d\u63d0\u4e0b\uff0c[\u9002\u5f53\u653e\u677e\u4e86](https://git.kernel.org/torvalds/c/affef66b65889a0ea0060e13e5f7fe569897d787)\u539f\u5b50\u64cd\u4f5c\u7684\u7ea6\u675f\uff0c\\n \u4f7f\u5f97 3A6000 \u7684 8 \u7ebf\u7a0b Unixbench \u6d4b\u8bd5\u6700\u7ec8\u5f97\u5206\u63d0\u5347\u4e86 0.47%\uff08WANG Rui\uff09\uff1b\\n* \u8ddf\u8fdb\u4e86 [BPF \u865a\u62df\u673a\u6307\u4ee4\u96c6\u7684 v4 \u65b0\u589e](https://lore.kernel.org/bpf/4bfe98be-5333-1c7e-2f6d-42486c8ec039@meta.com/)\uff0c\\n \u4e3a\u9f99\u67b6\u6784[\u589e\u52a0\u4e86](https://lore.kernel.org/loongarch/20231026184337.563801-1-hengqi.chen@gmail.com/)\u76f8\u5e94\u652f\u6301\uff08Hengqi Chen\uff09\u3002\\n\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/Linux-6.7-rc1)\u6b64\u65b0\u7248\u672c\uff0c\\n\u611f\u5174\u8da3\u7684\u8bfb\u8005\u53ef\u62d3\u5c55\u9605\u8bfb\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n11 \u6708 11 \u65e5\uff0cXi Ruoyao [\u53d1\u73b0](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112483)\u4e00\u4e9b\u6d6e\u70b9\u6570\u503c\u8ba1\u7b97\u7684\u6d4b\u8bd5\u7528\u4f8b\u7a81\u7136\u5f00\u59cb\u5931\u8d25\u4e86\uff0c\\n\u6392\u67e5\u4e0b\u6765\u662f\u67b6\u6784\u65e0\u5173\u7684\u4f18\u5316\u9519\u8bef\uff0c\u4e8e\u662f\u7b2c\u4e8c\u5929[\u53d1\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636200.html)\u4fee\u590d\u8865\u4e01\u3002\\n\u8fc7\u7a0b\u4e2d\uff0c\u987a\u5e26\u8fd8\u53d1\u73b0\u4e86\u539f\u300c\u4f18\u5316\u300d\u5728\u9f99\u67b6\u6784\u4e0a\u5176\u5b9e\u662f\u8d1f\u4f18\u5316\uff1b\u6b63\u5728\u4e0e\u4e0a\u6e38\u4e00\u540c\u60f3\u529e\u6cd5\u89e3\u51b3\u3002\\n\\n:::info \u82b1\u7d6e\\n\u5728\u6298\u817e\u8fd9\u4e2a\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0cXi Ruoyao \u53c8\u88ab[\u53e6\u4e00\u4e2a\u65b0\u9c9c\u95ee\u9898](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112497)\u5751\u5230\uff1a\\n\u662f\u963f\u91cc\u7684\u7f16\u8bd1\u5668\u5de5\u7a0b\u5e08\u540c\u884c\u6539\u67b6\u6784\u65e0\u5173\u6d41\u6c34\u7ebf\u4f18\u5316\u4ee3\u7801\u6539\u574f\u4e86\u3002\\n\u597d\u5728\u7b2c\u4e8c\u5929 GCC \u7ef4\u62a4\u8005\u53d1\u73b0\u4e86\u95ee\u9898\uff0c\u5c06\u95ee\u9898\u8865\u4e01 revert \u6389\u4e86\uff0c\\n\u4fdd\u62a4\u4e86\u5f88\u591a\u76f8\u5173\u4eba\u58eb\u7684\u7761\u7720\u65f6\u95f4\uff08\u548c\u53d1\u91cf\uff09\u3002\\n:::\\n\\n11 \u6708 10 \u65e5\uff0c\u7b14\u8005\u5728\u65e5\u5e38\u6d4b\u8bd5 Firefox 119 \u8fc7\u7a0b\u4e2d\uff0c\u7f16\u8bd1\u5668\u5d29\u6e83\u4e86\u3002\\n\u641e\u4e86\u4e00\u665a\u4e0a\uff0c\u5c06\u89e6\u53d1\u95ee\u9898\u7684\u8fd1 3MiB \u6e90\u7801[\u7cbe\u70bc\u6210\u4e86](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112476)\u4e0a\u6e38 bug PR112476\u3002\\n\u4e24\u5929\u540e Xi Ruoyao \u5c06\u5176[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636156.html)\uff0c\\n\u5df2[\u8fdb\u5165\u4e3b\u7ebf](https://gcc.gnu.org/g:b88500e0bc1e9e3a396ba764f9b701d22a76818f)\u3002\\n\\n11 \u6708 7 \u65e5\uff0cchenxiaolong \u7ed9 GCC \u8865\u5145\u4e86 LSX/LASX \u7684\u4f7f\u7528\u8bf4\u660e\u6587\u6863\uff1a\\n\\n* [intrinsics](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635431.html)\uff0c\\n* [\u5185\u8054\u6c47\u7f16\u7684\u64cd\u4f5c\u6570\u4fee\u9970\u7b26](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635435.html)\u3002\\n\\n11 \u6708 6 \u65e5\uff08\u521a\u597d\u9519\u8fc7\u4e0a\u671f\uff09\uff0cXi Ruoyao \u641e\u4e86\u4e09\u4e2a\u8865\u4e01\uff1a\\n\\n* [\u5b8c\u5584\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635277.html)\\n GCC \u6784\u5efa\u65f6\u5bf9 linker relaxation \u652f\u6301\u7684\u5224\u65ad\uff1a\\n \u7b80\u5355\u6765\u8bf4\uff0c\u5982\u679c\u53d1\u73b0\u642d\u914d\u7684\u6c47\u7f16\u5668\u4e0d\u652f\u6301 relax \u6761\u4ef6\u5206\u652f\u6307\u4ee4\uff0c\\n \u90a3\u4e48\u5c31\u4f7f\u5373\u5c06\u88ab\u6784\u5efa\u7684 GCC \u9ed8\u8ba4\u7981\u7528 relaxation\u3002\\n \u8fd9\u6709\u52a9\u4e8e\u89c4\u907f\u7f16\u8bd1\u5927\u578b\u8f6f\u4ef6\u65f6\u6709\u6982\u7387\u9047\u5230\u7684\u70e6\u4eba\u7684\u300c\u91cd\u5b9a\u4f4d\u6ea2\u51fa\u300d\u9519\u8bef\u3002\\n \u8fd9\u4fee\u590d\u4e86\u4e0a\u6e38 bug [PR112330](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112330)\u3002\\n* [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635278.html)\\n `-mexplicit-relocs=auto` \u914d\u7f6e\u4e0b\uff0c\u4ec5\u5355\u6b21\u4f7f\u7528\u7684\u5730\u5740\u4e0e `fld` `fst` \u642d\u914d\u65f6\u7684\u751f\u6210\u4ee3\u7801\u3002\\n* [\u79fb\u690d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635304.html)\\n LLVM \u7684\u4e24\u7ec4\u9f99\u67b6\u6784 LL/SC \u4ee3\u7801\u7247\u6bb5\u4f18\u5316\uff1a[\u7b2c 20 \u671f\u62a5\u9053\u8fc7\u7684](./2023-10-16-this-week-in-loongarch-20.md#llvm)\\n heiher [\u505a\u7684\u4f18\u5316](https://github.com/llvm/llvm-project/pull/6739)\uff0c\u4ee5\u53ca\\n SixWeining \u968f\u540e[\u505a\u7684\u8fdb\u4e00\u6b65\u5b8c\u5584](https://github.com/llvm/llvm-project/pull/69339)\u3002\\n\\nXi Ruoyao \u51c6\u5907\u8d76\u5728 GCC 14 stage 1 \u622a\u6b62\uff08\u7b14\u8005\u6ce8\uff1a11 \u6708 19 \u53f7\uff09\u524d\u52a0\u5165\u4e00\u6279 LA664 \u652f\u6301\uff0c\\n\u4f46\u662f\u636e\u5356\u5bb6\u8bf4 :ta: \u7684\u677f\u5b50\u8fd8\u5728\u8001\u5316\u95f4\u91cc\u3002\\n\u8ba9\u6211\u4eec\u671f\u5f85\u4ed6\u80fd\u65e9\u65e5\u62ff\u5230\u677f\u5b50\uff08\u5f53\u7136\u793e\u533a\u540c\u5b66\u5305\u62ec\u7b14\u8005\u5728\u5185\u5e94\u8be5\u4e5f\u4f1a\u51fa\u624b\u76f8\u52a9\uff09\uff01\\n\\n\u672c\u671f\u7684\u5f88\u5927\u4e00\u90e8\u5206 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u63d0\u4f9b\u7684\uff0c\u611f\u8c22 :ta: \u4ece\u73b0\u573a\u53d1\u56de\u7684\u62a5\u9053\u3002\\n\\n#### LLVM {#llvm}\\n\\n\u5728[\u5468\u62a5\u7b2c 8 \u671f](./2023-07-10-this-week-in-loongarch-8.md#llvm)\u7b14\u8005\u6253\u7b97\u505a\u6389\\n`model` \u5c5e\u6027\u652f\u6301\uff0c\u5728\u4e0a\u6e38\u8ba8\u8bba\u786e\u5b9a\u4e86\u6280\u672f\u65b9\u6848\u3002\\n\u4f46\u6b64\u540e\u73b0\u5b9e\u751f\u6d3b\u56e0\u7d20\u4e0e\u5404\u79cd\u5de5\u4f5c\u4f18\u5148\u7ea7\u53d8\u5316\u53e0\u52a0\uff0c\u4f7f\u5f97\u7b14\u8005\u4e0d\u5f97\u4e0d\u5f03\u6389\u6b64\u5751\u3002\\n\u4e00\u5468\u524d heiher [\u51fa\u624b\u76f8\u52a9](https://github.com/loongson-community/discussions/issues/10)\uff0c\\n\u5c06\u6b64\u5de5\u4f5c\u51b2\u8fc7\u4e86\u7ec8\u70b9\u7ebf\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u76f8\u5e94\u7684 LLVM PRs \u5df2\u7ecf\u65b0\u9c9c\u5efa\u7acb\uff1a\\n\\n* [#72077](https://github.com/llvm/llvm-project/pull/72077)\uff1a\u6269\u5c55 LLVM IR\uff0c\u65b0\u589e `code_model` \u5168\u5c40\u91cf\u5c5e\u6027\uff0c\\n* [#72078](https://github.com/llvm/llvm-project/pull/72078)\uff1a\u4e3a Clang \u65b0\u589e `model` \u5c5e\u6027\uff0c\\n* [#72079](https://github.com/llvm/llvm-project/pull/72079)\uff1a\u5728 LoongArch \u540e\u7aef\u5229\u7528\u6b64\u4fe1\u606f\u3002\\n\\n\u975e\u5e38\u611f\u8c22\uff01\\n\\n11 \u6708 10 \u65e5\uff0cSixWeining \u62a5\u544a\u6709\u7528\u6237\u78b0\u5de7\u9047\u4e0a\u4e86 LLD \u8ba1\u7b97 page \u504f\u79fb\u91cf\u7684\u4e00\u5904\u6ea2\u51fa\\n\uff08\u53ea\u6709\u5f53\u9700\u6c42\u7684\u504f\u79fb\u91cf\u6070\u597d\u662f `-4096` \u624d\u4f1a\u89e6\u53d1\uff09\uff0c\\n\u987a\u624b[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/71907)\u3002\\n\\n11 \u6708 8 \u65e5\uff0cxry111 [\u53d1\u73b0](https://github.com/llvm/llvm-project/issues/71645)\\nClang \u5bf9\u4e8e\u975e\u4f4d\u7f6e\u65e0\u5173\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff08`-fno-pie`\uff09\u6240\u7528\u7684\u9ed8\u8ba4\u914d\u7f6e\\n`-fdirect-access-external-data` \u5728 LoongArch \u4e0a\u4e0d\u80fd\u7528\uff0c\u5e76\u4e14\u4e0d\u8be5\u80fd\u7528\uff0c\\n\u5efa\u8bae\u5c06\u5176\u5728 LoongArch \u5173\u6389\uff1b11 \u6708 10 \u65e5\\nheiher [\u5c1d\u8bd5\u8fd9\u4e48\u505a\u4e86](https://github.com/llvm/llvm-project/pull/71887)\u3002\\n\\n#### Go\\n\\n10 \u6708 16 \u65e5\u524d\u540e\uff0cMeidan Li [\u63d0\u4ea4\u4e86](https://go.dev/cl/533716) Go \u5185\u90e8\u94fe\u63a5\u5668\u7684 `loong64` \u652f\u6301\uff1b\\n11 \u6708 8 \u65e5 :ta: \u6574\u4f53\u66f4\u4e86\u4e00\u7248\uff0c\u5e94\u8be5\u8fbe\u5230\u53ef\u4ee5\u6d4b\u8bd5\u3001\u8bc4\u5ba1\u7684\u72b6\u6001\u4e86\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5317\u4eac\u65f6\u95f4 11 \u6708 13 \u65e5\u6e05\u6668\uff0c\u7531 Robin Lee \u63a8\u52a8\u3001\u5b9e\u73b0\uff0c\u5386\u65f6 9 \u4e2a\u6708\uff0cFreeDesktop SDK \u7684\\n`loongarch64` \u6700\u5c0f\u5316\u865a\u62df\u673a\u7684\u6784\u5efa\u652f\u6301[\u5408\u5165\u4e0a\u6e38](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/11510)\uff1a\\n\u53ef\u4ee5\u901a\u8fc7 `vm/minimal/efi.bst` \u6784\u5efa\u865a\u62df\u673a\u7cfb\u7edf\u955c\u50cf\u6587\u4ef6\u4e86\u3002\\n\u7ee7[\u5468\u62a5\u7b2c 20 \u671f](./2023-10-16-this-week-in-loongarch-20.md#freedesktop-sdk-initial-support-merged)\u4e4b\u540e\uff0c\\n\u8fd9\u662f\u5c06 Flatpak \u751f\u6001\u5e26\u5165 LoongArch \u7684\u9053\u8def\u4e0a\u7684\u53c8\u4e00\u91cd\u8981\u8fdb\u5c55\u3002\\n\u611f\u8c22 :ta: \u81ea\u5df1\u6295\u9012\u7684\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n11 \u6708 6 \u65e5 systemd [\u53d1\u5e03\u4e86](https://github.com/systemd/systemd/releases/tag/v255-rc1)\\nv255-rc1\uff0c\u65b0\u589e\u4e86 LoongArch64 \u7684 seccomp \u652f\u6301\u3002\\nseccomp \u662f\u5b9e\u73b0\u6c99\u7bb1\uff08sandbox\uff09\u529f\u80fd\u7684\u5173\u952e\u57fa\u7840\u5e93\u3002\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/systemd-255-rc1)\u6b64\u4e8b\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u793e\u533a\u5f00\u53d1\u8005 cl91 \u4ece[\u5468\u62a5\u7b2c 18 \u671f](./2023-10-02-this-week-in-loongarch-18.md#gsgpu-for-mainline)\u5f00\u59cb\u618b\u7684\u5927\u62db\uff0c\\n\u641e\u5b9a\u4e86\uff01\\n\u9f99\u82af 7A2000 \u4e2d\u7684\u72ec\u663e[^what-does-discrete-mean]\u6a21\u5757\u7684\u5185\u6838\u9a71\u52a8 GSGPU \u5df2\u7ecf\u79fb\u690d\u5230\u4e86\u6700\u65b0\u7684 Linux v6.6\u3002\\n\\n[^what-does-discrete-mean]: \u6309\u7167\u300c\u96c6\u6210\u5728\u4e3b\u677f\u4e0a\u7684\u663e\u5361\u5c31\u662f\u96c6\u663e\u300d\u8fd9\u4e2a\u76f4\u89c2\u6d45\u663e\u7684\u5224\u65ad\u6807\u51c6\uff0c\u5f53\u524d\u7684 GSGPU \u5f53\u7136\u4e0d\u7b97\u300c\u72ec\u663e\u300d\u3002\u9f99\u82af\u5b98\u65b9\u6587\u732e\u5c06 7A2000 GPU \u79f0\u4f5c\u300c\u72ec\u663e\u300d\u7684\u53d8\u66f4\u662f\u67d0\u5929\u7a81\u7136\u53d1\u751f\u7684\uff0c\u4e14\u81f3\u4eca\u672a\u660e\u786e\u8be5\u672f\u8bed\u7684\u5168\u79f0\uff1b\u7b14\u8005\u4e2a\u4eba\u8ba4\u4e3a\u8fd9\u662f\u5ba3\u4f20\u4e0a\u538b\u4eba\u4e00\u5934\u7684\u6587\u5b57\u6e38\u620f\uff0c\u5176\u5b9e\u9645\u542b\u4e49\u4e3a\u300c\u72ec\u7acb\u663e\u5b58\u300d\u3002\u6bd5\u7adf\u867d\u7136 GSGPU \u4ecd\u7136\u53d7\u9650\u4e8e\u6838\u5fc3\u9762\u79ef\u3001\u4f9b\u7535\u7b49\u56e0\u7d20\u800c\u4e0d\u5982\u771f\u6b63\u7684\u300c\u72ec\u7acb\u663e\u5361\u300d\uff0c\u4f46\u7531\u4e8e\u72ec\u7acb\u663e\u5b58\u65b9\u6848\u80fd\u591f\u907f\u514d\u5171\u4eab\u7cfb\u7edf\u5185\u5b58\u7684\u96c6\u663e\u65b9\u6848\u5bf9\u5e38\u89c4\u5185\u5b58\u8bbf\u95ee\u7684\u5f71\u54cd\uff0c\u4ece\u800c\u4f7f\u5f97 GSGPU \u786e\u5b9e\u6709\u6f5c\u529b\u8d85\u8fc7\u8fd9\u79cd\u96c6\u663e\u7684\u6027\u80fd\u3002\uff08\u81f3\u4e8e\u4e24\u79cd\u65b9\u6848\u7684\u771f\u5b9e\u5bf9\u6bd4\uff0c\u7531\u4e8e\u9f99\u82af\u5927\u6982\u7387\u4e0d\u4f1a\u505a\u51fa\u5171\u4eab\u663e\u5b58\u7684 GSGPU \u4ee5\u4fbf\u63a7\u5236\u53d8\u91cf\uff0c\u4e5f\u5c31\u65e0\u4ece\u5b9e\u5730\u9a8c\u8bc1\u4e86\u3002\uff09\\n\\n:::info cl91 \u7684\u8bdd\\nGSGPU \u6765\u6e90\u4e8e\u9f99\u82af\u516c\u53f8\u7ef4\u62a4\u7684 v4.19 \u4e0b\u6e38\u5185\u6838\u3002\\n\u4e0e\u4e0a\u6e38\u5185\u6838 DRM \u5b50\u7cfb\u7edf\u4e2d\u7684 `loongson` \u9a71\u52a8\u76f8\u6bd4\uff0c\\nGSGPU \u5185\u6838\u6a21\u5757\u589e\u52a0\u4e86\u5b8c\u6574\u7684 3D \u786c\u4ef6\u76f8\u5173\u7684\u63a7\u5236\u4ee3\u7801\uff0c\\n\u5e76\u5411\u7528\u6237\u6001\u66b4\u9732\u4e86\u5b9e\u73b0 3D \u6e32\u67d3\u5fc5\u9700\u7684 GPU \u7f13\u51b2\u533a\u5bf9\u8c61\uff08buffer object\uff09\u63a5\u53e3\uff0c\\n\u4ee5\u53ca\u5411 GPU \u63d0\u4ea4\u6e32\u67d3\u4efb\u52a1\u7684\u76f8\u5173\u63a5\u53e3\u3002\\nGSGPU \u540c\u65f6\u8fd8\u5b9e\u73b0\u4e86\u7b14\u8bb0\u672c\u80cc\u5149\u76f8\u5173\u7684\u63a7\u5236\u63a5\u53e3\uff0c\u4e0e\u4e0a\u6e38 `loongson` DRM \u9a71\u52a8\u76f8\u6bd4\uff0c\\n\u53ef\u4ee5\u652f\u6301\u642d\u8f7d 7A2000 \u6865\u7247\u7684\u7b14\u8bb0\u672c\u7684\u80cc\u5149\u8c03\u8282\u3002\\n\\n\u5f53\u7136\u8981\u5b9e\u73b0\u9f99\u82af\u72ec\u663e\u7684 3D \u786c\u4ef6\u52a0\u901f\uff0c\u5149\u5185\u6838\u9a71\u52a8\u8fd8\u4e0d\u591f\uff0c\u8fd8\u9700\u8981\u7528\u6237\u7a7a\u95f4\u7684 mesa 3D \u9a71\u52a8\u3002\\n\u8fd9\u76ee\u524d\u8fd8\u4e0d\u5b58\u5728\u5f00\u6e90\u7684\u5b9e\u73b0\uff0c\u6240\u4ee5\u8fd8\u9700\u8981\u793e\u533a\u7684\u5171\u540c\u52aa\u529b\u3002\\n\u76ee\u524d\u4f7f\u7528\u4e0a\u6e38\u7684\u7528\u6237\u7a7a\u95f4\u9a71\u52a8\uff0c\u914d\u5408 2D \u8f6f\u4ef6\u6e32\u67d3\u53ef\u4ee5\u6b63\u5e38\u4f7f\u7528 X11 \u548c Wayland\uff08\u5f53\u7136\u4ec5\u9650\u4e8e2D\uff09\u3002\\n\u6709\u5174\u8da3\u7684\u670b\u53cb\uff0c\u7279\u522b\u662f\u5728 7A2000 \u7b14\u8bb0\u672c\u4e0a\u4f7f\u7528\u65b0\u4e16\u754c\u5185\u6838\u7684\u670b\u53cb\u4eec\u53ef\u4ee5\u5728[\u8fd9\u4e2a\u8bba\u575b\u8d34\u5b50](https://bbs.loongarch.org/d/303-gsgpu)\u627e\u5230\u66f4\u591a\u8be6\u60c5\u3002\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* 11 \u6708 11 \u65e5\uff0cAOSC \u7684\u65b0\u4e00\u671f\u53cc\u5468\u62a5\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u4e00\u6708\u4e0a\u300b[\u53d1\u5e03\u4e86](https://github.com/AOSC-Dev/newsroom/blob/b747c8e383b40695dce1fb9d7efbb19d64991d68/coffee-break/20231111/zh_CN.md)\uff0c\\n \u6b22\u8fce\u540c\u5b66\u4eec\u9605\u8bfb\u3002An English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/b747c8e383b40695dce1fb9d7efbb19d64991d68/coffee-break/20231111/en.md).\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-23","metadata":{"permalink":"/newsletter/this-week-in-loongarch-23","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-06-this-week-in-loongarch-23.mdx","source":"@site/newsletter/2023-11-06-this-week-in-loongarch-23.mdx","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-06T10:40:00.000Z","formattedDate":"2023\u5e7411\u67086\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.335,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-23","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","authors":["xen0n"],"date":"2023-11-06T10:40:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","permalink":"/newsletter/this-week-in-loongarch-24"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 22 \u671f","permalink":"/newsletter/this-week-in-loongarch-22"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 LoongArch® ABI v2.20\u3001Linux\u3001GCC \u4ee5\u53ca LLVM\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n{/* truncate */}\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u4e0a\u671f\u6211\u4eec\u7528\u8f83\u5927\u7684\u7bc7\u5e45[\u62a5\u9053\u4e86](./2023-10-30-this-week-in-loongarch-22.md#loongarch-r1p10)\\nLoongArch® v1.10 \u7684\u65b0\u589e\u7279\u6027\u3002\\n\u56e0\u6b64\u867d\u7136 Linux 6.6 \u4e5f\u5728\u4e0a\u5468\u6b63\u5f0f\u53d1\u5e03\u4e86\uff0c\u4f46\u6211\u4eec\u5e76\u672a\u9a6c\u4e0a\u8be6\u7ec6\u62a5\u9053\u3002\\n\u622a\u81f3\u76ee\u524d\uff0cLinux 6.7 \u7684\u5408\u5e76\u7a97\u53e3\u4ecd\u5728\u706b\u70ed\u5f00\u653e\u4e2d\uff0c\u800c\u9f99\u67b6\u6784\u7684\u53d8\u66f4\u76f8\u5bf9\u4e0d\u591a\uff1b\\n\u6211\u4eec\u53ef\u4ee5\u5148\u628a\u4e0a\u5468\u7684 Linux 6.6 \u5185\u5bb9\u8865\u4e0a\uff0c\u518d\u7b80\u5355\u8fc7\u4e00\u904d\u672c\u5468\u671f\u7684\u65b0\u529f\u80fd\u3002\\n\\n#### Linux 6.6\\n\\n\u6211\u4eec\u5728\u5468\u62a5\u7b2c 14 \u671f[\u6574\u7406\u8fc7\u4e86](./2023-09-04-this-week-in-loongarch-14.md#linux-6.6-loongarch-changes)\\nLinux 6.6 \u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\uff0c\u53ef\u65b9\u4fbf\u8df3\u8f6c\u9605\u8bfb\u3002\\n\\n\u9664\u6b64\u4e4b\u5916\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff1a\u4ece\u8be5\u7248\u672c\u5f00\u59cb\uff0cLinux \u7684\u9ed8\u8ba4\u8c03\u5ea6\u7b97\u6cd5\u88ab\u91cd\u505a\u4e86\uff0c\\n\u4ece CFS\uff08completely fair scheduler\uff1b\u5b8c\u5168\u516c\u5e73\u8c03\u5ea6\u5668\uff09\\n\u53d8\u4e3a\u4e86[\u4e0a\u4e16\u7eaa\u4e5d\u5341\u5e74\u4ee3\u4e00\u7bc7\u8bba\u6587][eevdf-paper]\u63d0\u51fa\u7684\\nEEVDF\uff08earliest eligible virtual deadline first\uff1b\u6700\u65e9\u5230\u671f\u7684\u865a\u62df\u622a\u6b62\u65f6\u523b\u4f18\u5148\uff09\uff0cLWN \u5bf9\u6b64[\u505a\u4e86\u8bb2\u89e3][eevdf-lwn]\u3002\\n\u8be5\u6539\u9020\u7531\u8457\u540d Linux \u8c03\u5ea6\u5668\u7ef4\u62a4\u8005 Peter Zijlstra \u64cd\u5200\u3002\\n\\n\u7ecf\u793e\u533a\u6d4b\u8bd5\uff0cEEVDF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u4ee5\u66f4\u5c11\u7684\u914d\u7f6e\u9879\uff0c\u5728\u5927\u591a\u6570\u573a\u666f\u4e0b\u5b9e\u73b0\u66f4\u9ad8\u7684\u516c\u5e73\u6027\u4e0e\u541e\u5410\uff1b\\n\u663e\u7136\uff0cCFS \u5e76\u4e0d\u300c\u5b8c\u5168\u516c\u5e73\u300d\uff0c\u5c3d\u7ba1\u5b83\u786e\u5b9e\u4e5f\u6bd4\u5b83\u7684\u524d\u4efb O(1) \u8c03\u5ea6\u5668\u66f4\u516c\u5e73\u4e9b\u3002\\n\u4f46\u4e5f\u4e0d\u6392\u9664\u4e2a\u522b\u573a\u666f\u7531\u4e8e\u53d7\u76ca\u4e8e\u5148\u524d CFS \u7b97\u6cd5\u7684\u4e0d\u516c\u5e73\uff0c\u800c\u5728\u65b0\u5185\u6838\u53cd\u800c\u6027\u80fd\u52a3\u5316\uff0c\u50cf\u662f\u53d7\u4e86 EEVDF \u60e9\u7f5a\u4e00\u6837\u3002\\n\u8bf7\u90a3\u4e9b\u9700\u8981\u6216\u8005\u5df2\u7ecf\u8feb\u8fd1\u7cfb\u7edf\u6027\u80fd\u6781\u9650\u7684\u5f00\u53d1\u8005\u548c\u7528\u6237\u4eec\u6ce8\u610f\uff1a\u5347\u7ea7\u5185\u6838\u524d\u91cd\u65b0\u8dd1\u8dd1\u538b\u6d4b\u3002\\n\\n[eevdf-paper]: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=805acf7726282721504c8f00575d91ebfd750564\\n[eevdf-lwn]: https://lwn.net/Articles/925371/\\n\\n\u9664\u4ee5\u4e0a\u53d8\u66f4\u4e4b\u5916\uff0c\u8fd8\u6709\u8bb8\u591a\u540c\u7b49\u91cd\u8981\u7684\u7f3a\u9677\u4fee\u590d\u3001\u4ee3\u7801\u91cd\u6784\u7b49\u5de5\u4f5c\u503c\u5f97\u8912\u626c\u3002\\n\u8fd9\u4e2a\u7248\u672c\u52a8\u8fc7\u9f99\u82af\u76f8\u5173\u4ee3\u7801\u7684\u6240\u6709\u5f00\u53d1\u8005\u4eec\uff08\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5e8f\uff0c\u4ee5 Git \u63d0\u4ea4\u8bb0\u5f55\u4e2d\u7684\u4f5c\u8005\u5b57\u6bb5\u4e3a\u51c6\uff09\uff1a\\n\\nimport ColumnedList from \'@site/src/components/ColumnedList\'\\n\\n\\n* Andy Shevchenko\\n* Aneesh Kumar K.V\\n* Baoquan He\\n* Bibo Mao\\n* Binbin Zhou\\n* Costa Shulyupin\\n* Dan Carpenter\\n* Enze Li\\n* Eric DeVolder\\n* Feiyang Chen\\n* Helge Deller\\n* Hongchen Zhang\\n* Huacai Chen\\n* Icenowy Zheng\\n* Jiri Slaby\\n* Keguang Zhang\\n* Maciej W. Rozycki\\n* Matthew Wilcox (Oracle)\\n* Mingtong Bao\\n* Nathan Chancellor\\n* Nick Desaulniers\\n* Paul E. McKenney\\n* Qi Hu\\n* Qing Zhang\\n* Russell King (Oracle)\\n* Sui Jingfeng\\n* Thomas Zimmermann\\n* Tiezhu Yang\\n* Tom Rix\\n* Vishal Moola (Oracle)\\n* WANG Xuerui\\n* Weihao Li\\n* Yanteng Si\\n* Yinbo Zhu\\n* YingKun Meng\\n* Zhangjin Wu\\n\\n\\n\u8fd9\u4e9b\u7ef4\u62a4\u5de5\u4f5c\u6db5\u76d6\u4e86 MIPS \u548c\u9f99\u67b6\u6784\u4e24\u4e2a\u65f6\u4ee3\u7684\u9f99\u82af CPU\uff0c\u4ee5\u53ca\u67b6\u6784\u65e0\u5173\u7684\u5927\u91cf\u9f99\u82af\u5e73\u53f0\u5916\u8bbe\u9a71\u52a8\u3002\\n\u5f53\u4f60\u5728\u9f99\u82af\u786c\u4ef6\u4e0a\u4f7f\u7528 Linux 6.6 \u65f6\uff0c\u522b\u5fd8\u4e86\u5411 :ta: \u4eec\u8bf4\u58f0\u8c22\u8c22\uff01\\n\\n:::info\\n\u672c\u8282\u62a5\u9053\u7684\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684 `git` \u64cd\u4f5c\u4ece Linux \u4ed3\u5e93\u4e2d\u83b7\u53d6\uff1a\\n\\n```sh\\ngit log --no-merges -P --grep=\'(?\u8bed\u4e49\u5316\u7248\u672cSemantic Versioning](https://semver.org/lang/zh-CN/)\u3001[\u65e5\u5386\u5316\u7248\u672cCalendar Versioning](https://calver.org/overview_zhcn.html)\u7b49\u7b49\u7cbe\u786e\u5b9a\u4e49\u7684\u65b9\u6848\uff0c\u6211\u4eec\u8fd8\u662f\u5c06\u5176\u79f0\u4f5c `v1.10`\uff1a\u8fd9\u6837\u81f3\u5c11\u6b21\u7248\u672c\u53f7\uff08minor version\uff09\u5b57\u6bb5\u7684\u5bbd\u5ea6\u90fd\u4e00\u81f4\uff0c\u56e0\u800c\u80fd\u591f\u660e\u786e\u662f\u4ee5 ASCII \u6392\u5e8f\u6765\u786e\u5b9a\u7248\u672c\u5148\u540e\u6b21\u5e8f\u4e86\u3002\u81f3\u4e8e\u672a\u6765\uff0c\u53ef\u80fd\u8fd8\u662f\u8f6c\u5411\u7cbe\u786e\u7684\u7248\u672c\u53f7\u65b9\u6848\u4f1a\u8282\u7701\u4e9b\u7406\u89e3\u6c9f\u901a\u6210\u672c\uff01\\n\\n### \u53d8\u66f4\u5185\u5bb9\\n\\n\u4e3a\u65b9\u4fbf\u9605\u8bfb\uff0c\u73b0\u6458\u5f55\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e00 1.5.1 \u8282\uff08LoongArch V1.1[^\u6ce8\u4e00] \u7248\u672c\u65b0\u589e\u5185\u5bb9\uff09\u5982\u4e0b\uff1a\\n\\n1. \u65b0\u589e\u8fd1\u4f3c\u6c42\u89e3\u6d6e\u70b9\u6570\u5f00\u6839\u548c\u6d6e\u70b9\u6570\u5f00\u6839\u6c42\u5012\u6570\u6307\u4ee4\uff0c\\n \u5305\u62ec\u6807\u91cf\u8fd0\u7b97\u7684 `FRECIPE.S`\u3001`FRECIPE.D`\u3001`FRSQRTE.S`\u3001`FRSQRTE.D` \u6307\u4ee4\uff0c128\\n \u4f4d SIMD \u8fd0\u7b97\u7684 `VFRECIPE.S`\u3001`VFRECIPE.D`\u3001`VFRSQRTE.S`\u3001`VFRSQRTE.D` \u6307\u4ee4\\n \u548c 256 \u4f4d SIMD \u8fd0\u7b97\u7684 `XVFRECIPE.S`\u3001`XVFRECIPE.D`\u3001`XVFRSQRTE.S`\u3001`XVFRSQRTE.D`\\n \u6307\u4ee4\u3002\\n2. \u65b0\u589e `SC.Q` \u6307\u4ee4\u3002\\n3. \u65b0\u589e `LLACQ.W`\u3001`SCREL.W`\u3001`LLACQ.D`\u3001`SCREL.D` \u6307\u4ee4\u3002\\n4. \u65b0\u589e `AMCAS.B`\u3001`AMCAS.H`\u3001`AMCAS.W`\u3001`AMCAS.D`\u3001`AMCAS_DB.B`\u3001`AMCAS_DB.H`\u3001`AMCAS_DB.W`\u3001`AMCAS_DB.D`\u3001`AMSWAP.B`\u3001`AMSWAP.H` \u6307\u4ee4\u3002\\n5. \u65b0\u589e `AMADD.B`\u3001`AMADD.H`\u3001`AMSWAP_DB.B`\u3001`AMSWAP_DB.H`\u3001`AMADD_DB.B`\u3001`AMADD_DB.H` \u6307\u4ee4\u3002\\n6. \u589e\u52a0 `dbar` \u6307\u4ee4\u90e8\u5206\u975e\u96f6 hint \u503c\u7684\u529f\u80fd\u5b9a\u4e49\u3002\\n7. \u65b0\u589e 64 \u4f4d\u673a\u5668\u4e0a\u6267\u884c 32 \u4f4d\u6574\u6570\u9664\u6cd5\u6307\u4ee4\u662f\u5426\u53d7\u6e90\u64cd\u4f5c\u6570\u5bc4\u5b58\u5668\u9ad8 32 \u4f4d\u503c\u5f71\u54cd\u7684\u5224\u5b9a\u65b9\u5f0f\u3002\\n8. \u89c4\u8303\u76f8\u540c\u5730\u5740 load \u8bbf\u5b58\u64cd\u4f5c\u987a\u5e8f\u6267\u884c\u884c\u4e3a\u5224\u5b9a\u65b9\u5f0f\u3002\\n9. \u589e\u52a0\u6d88\u606f\u4e2d\u65ad\u7684\u5b9a\u4e49\u3002\\n10. \u5141\u8bb8\u5b9e\u73b0\u786c\u4ef6\u9875\u8868\u904d\u5386\u3002\\n\\n:::info \u7248\u6743\u5185\u5bb9\u5408\u7406\u4f7f\u7528\u58f0\u660e\\n\u300a\u624b\u518c\u300b\u660e\u786e\u4fdd\u7559\u6240\u6709\u6743\u5229\u4e14\u7981\u6b62\u975e\u7ecf\u4e66\u9762\u8bb8\u53ef\u7684\u8f6c\u8f7d\u3002\\n\u4f46\u6839\u636e[\u300a\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\u8457\u4f5c\u6743\u6cd5\u300b](https://www.gov.cn/guoqing/2021-10/29/content_5647633.htm)\u7b2c\u4e8c\u5341\u56db\u6761\u7b2c\u4e00\u6b3e\u7b2c\u4e00\u9879\u3001\u7b2c\u4e8c\u9879\uff0c\\n\u6211\u4eec\u786e\u4fe1\u4ee5\u4e0a\u5bf9\u300a\u624b\u518c\u300b\u5185\u5bb9\u7684\u6458\u6284\u5c5e\u4e8e\u5408\u7406\u4f7f\u7528\u8303\u7574\uff0c\u4e0d\u53d7\u300a\u624b\u518c\u300b\u7248\u6743\u58f0\u660e\u7ea6\u675f\u3002\\n:::\\n\\n### \u4e3b\u7f16\u70b9\u8bc4\\n\\n\u6309\u7167\u539f\u6587\u5217\u8868\u7f16\u53f7\u770b\uff0c\u8bf4\u662f 10 \u6761\u53d8\u66f4\uff0c\u5176\u5b9e\u5206\u7c7b\u6709\u70b9\u592a\u8fc7\u6241\u5e73\u4e86\uff1a\\n\u6bd4\u65b9\u8bf4\u5176\u4e2d 6 \u6761\u90fd\u4e0e\u539f\u5b50\u64cd\u4f5c\u6709\u5173\uff0c\u4e14 2\u30013 \u4e24\u6761\u90fd\u5c5e\u4e8e LL/SC \u64cd\u4f5c\u8303\u7574\uff0c5\\n\u4e2d\u7684\u539f\u5b50\u4ea4\u6362\u64cd\u4f5c\u4e5f\u4e0d\u77e5\u4e3a\u4f55\u6ca1\u653e\u5165 4\u3002\\n\u90a3\u4e48\u5148\u629b\u5f00\u8fd9\u4e9b\u884c\u6587\u7ec6\u8282\uff0c\u5b8f\u89c2\u6765\u770b\uff0c\u5927\u7684\u53d8\u66f4\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u4e2a\u65b9\u9762\uff1a\\n\\n* \u540c\u6b65/\u539f\u5b50\u64cd\u4f5c\u80fd\u529b\uff0c\u5f97\u5230\u4e86\u4e00\u8f6e\u76f8\u5f53\u7684\u8fed\u4ee3\u3001\u4f18\u5316\uff08\u7b2c 2\u30013\u30014\u30015\u30016\u30018 \u6761\uff09\uff1b\\n* \u4ee5\u6b63\u5f0f\u6587\u5b57\u5f62\u5f0f\uff0c\u53d8\u76f8\u627f\u8ba4\u4e86\u521d\u4ee3 LoongArch® \u786c\u4ef6\u4e8b\u5b9e\u4e0a\u7684\u5947\u8469\u5751\u70b9\uff0c\u53ca\u5982\u4f55\u65b9\u4fbf\u5224\u65ad\u8be5\u5751\u662f\u5426\u5b58\u5728\uff08\u7b2c 7 \u6761\uff09\uff1b\\n* \u5728\u7279\u6743\u67b6\u6784\u65b9\u9762\uff0c\u505a\u4e86\u66f4\u591a\u6027\u80fd\u4f18\u5316\u7684\u5c1d\u8bd5\uff08\u7b2c 9\u300110 \u6761\uff09\uff1b\\n* \u53ef\u80fd\u51fa\u4e8e\u7279\u5b9a\u5e94\u7528\u573a\u666f\u9700\u8981\uff0c\u65b0\u589e\u4e86\u4e00\u5957\u66f4\u5feb\u7684\u5f00\u6839\u53f7\u3001\u5f00\u6839\u53f7\u540c\u65f6\u6c42\u5012\u6570\u7684\u64cd\u4f5c\uff08\u7b2c 1 \u6761\uff09\u3002\\n\\n\u8bf4\u5230\u539f\u5b50\u64cd\u4f5c\uff1a\u5f53\u4ee3\u8f6f\u4ef6\u5df2\u7ecf\u6df1\u5ea6\u4f9d\u8d56\u591a\u6838\u3001\u5e76\u884c\u64cd\u4f5c\uff0c\\n\u800c\u6bcf\u4e2a\u5904\u7406\u5668\u6838\u5f80\u5f80\u4e5f\u6df1\u5ea6\u4e71\u5e8f\u6267\u884c\u4ee5\u4fdd\u8bc1\u5355\u7ebf\u7a0b\u6027\u80fd\uff1b\\n\u4e3a\u5728\u8fd9\u6837\u6076\u52a3\u7684\u73af\u5883\u4e0b\u4fdd\u6301\u7a0b\u5e8f\u8bed\u4e49\u6b63\u786e\uff0c\\n\u5185\u5b58\u6a21\u578b\u2014\u2014\u53ef\u4ee5\u7b80\u5355\u7406\u89e3\u4e3a\u5177\u4f53\u7cfb\u7edf\u4e0a\u6240\u6709\u5904\u7406\u5668\u6838\u8bbf\u5b58\u526f\u4f5c\u7528\u7684\u7cbe\u786e\u63cf\u8ff0\u2014\u2014\u5176\u91cd\u8981\u6027\u52ff\u5eb8\u8d58\u8a00\u3002\\n\u8fd9\u4e9b\u4f18\u5316\u5f53\u7136\u662f LA664 \u76f8\u6bd4\u524d\u4ee3\u5fae\u67b6\u6784\u80fd\u591f\u53d6\u5f97\u6574\u4f53\u4e24\u4f4d\u6570\u767e\u5206\u6bd4\u6027\u80fd\u63d0\u5347\u7684\u91cd\u8981\u57fa\u7840\uff1a\\n\u5370\u8c61\u4e2d\u5355\u7eaf\u4e0a\u6587\u7b2c 6 \u6761\u7684\u7ec6\u7c92\u5ea6 `dbar` \u6539\u8fdb\uff0c\u5728\u5185\u6838\u9002\u914d\u540e\uff0c\u5c31\u8fbe\u6210\u4e86 10% \u8fd8\u662f 20% \u7684\u63d0\u5347\u3002\\n\u5b9e\u9645\u4e0a\uff0c\u76ee\u524d\u8fd9\u65b9\u9762\u5e94\u8be5\u4e5f\u53ea\u6709\u7b2c 6 \u6761\u88ab\u5b9e\u73b0\u4e86\uff1a\u56e0\u4e3a\u53ea\u6709\u5b83\u80fd\u591f\u5411\u4e0b\u517c\u5bb9\u8f83\u65e9\u7684\u5904\u7406\u5668\u578b\u53f7\u3002\\n\u5982\u679c\u5728\u5177\u4f53\u573a\u666f\u80fd\u591f\u4e0d\u8003\u8651\u65e7\u5904\u7406\u5668\u578b\u53f7\u800c\u751f\u6210\u673a\u5668\u8bed\u8a00\u7684\u8bdd\uff0c\u4f18\u5316\u7a0b\u5ea6\u53ea\u4f1a\u66f4\u9ad8\u3002\\n\\n\u8bf4\u5230\u7b2c 7 \u6761\u7684\u5751\uff1a\u8003\u8651\u5230\u9f99\u82af\u516c\u53f8\u7684\u56e2\u961f\u89c4\u6a21\u3001\u6295\u5165\u8d44\u91d1\u4e4b\u53ef\u601c\uff0c\u4ee5\u53ca\u521d\u4ee3\\nLoongArch® \u63a8\u51fa\u4e4b\u4ed3\u4fc3\uff0c\\n\u591a\u5c11\u634f\u51fa\u51e0\u4e2a bugs \u5176\u5b9e\u4e5f\u65e0\u53ef\u539a\u975e\uff0c\u6ca1\u4ec0\u4e48\u55b7\u70b9\uff1a\u6ca1 bug \u624d\u4e0d\u5bf9\u52b2\u5462\uff01\\n\u8fd9 `div.w` \u7cfb\u5217\u6307\u4ee4\uff08\u5377\u4e00\u7b2c 2.2.1.13 \u8282\uff09\uff0c\u4f5c\u4e3a\u4e00\u5957 32 \u4f4d\u64cd\u4f5c\uff0c\u5374\u4e0e\u6574\u4e2a LoongArch®\\n\u5176\u4f59 32 \u4f4d\u64cd\u4f5c\u884c\u4e3a\u90fd\u4e0d\u540c\uff1a\\n\u5c45\u7136\u4ecd\u7136\u4f1a\u770b\u5165\u53c2\u7684\u9ad8 32 \u4f4d\uff0c\u4e0d\u662f\u7b26\u53f7\u6269\u5c55\u5c31\u8f93\u51fa\u5783\u573e\u7ed3\u679c\u2014\u2014\u867d\u7136\u4e0d\u505a 64 \u4f4d\u8fd0\u7b97\uff0c\u4f46\u8fd8\u5f97\u7167 64 \u4f4d\u51c6\u5907\uff01\\n\u8fd9\u4f30\u8ba1\u662f\u6e90\u81ea\u6700\u65e9\u671f MIPS \u4e58\u9664\u6cd5\u5668\u4e0e\u6d41\u6c34\u7ebf\u5206\u79bb\u7684\u5386\u53f2\u5305\u88b1\uff1aMIPS \u7684 32 \u4f4d\u4e58\u9664\u6cd5\u6307\u4ee4\u90fd\u6709\u76f8\u540c\u9650\u5236\u3002\\n\u9f99\u67b6\u6784\u7684 32 \u4f4d\u4e58\u6cd5\u672a\u53d7\u5f71\u54cd\uff0c\u4f46\u9664\u6cd5\u3001\u53d6\u4f59\u7684\u5177\u4f53\u5b9e\u73b0\u4e0d\u5e78\u4e0e MIPS \u884c\u4e3a\u4e00\u81f4\u4e86\u3002\\n\u663e\u7136\u8bbe\u8ba1\u5e08\u4eec\u5e76\u4e0d\u8ba4\u4e3a\u8fd9\u5f88\u5408\u7406\u2014\u2014\u8981\u4e0d\u7136\u4e5f\u4e0d\u4f1a\u5728 LA664 \u5c31\u6539\u6389\u4e86\uff1b\\n\u4f46\u65e7\u7684\u578b\u53f7\u624d\u53d1\u552e\u6ca1\u591a\u4e45\uff0c\u8fd8\u5f97\u7ee7\u7eed\u652f\u6301\uff0c\u4e8e\u662f\u65b0\u7248\u624b\u518c\u5e76\u6ca1\u6709\u4fee\u6539\u7b2c 2.2.1.13 \u8282\u7684\u5185\u5bb9\uff0c\\n\u800c\u662f\u5728\u7b2c 2.2.10.5 \u8282 CPUCFG \u6570\u636e\u7684\u4ecb\u7ecd\u4e2d\u63d0\u4e86\u4e00\u5634\uff1a\\n\u53ef\u4ee5\u770b `CPUCFG.0x2.DIV32[bit26]` \u6765\u786e\u5b9a\u5f53\u524d\u5904\u7406\u5668\u662f\u5426\u53d7\u6b64\u5751\u5f71\u54cd\u3002\\n\\n\u7b14\u8005\u9884\u8ba1\u76f8\u5f53\u957f\u7684\u4e00\u6bb5\u65f6\u95f4\u91cc\uff0c\u4f30\u8ba1\u90fd\u53ea\u6709 JIT \u8fd0\u884c\u65f6\u80fd\u4ece\u4e2d\u53d7\u76ca\uff1a\\n\u548c\u4e0a\u6587\u7684\u539f\u5b50\u64cd\u4f5c\u65b0\u6307\u4ee4\u4e00\u6837\uff0c\u60f3\u8981\u6574\u4e2a\u7cfb\u7edf\u90fd\u7528\u4e0a\u8fd9\u51e0\u4e2a\u64cd\u4f5c\u7684\u6b63\u5e38\u3001\u5bbd\u677e\u8bed\u4e49\uff0c\\n\u5c31\u610f\u5473\u7740\u5931\u53bb\u524d\u4ee3\u4ea7\u54c1\u7684\u517c\u5bb9\u6027\u3002\\n\u56e0\u4e3a 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u4f59\u64cd\u4f5c\u662f\u5982\u6b64\u7684\u57fa\u7840\uff0c\u5982\u679c\u6bcf\u7528\u4e00\u6b21\u4e4b\u524d\u90fd\u8981\u52a8\u6001\u68c0\u67e5 CPU \u7279\u6027\uff0c\\n\u90a3\u6027\u80fd\u4e0d\u582a\u8bbe\u60f3\u3002\\n\u4f46 JIT \u7f16\u8bd1\u5668\u4e0d\u4e00\u6837\uff1a\u5b83\u52a8\u6001\u751f\u6210\u7684\u4ee3\u7801\u5e76\u4e0d\u53d7\u5b83\u81ea\u8eab\u9650\u5236\uff0c\u56e0\u6b64\u5b8c\u5168\u53ef\u4ee5\u505a\u5230\u52a8\u6001\u63a2\u67e5\u4e00\u6b21\\nCPU \u7279\u6027\uff0c\u540e\u7eed\u636e\u6b64\u751f\u6210\u3001\u8fd0\u884c\u5bf9\u5f53\u524d\u7cfb\u7edf\u6700\u4f18\u5316\u7684\u673a\u5668\u8bed\u8a00\uff0c\u800c\u81ea\u8eab\u5219\u4fdd\u6301\u4e0e\u6700\u517c\u5bb9\u7684\u57fa\u7ebf\u5bf9\u9f50\u3002\\n\\n\u65e2\u7136\u63d0\u5230\u4e86\u786c\u4ef6\u7684\u5751\uff0c\u90a3\u4e48\u5176\u5b9e\u4e5f\u4e0d\u5f97\u4e0d\u5410\u69fd\u4e0b\u7b2c 10 \u6761\u8fd9\u4e2a\u786c\u4ef6\u9875\u8868\u904d\u5386\u673a\u6784\uff1a\\n\u81f3\u5c11\u5728\u7b14\u8005\u62ff\u5230\u7684\u7b2c\u4e00\u6279 3A6000 \u677f\u5b50\u4e0a\uff0c\u8fd9\u4e2a\u529f\u80fd\u4f30\u8ba1\u88ab\u56fa\u4ef6\u7981\u7528\u4e86\uff1b\\n\u76f8\u5e94\u7684 CPUCFG \u6807\u5fd7\u4f4d\u8bfb\u51fa\u6765\u662f 0\uff0c\u5185\u6838\u5b9e\u9645\u4e5f\u6ca1\u7528\u4e0a\u3002\\n\u4e0d\u6e05\u695a\u524d\u51e0\u5929\u53d1\u552e\u7684\u91cf\u4ea7\u6279\u6b21\u8fd8\u6709\u6ca1\u6709\u8fd9\u95ee\u9898\uff1a\\n\u5982\u679c\u8fd9\u4e9b\u677f\u5b50\u4e0a\u8fd9\u6807\u5fd7\u4f4d\u4e5f\u662f 0\uff0c\\n\u90a3\u4f30\u8ba1 3A6000 \u8fd9\u4e2a\u673a\u6784\u5c31\u662f\u6709\u4ec0\u4e48\u5751\uff0c\u5bfc\u81f4\u7528\u4e0d\u8d77\u6765\u4e86\u3002\\n\u4e0d\u8fc7\u4e5f\u65e0\u4f24\u5927\u96c5\uff1a\u5176\u4ed6\u65b9\u9762\u7684\u6539\u8fdb\u5b9e\u5728\u592a\u5927\u4e86\uff0c\u7455\u4e0d\u63a9\u745c\u2014\u2014\u7b49\u4e0b\u4e2a\u6279\u6b21\u6216\u8005\u4e0b\u4e00\u4ee3\u4ea7\u54c1\u5427\uff01\\n\\n\u8bf4\u56de\u7b2c 9 \u6761\uff0c\u8fd9\u4e2a\u5e94\u8be5\u6ca1\u5751\u4e86\u2014\u2014\u4e5f\u4e0d\u4e00\u5b9a\uff1b\u56e0\u4e3a\u76ee\u524d Linux \u5185\u6838\u5e76\u6ca1\u6709\u52a0\u5165\u76f8\u5173\u652f\u6301\u3002\\n\u4e0d\u8fc7\u624b\u518c\u65e2\u7136\u653e\u51fa\u4e86\uff0c\u5185\u6838\u5c42\u9762\u8fd9\u4e2a\u7279\u6027\u4e5f\u80fd\u505a\u5230\u5411\u540e\u517c\u5bb9\uff0c\u90a3\u4e48\u5c31\u671f\u5f85\u63a5\u4e0b\u6765\u4e00\u4e24\u4e2a\u5468\u671f\u5b83\u80fd\u5f97\u5230\u652f\u6301\u5427\u3002\\n\\n\u6700\u540e\u662f\u7b2c 1 \u6761\u8fd9\u4e00\u5957\u6d6e\u70b9\u8fd0\u7b97\u4f18\u5316\uff1a\\n\u7b14\u8005\u5b9e\u6d4b\u4e86 `frsqrte.s` \u6307\u4ee4\u6bd4[\u8457\u540d\u7684 *Quake III Arena*\u300a\u96f7\u795e\u4e4b\u9524 3 \u7ade\u6280\u573a\u300b \u5feb\u901f\u5e73\u65b9\u5012\u6570\u7b97\u6cd5](https://en.wikipedia.org/wiki/Fast_inverse_square_root)\u7cbe\u786e\uff0c\\n\u4e14\u4e0d\u662f\u5355\u7eaf\u5c06\u8fd9\u4e2a\u7ecf\u5178\u7b97\u6cd5\u6700\u540e\u4e00\u6b65\u7684 Newton \u8fed\u4ee3\u591a\u8dd1\u4e00\u4e24\u8f6e\u90a3\u4e48\u7b80\u5355\u3002\\n\u5177\u4f53\u7528\u7684\u5565\u7b97\u6cd5\u76ee\u524d\u4e0d\u77e5\u9053\uff0c\u6bd5\u7adf\u7b14\u8005\u6ca1\u7cbe\u529b\u5bf9\u5904\u7406\u5668\u8bbe\u8ba1\u9886\u57df\u7684\u524d\u6cbf\u8bba\u6587\u4fdd\u6301\u5173\u6ce8\uff1b\\n\u5feb\u5c31\u5b8c\u4e8b\u4e86\uff01\\n\u8fd9\u4e9b\u64cd\u4f5c\u867d\u7136\u4e0d\u5982 IEEE 754 \u89c4\u8303\u4e0a\u8981\u6c42\u7684\u90a3\u4e48\u7cbe\u786e\uff0c\u4f46\u80dc\u5728\u6267\u884c\u5feb\uff1a\u8fd9\u5bf9 3D \u6e32\u67d3\u3001\\n\u7269\u7406\u5f15\u64ce\u3001\u7c97\u6d45\u7684\u6570\u503c\u6a21\u62df\uff0c\u4e4b\u7c7b\u7cbe\u5ea6\u8981\u6c42\u4e0d\u90a3\u4e48\u9ad8\u7684\u573a\u666f\u90fd\u662f\u597d\u4e8b\u3002\\n\u4e0d\u8fc7\u9f99\u67b6\u6784\u8fd9\u4e2a\u53d1\u660e\u6bd4\u8f83\u6709\u5f00\u521b\u6027\uff0c\u4ee5\u81f3\u4e8e\u4ece\u76ee\u524d\u7684\u7f16\u7a0b\u8bed\u8a00\u90fd\u4e0d\u592a\u5bb9\u6613\u8c03\u7528\u5b83\u4eec\uff0c\\n\u975e\u5f97\u624b\u5199\u70b9\u6c47\u7f16\u4e0d\u53ef\uff1b\\n\u6709\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u770b\u80fd\u4e0d\u80fd\u7ed9\u4f60\u7231\u7528\u7684\u6570\u5b66\u3001\u56fe\u5f62\u5b66\u8f6f\u4ef6\u63d0 PR \u52a0\u652f\u6301\u4e86\uff01\\n\\n\u603b\u4e4b\uff0c\u8fd9\u6b21\u66f4\u65b0\u5bf9\u6027\u80fd\u63d0\u5347\u884c\u4e4b\u6709\u6548\uff0c\u5bf9\u7fa4\u4f17\u6298\u817e\u5341\u5206\u53cb\u597d\uff0c\u76f8\u4fe1\u5b83\u80fd\u6210\u4e3a\u4f17\u53d1\u70e7\u53cb\u591a\u5e74\u540e\u7684\u7f8e\u597d\u56de\u5fc6\uff08\u4e5f\u53ef\u80fd\u4e0d :smiling_imp:\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLinux 6.6 \u6b63\u5f0f\u7248[\u5df2\u7ecf\u53d1\u5e03](https://lore.kernel.org/lkml/CAHk-=wiZuU984NWVgP4snp8sEt4Ux5Mp_pxAN5MNV9VpcGUo+A@mail.gmail.com/)\u3002\\n\u672c\u5468\u548c\u4e0b\u5468\u662f Linux 6.7 \u7684\u5408\u5e76\u7a97\u53e3\uff1b\\n\u76ee\u524d\u9f99\u67b6\u6784\u5206\u652f\u4ecd\u7136\u4fdd\u6301\u5728\u53ea\u6709 KVM \u8865\u4e01\u7684\u72b6\u6001\uff0c\u7b49\u5f85 KVM \u7ef4\u62a4\u8005\u7684\u62c9\u53d6\u3002\\n\u4e0d\u7528\u6025\uff1a\u6709\u4e24\u5468\u65f6\u95f4\uff0c\u5e76\u4e14\u672c\u8eab\u9f99\u82af\u4e5f\u4e60\u60ef\u5728\u7b2c\u4e8c\u5468\u7684\u5468\u4e94\u53d1\u51fa PR\uff0c\u4e89\u53d6\u591a\u70b9\u5b8c\u5584\u4ee3\u7801\u7684\u65f6\u95f4\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\nJiajie Chen [\u7814\u7a76\u5b8c](https://github.com/jiegec/la-inst) 3A6000 \u5f7c\u65f6\u5c1a\u672a\u516c\u5f00\u7684\u6307\u4ee4\u4e4b\u540e\uff0c\\n\u4e00\u770b\u5230 LoongArch v1.10 \u6b63\u5f0f\u516c\u5e03\uff0c\\n\u4e24\u5929\u540e\u7684 10 \u6708 25 \u53f7\u5c31[\u638f\u51fa\u4e86](https://sourceware.org/pipermail/binutils/2023-October/130139.html)\u7ed9\\nbinutils \u65b0\u589e\u8fd9\u4e9b\u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\u7684\u8865\u4e01\uff08\u5f53\u7136\u53ea\u505a\u4e86\u6b63\u5f0f\u89c1\u8bf8\u6587\u6863\u7684\u90a3\u90e8\u5206\uff09\u3002\\n\u6770\u54e5\u5a01\u6b66\uff01\\n\u611f\u8c22 xry111 \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n#### gcc\\n\\n\u6b63\u5728\u7b14\u8005\u9f9f\u901f\u8d76\u7a3f\u4e4b\u9645\uff0cXi Ruoyao\\n[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634687.html)\u4ea4\u53c9\u6c47\u7f16\u5668\u5c31\u7eea\u524d\uff0c\\n\u6784\u5efa\u4ea4\u53c9\u7f16\u8bd1\u5668\u4f1a\u5931\u8d25\u7684\u95ee\u9898\u3002\\n\\n#### LLVM\\n\\n[\u4e0a\u671f\u62a5\u9053\u8fc7\u7684](./2023-10-23-this-week-in-loongarch-21.md#llvm) FCC \u642c\u8fd0\u652f\u6301\u8865\u4e01\uff0c\\n10 \u6708 27 \u65e5[\u88ab\u79fb\u690d\u56de\u4e86](https://github.com/llvm/llvm-project-release-prs/pull/746) LLVM 17 \u5206\u652f\u3002\\n\\n:::tip \u82b1\u7d6e\\n\u770b\u8bc4\u8bba\u533a\uff0c\u8fd9\u4e2a bug \u662f\u4e0b\u6e38\u6709\u4eba\u7f16\u8bd1 UE4\uff08\u5927\u540d\u9f0e\u9f0e\u7684\u865a\u5e7b\u56db\u6e38\u620f\u5f15\u64ce\uff09\u53d1\u73b0\u7684\uff1b\\n\u800c LLVM 17 \u7cfb\u5217\u7684\u53d1\u7248\u7ba1\u7406\u5458\u5728 Ubisoft\uff08\u80b2\u78a7\uff09\u7684\u5de5\u5177\u94fe\u90e8\u95e8\u5de5\u4f5c\u3002\\n\u6e38\u620f\u63a8\u52a8\u5148\u8fdb\u751f\u4ea7\u529b\uff01\\n:::\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5e94\u5fae\u4fe1\u300c\u9f99\u82af\u8bfb\u8005\u4ff1\u4e50\u90e8\u300d\u7fa4\u7684\u300c\u554a\u54c8\u54c8\u300d\u7fa4\u53cb\u53cd\u9988\uff0c\u4ece\u672c\u671f\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u5f00\u59cb\uff0c\\n\u7565\u5fae\u6269\u5145\u4e86\u524d\u8a00\u90e8\u5206\u3002\u611f\u8c22\u8fd9\u4f4d\u8bfb\u8005\u7684\u5efa\u8bae\uff01\\n\\n\u6765\u81ea[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u670b\u53cb[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)\u4e3a Google \u7684 OpenSSL\\nfork BoringSSL [\u63d0\u4ea4\u4e86](https://boringssl-review.googlesource.com/c/boringssl/+/63565)\u9002\u914d\u4efb\u610f\u975e\u5b98\u65b9\u652f\u6301\u7684\u5c0f\u7aef\\n\uff08little-endian\uff0932 \u4f4d\u6216 64 \u4f4d\u5e73\u53f0\u7684\u8865\u4e01\u3002\\n\\nxen0n \u5728\u7ed9 Debian loong64 port \u76d1\u5de5\u7684\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\\n[buildd.debian.org \u7684\u7edf\u8ba1\u56fe\u8868\u9875\u9762](https://buildd.debian.org/stats/)\u4e00\u76f4\u7f3a\u9f99\u67b6\u6784\uff0c\\n\u4e8e\u662f\u987a\u624b\u5e2e\u5fd9[\u52a0\u4e0a\u4e86](https://salsa.debian.org/wb-team/wanna-build/-/commit/1f64a552b488f2565cbc1e8336416abac0376243)\u3002\\n\u867d\u7136\u5386\u53f2\u6570\u636e\u6ca1\u6cd5\u8865\uff0c\u4f46\u4e5f\u65e0\u4f24\u5927\u96c5\u2014\u2014\u8fd9 port \u51fa\u751f\u90fd\u6ca1\u51e0\u5929\u54ea\uff01\\n\\n:::tip \u82b1\u7d6e\\nxen0n \u9009\u53d6\u4e86 R \u8bed\u8a00\u7684\u756a\u8304\u8272 `tomato` \u4e3a\u9f99\u67b6\u6784\u914d\u8272\uff0c\u539f\u56e0\u5199\u5728\u4e86\u63d0\u4ea4\u8bf4\u660e\uff1a\\n\\n* \u8ddf\u9f99\u82af\u7684 logo \u914d\u8272\u5dee\u4e0d\u591a\uff0c\u90fd\u7ea2\u4e0d\u6e9c\u79cb\u7684\uff0c\u4ee5\u53ca\\n* \u756a\u8304 :tomato: \u57fa\u672c\u4e0a\u4e5f\u597d\u5403\uff01\\n\\n\uff08\u5176\u5b9e\u5f53\u7136\u9996\u8981\u8003\u8651\u662f\u533a\u5206\u5ea6\uff1b\u8fd9\u70b9\u5012\u662f\u5fd8\u8bb0\u5728\u63d0\u4ea4\u8bf4\u660e\u5199\u4e0a\u4e86\u3002:joy:\uff09\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u7ad9\u52a1\u516c\u544a\uff1a\u5e94\u5e7f\u5927\u6c89\u9ed8\u8bfb\u8005\u7fa4\u4f53\u7684\u9700\u6c42\uff08\u4f60\u4eec\u7684\u6c89\u9ed8\u9707\u8033\u6b32\u804b\uff1bl\xf3ng \u6ca1\u6709\u53cc\u5173\uff09\uff0c\\n \u6211\u4eec\u5df2\u4e3a\u672c\u7ad9\u53d6\u5f97\u4e86\u4e2d\u56fd\u5927\u9646 ICP \u5907\u6848\uff0c\\n \u4ee5\u4fbf\u4e3a\u4e2d\u56fd\u5927\u9646\u5730\u533a\u8bfb\u8005\u63d0\u4f9b\u5176\u5883\u5185\u7684 CDN \u52a0\u901f\uff1a\\n \u60a8\u6253\u5f00\u672c\u7ad9\u5e94\u8be5\u4e0d\u5361\u4e86\u3002\\n \u8be6\u89c1[\u672c\u7ad9\u52a8\u6001](/blog/we-are-now-served-from-cn-mainland/)\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-21","metadata":{"permalink":"/newsletter/this-week-in-loongarch-21","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-23-this-week-in-loongarch-21.md","source":"@site/newsletter/2023-10-23-this-week-in-loongarch-21.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-23T00:00:00.000Z","formattedDate":"2023\u5e7410\u670823\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.84,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-21","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","authors":["xen0n"],"date":"2023-10-23T00:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 22 \u671f","permalink":"/newsletter/this-week-in-loongarch-22"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","permalink":"/newsletter/this-week-in-loongarch-20"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n10 \u6708 19 \u65e5\uff0cHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/169774057661.20290.11492595041951746156.pr-tracker-bot@kernel.org/T/#m9facb0821a19108af3693a87dc0f603d6d9fa26f)\\nv6.6 \u5f00\u53d1\u5468\u671f\u7684\u7b2c\u4e09\u7ec4 LoongArch \u67b6\u6784\u76f8\u5173\u4fee\u590d\uff0c\\nLinus \u5f88\u5feb\u5c06\u5176\u62c9\u5165\u4e86\u4e3b\u7ebf\u3002\\n\u8fd9\u4e9b\u5185\u5bb9\u5df2\u5728\u7f8e\u897f\u65f6\u95f4\u5468\u65e5\u4e0b\u5348\u7684 v6.6-rc7 tag \u53d1\u5e03\u4e86\u3002\\n\u5185\u5bb9\u6709\uff1a\\n\\n* \u5468\u62a5\u7b2c 19 \u671f\u62a5\u9053\u7684 Icenowy Zheng \u7684 LoongArch \u5199\u5408\u5e76\u95ee\u9898\u89c4\u907f\u65b9\u5f0f[\u4fee\u590d](https://git.kernel.org/torvalds/c/278be83601dd1725d4732241f066d528e160a39d)\uff0c\\n \u5b9e\u6d4b\u89e3\u51b3\u4e86 AMD GPU \u7cfb\u7edf\u7684\u8bb8\u591a\u7eb9\u7406\u635f\u574f\u95ee\u9898\u3002\\n* \u540c\u6837\u5728\u7b2c 19 \u671f\u62a5\u9053\u7684\u4e0a\u6e38\u5f00\u53d1\u8005 Deepak \u53d1\u73b0\u7684\u5b9e\u65f6\u5185\u6838\u76f8\u5173\u91cd\u6784\u9700\u6c42\uff0c\\n \u7531 Huacai Chen [\u5b9e\u73b0](https://git.kernel.org/torvalds/c/477a0ebec101359f49d92796e3b609857d564b52)\u3002\\n* Tiezhu Yang [\u91cd\u6784\u7684](https://git.kernel.org/torvalds/c/00c2ca84c680f64b79b5e10a482ca435fd7d98ce)\u4e00\u4e9b\u6c47\u7f16\u4ee3\u7801\u4e2d\u5bf9\u7b26\u53f7\u6027\u8d28\u7684\u6807\u6ce8\u3002\\n* Huacai Chen [\u5b9e\u73b0\u7684](https://git.kernel.org/torvalds/c/449c2756c2323c9e32b2a2fa9c8b59ce91b5819d)\u7b2c\\n 18 \u671f\u5468\u62a5\u4e2d\u53d1\u73b0\u7684\u6784\u5efa\u9519\u8bef\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 19 \u65e5\uff0cXi Ruoyao \u5b8c\u6210\u4e86\u56fd\u5e86\u4ee5\u6765\u4e00\u76f4\u5728\u505a\u7684\u6307\u4ee4\u8c03\u5ea6\u4e0e linker relaxation\\n\u7684\u5e73\u8861\u53d6\u820d\u5de5\u4f5c\uff0c\u5411\u90ae\u4ef6\u5217\u8868[\u53d1\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633583.html)\u7b2c\u4e00\u7a3f\u3002\\n\uff08\u5bf9\u4e8e\u5148\u524d\u53d1\u73b0\u7684 binutils BFD \u94fe\u63a5\u5668 \u4e0d\u4f1a relax \u4efb\u4f55\u5171\u4eab\u5e93\u7684\u95ee\u9898\uff0cmengqinggang\\n[\u5199\u4e86](https://sourceware.org/pipermail/binutils/2023-October/129941.html)\u4e00\u7248\u4fee\u590d\u3002\uff09\\n\\n#### LLVM\\n\\n10 \u6708 17 \u65e5\uff0cyjijd [\u63d0\u4ea4\u4e86](https://github.com/llvm/llvm-project/pull/69313)\\n:ta: \u548c leecheechen \u5408\u4f5c\u5f00\u53d1\u7684\uff0c\u4e3a Clang \u6dfb\u52a0 LSX/LASX builtins \u652f\u6301\u7684\u8865\u4e01\u3002\\n\u6709\u8fd9\u90e8\u5206\u652f\u6301\u4e4b\u540e Clang \u5c31\u53ef\u4ee5\u7f16\u8bd1\u5411\u91cf\u4f18\u5316\u7684 C \u4ee3\u7801\uff0c\u800c\u4e0d\u7528\u4f9d\u8d56\u624b\u5199\u6c47\u7f16\u4e86\u3002\\n\\n\u540c\u4e00\u5929\uff0cwangleiat [\u6559\u4f1a\u4e86](https://github.com/llvm/llvm-project/pull/69300)\\nLLVM \u5728 LoongArch \u6d6e\u70b9\u6761\u4ef6\u7801\u5bc4\u5b58\u5668\u95f4\u642c\u8fd0\u6570\u636e\u3002\\n\u5728\u6b64\u4e4b\u540e\uff0c\u5bc4\u5b58\u5668\u5206\u914d\u5de5\u5e8f\u5c31\u53ef\u4ee5\u653e\u5f00\u624b\u811a\u968f\u610f\u4f7f\u7528\u8fd9\u90e8\u5206\u5bc4\u5b58\u5668\u4e86\u3002\\n\uff08\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u5728\u4ee3\u7801\u5ba1\u67e5\u8fc7\u7a0b\u4e2d\uff0c\u5076\u7136\u53d1\u73b0\u6b64\u53d8\u66f4\u6e05\u96f6 FCC \u7684\u65b9\u5f0f\u6bd4 GCC \u5148\u524d\u4f7f\u7528\u7684\u65b9\u5f0f\u8981[\u5feb\u8bb8\u591a](https://github.com/llvm/llvm-project/pull/69300#discussion_r1361832152)\u3002\\n\u5f53\u5929 Xi Ruoyao \u4fbf\u5c06\u6b64\u4f18\u5316[\u79fb\u690d\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633317.html) GCC\uff0c\\n\u7b2c\u4e8c\u5929\u5373\u5408\u5e76\u4e86\u3002\uff09\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u8fd1\u65e5\uff0c\u9f99\u82af\u5f00\u53d1\u8005 zhaojunchao \u5411\u5fae\u8f6f\u516c\u53f8\u7ef4\u62a4\u7684\u8de8\u5e73\u53f0\u3001\u9ad8\u6027\u80fd\u673a\u5668\u5b66\u4e60\u63a8\u7406\u3001\u8bad\u7ec3\u52a0\u901f\u65b9\u6848\\nONNX \u8fd0\u884c\u65f6[\u63d0\u4ea4\u4e86](https://github.com/microsoft/onnxruntime/pull/17937)\\nLoongArch \u5411\u91cf\u4f18\u5316\u3002\\n\uff08\u611f\u8c22 mengqinggang \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\uff09\\n\\n\u524d\u4e00\u6bb5\u65f6\u95f4\uff0cDebian \u90ae\u4ef6\u5217\u8868\u7ba1\u7406\u5458[\u5b8c\u6210\u4e86](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023585#87)\\nDebian LoongArch port \u90ae\u4ef6\u5217\u8868\u7684\u521b\u5efa\u64cd\u4f5c\u3002\\n\u540e\u7eed\u53ef\u4ee5\u5728[\u8fd9\u91cc](https://lists.debian.org/debian-loongarch/)\u8ba2\u9605\u3001\u770b\u90ae\u4ef6\u5f52\u6863\u4e86\u3002\\n\uff08\u611f\u8c22 [SnowNF](https://github.com/SnowNF) \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-20","metadata":{"permalink":"/newsletter/this-week-in-loongarch-20","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-16-this-week-in-loongarch-20.md","source":"@site/newsletter/2023-10-16-this-week-in-loongarch-20.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-16T10:27:58.000Z","formattedDate":"2023\u5e7410\u670816\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.51,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-20","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","authors":["xen0n"],"date":"2023-10-16T10:27:58.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","permalink":"/newsletter/this-week-in-loongarch-21"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","permalink":"/newsletter/this-week-in-loongarch-19"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u793e\u533a\u4f19\u4f34 jiegec \u5b8c\u6210\u4e86\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\uff08LBT\uff09\\n\u6269\u5c55\u7684\u89e3\u6790\u5de5\u4f5c\uff0c[\u6574\u7406\u4e86\u4e00\u4efd\u53c2\u8003\u6587\u6863](https://github.com/jiegec/la-inst/blob/master/LBT.md)\uff01\\n\u7528\u5230\u7684\u5b9e\u9a8c\u4ee3\u7801\u5c31\u9644\u5728\u6587\u6863\u65c1\u8fb9\u3002\\n\u8fd9\u610f\u5473\u7740 QEMU \u7b49\u76f8\u5173\u9879\u76ee\u4e0d\u4e45\u5c31\u80fd\u7528\u4e0a LBT \u7279\u8272\u6307\u4ee4\uff0c\\n\u4e0d\u7528\u82e6\u54c8\u54c8\u7b49\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e09\u516c\u5e03\u4e86\u3002\\n\\n\u51e0\u5468\u4ee5\u6765\uff0c[\u5b89\u540c\u5f00\u6e90\u793e\u533a][aosc]\uff08AOSC\uff09\\n\u7684\u670b\u53cb\u4eec\u9646\u7eed\u62ff\u5230\u4e86 LoongArch \u786c\u4ef6\uff0c\u505a\u4e86\u8bb8\u591a\u6d4b\u8bd5\u9a8c\u8bc1\u5de5\u4f5c\uff0c\\n\u5341\u5206\u8f9b\u82e6\u3002\\n\u672c\u671f\u7684 AOSC \u793e\u520a[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u6708\u4e0a\u300b](https://github.com/AOSC-Dev/newsroom/blob/76c6dc1571cba2af74673b51df70f5f3d43ed1a0/coffee-break/20231014/zh_CN.md)\u8bb0\u5f55\u4e86\\n:ta: \u4eec\u7684\u5de5\u4f5c\u6210\u679c\uff0c\u63a8\u8350\u9605\u8bfb\u3002(An English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/76c6dc1571cba2af74673b51df70f5f3d43ed1a0/coffee-break/20231014/en.md).)\\n\\n\u6b64\u5916\uff0c\u300a\u54b1\u9f99\u4e86\u5417\uff1f\u300b\u540e\u7eed\u4e5f\u5c06\u4e0e AOSC \u7b49\u793e\u533a\u670b\u53cb\u4eec\u4e00\u9053\uff0c\\n\u6269\u5145\u9605\u8bfb\u6750\u6599\u3001\u4f18\u5316\u4fe1\u606f\u67b6\u6784\uff0c\u4ee5\u671f\u66f4\u597d\u670d\u52a1\u8bfb\u8005\u7fa4\u4f53\u3002\\n\u656c\u8bf7\u671f\u5f85\uff08\u4e5f[\u671f\u5f85\u60a8\u7684\u53c2\u4e0e](https://github.com/loongson-community/areweloongyet)\uff09\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u5728\u89e3\u6790 LBT \u6269\u5c55\u7684\u8fc7\u7a0b\u4e2d\uff0cjiegec [\u53d1\u73b0\u4e86](https://bugzilla.kernel.org/show_bug.cgi?id=218012)\u4e3b\u7ebf\u5185\u6838\u5bf9\\nLBT x87 \u6d6e\u70b9\u6808\u9876\u6307\u9488\u5bc4\u5b58\u5668 `FTOP` \u7684\u4fdd\u5b58\u6062\u590d\u6709\u8bef\u3002\\n\u7531\u4e8e\u76f4\u5230\u672c\u5468\u4e3a\u6b62 LBT \u90fd\u5904\u4e8e\u7f3a\u4e4f\u6587\u6863\u7684\u72b6\u6001\uff0c\u4e14\u76ee\u524d\u5df2\u77e5\u552f\u4e00\u4f1a\u5229\u7528 LBT \u7684\u5e94\u7528\u7a0b\u5e8f LATX \u5e76\u672a\u53d7\u5176\u5f71\u54cd\uff0c\u8be5\u95ee\u9898\u4e0d\u4f1a\u5f71\u54cd\u65e5\u5e38\u4f7f\u7528\uff0c\u4f46\u9884\u8ba1\u4e5f\u4f1a\u5728\u6708\u4e2d\u5f97\u5230\u6392\u67e5\u3001\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 16 \u65e5\uff0cJiahao Xu [\u8d34\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633086.html)\u4e24\u7ec4\u5411\u91cf\u64cd\u4f5c\u7684\u9f99\u67b6\u6784\u652f\u6301\uff0c\\n\u4ee5\u53ca\u4e00\u7248\u65b0\u7684\u5411\u91cf\u5316\u6210\u672c\u6a21\u578b\u3002\\n\u8fd9\u4f4d\u540c\u5b66\u5728\u4e0a\u6e38\u4f3c\u4e4e\u662f\u65b0\u9762\u5b54\uff0c\u6b22\u8fce\uff01\\n\\n10 \u6708 12 \u65e5\uff0cLulu Cheng [\u4fee\u6539\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632748.html)\\ngcc \u5bf9\u9f50\u6c47\u7f16\u6307\u4ee4\u7684\u65b9\u5f0f\u3002\\n\u8be5\u53d8\u66f4\u9700\u8981\u914d\u5408 binutils \u7684[\u6b64\u63d0\u4ea4](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c)\u624d\u80fd\u5de5\u4f5c\u3002\\n\\n10 \u6708 11 \u65e5\uff0cChenghui Pan [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632607.html)\u4e00\u4f8b\u5411\u91cf\u5316\u9020\u6210\u7684\u5d29\u6e83\\n\uff08\u5b66\u540d ICE\uff1a\u5185\u90e8\u7f16\u8bd1\u5668\u9519\u8bef\uff09\u3002\\n\\n#### LLVM\\n\\n10 \u6708 12 \u65e5\uff0c\u793e\u533a\u7684 Xinmudotmoe \u540c\u5b66\u5728\u6298\u817e LoongArch \u4e0a ROCm \u7684\u8fc7\u7a0b\u4e2d\uff0c\\n\u7ed9 LoongArch LLVM [\u6dfb\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/68851)\\n16 \u4f4d\uff08\u534a\u7cbe\u5ea6\uff09\u53ca 128 \u4f4d\uff08\u56db\u7cbe\u5ea6\uff09\u6d6e\u70b9\u64cd\u4f5c\u7684\u6a21\u62df\u652f\u6301\u3002\\n\u6309\u7167\u516c\u5f00\u4fe1\u606f\uff0c\u9f99\u67b6\u6784\u6ca1\u6709 16 \u4f4d\u6216 128 \u4f4d\u6d6e\u70b9\u64cd\u4f5c\u7684\u539f\u751f\u652f\u6301\uff1b\\n\u4e3a\u4e86\u80fd\u8dd1\u66f4\u591a\u7a0b\u5e8f\uff0c\u5373\u4fbf\u6a21\u62df\u64cd\u4f5c\u6027\u80fd\u80af\u5b9a\u4e0d\u5982\u771f\u5b9e\u786c\u4ef6\u652f\u6301\uff0c\u5bf9\u751f\u6001\u6574\u4f53\u800c\u8a00\u4e5f\u503c\u4e86\u3002\\n\\n:::info \u7b14\u8005\u731c\u6d4b\\n\u5927\u6982\u7387 LoongArch \u66fe\u7ecf\u81f3\u5c11\u652f\u6301\u8fc7\u8fd9\u4e24\u79cd\u6d6e\u70b9\u683c\u5f0f\u4e4b\u4e00\uff0c\u4f46\u5728\u516c\u5f00\u524d\u88ab\u6252\u6389\u4e86\u3002\\n\\n\u53ef\u4ee5\u4ece\u6d6e\u70b9\u6307\u4ee4\u7684\u7f16\u7801\u4e0a\u770b\u51fa\u7aef\u502a\uff1a\u8868\u793a\u6d6e\u70b9\u683c\u5f0f\u7684\u90a3\u90e8\u5206\u64cd\u4f5c\u7801\uff0c\\n\u5355\u7cbe\u5ea6\u662f `01` \u53cc\u7cbe\u5ea6\u662f `10`\uff0c\u56e0\u6b64\u8fd9\u4e2a\u4f4d\u57df\u80af\u5b9a\u5bbd 2 \u4f4d\uff1b\\n\u4f46\u76f8\u5e94\u4f4d\u53d6 `00` \u6216 `11` \u7684\u6307\u4ee4\u5c3d\u4ed8\u9619\u5982\u3002\\n\u5982\u679c\u9700\u6c42\u4e0a\u53ea\u8981\u652f\u6301 2 \u79cd\u683c\u5f0f\u5373\u53ef\uff08\u5373\u6700\u5e38\u89c1\u7684\u5355\u7cbe\u5ea6\u3001\u53cc\u7cbe\u5ea6\u6d6e\u70b9\uff09\uff0c\u591a\u7684\u683c\u5f0f\u4ee5\u540e\u4e5f\u4e0d\u8981\uff0c\\n\u90a3\u4e48\u8868\u793a\u8fd9\u4e2a\u4fe1\u606f\u53ea\u8981 1 \u4f4d\u5c31\u591f\u4e86\u3002\\n\\n\u56e0\u6b64\u5728\u300c\u62c9\u6e05\u5355\u300d\u51b3\u5b9a\u6307\u4ee4\u96c6\u5927\u65b9\u5411\u7684\u9636\u6bb5\uff0c\u8bbe\u8ba1\u5e08\u5fc5\u7136\u8003\u8651\u4e86\u5176\u4ed6\u6d6e\u70b9\u683c\u5f0f\u4e14\u4e3a\u5176\u9884\u7559\u4e86\u7f16\u7801\u7a7a\u95f4\uff0c\\n\u800c\u662f\u51fa\u4e8e\u5176\u4ed6\u539f\u56e0\u624d\u672a\u5c06\u5176\u5305\u542b\u8fdb LoongArch v1.00\u3002\\n\u8fd9\u539f\u56e0\u53ef\u80fd\u662f FP16\u3001FP128 \u76ee\u524d\u5f88\u5c11\u7528\u5230\uff0c\u4e14\u673a\u5668\u5b66\u4e60\u573a\u666f\u5f80\u5f80\u90fd\u7528 FP16\\n\u7684\u53d8\u4f53 BF16\uff0c\u56e0\u6b64\u5982\u679c\u7b2c\u4e00\u65f6\u95f4\u5ba3\u79f0\u652f\u6301\uff0c\u5c06\u9650\u5236\u540e\u7eed\u7684\u8fed\u4ee3\u7a7a\u95f4\uff1b\\n\u5982\u679c\u52a0\u5165\u4e86\u652f\u6301\u5374\u51e0\u5e74\u90fd\u635e\u4e0d\u7740\u7528\uff0c\u66f4\u662f\u5f97\u4e0d\u507f\u5931\u3002\\n\u76f8\u53cd\uff0c\u76ee\u524d\u662f\u5c06\u4e24\u79cd\u683c\u5f0f\u7f16\u7801\u6682\u65f6\u4fdd\u7559\uff1a\u5982\u679c\u6709\u671d\u4e00\u65e5\u9700\u8981\u91cd\u65b0\u52a0\u5165\u5b83\u4eec\uff08\u6216\u8005\u522b\u7684\u683c\u5f0f\uff09\uff0c\u6307\u4ee4\u7f16\u7801\u4fbf\u80fd\u7ef4\u6301\u300c\u597d\u770b\u300d\u3002\\n\u300c\u597d\u770b\u300d\u4e0d\u5149\u662f\u770b\u8d77\u6765\u8212\u670d\uff0c\u8bd1\u7801\u5668\u7684\u5b9e\u73b0\u4e5f\u80fd\u7b80\u5355\u70b9\uff1b\\n\u8fd9\u65b9\u9762\u505a\u4e2a\u300c\u989c\u63a7\u300d\u5927\u6982\u6ca1\u6bdb\u75c5\uff01\\n:::\\n\\n\u540c\u4e00\u5929\uff0cheiher \u5e2e\u7b14\u8005\u628a\u5148\u524d\u505a\u4e86\u4e00\u5927\u534a\u5374\u6ca1\u7cbe\u529b\u8ddf\u8fdb\u7684 3A6000 `DBAR`\\n\u4f18\u5316\u8865\u4e01\u5b8c\u5584\u4e86\uff0c[\u5408\u5e76\u8fdb\u4e86](https://github.com/llvm/llvm-project/pull/68787)\u4e3b\u7ebf\u3002\\n\\n10 \u6708 11 \u65e5\uff0cheiher [\u4f18\u5316\u4e86](https://github.com/llvm/llvm-project/pull/67391)\u539f\u5b50\u64cd\u4f5c\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\u5177\u4f53\u6765\u8bf4\u662f\u53bb\u6389\u4e86 `LL` \u4e4b\u524d\u4ee5\u53ca `LL/SC` \u4e4b\u95f4\u4e0d\u5fc5\u8981\u7684\u5185\u5b58\u6805\u969c\uff0c\\n\u8fd8\u4fee\u590d\u4e86 acquire \u8bed\u4e49\u3002\\n\\n### \u53d1\u884c\u7248\\n\\nDebian \u4e0a\u6e38\u5de5\u4f5c\u4e5f\u6709\u6240\u8fdb\u5c55\uff1a`binutils` \u5305\u7684\u6539\u52a8[\u83b7\u5408\u5e76](https://tracker.debian.org/news/1470074/accepted-binutils-2415020231010-1-source-amd64-all-into-experimental/)\uff0c`glibc`\\n\u5305\u7684[\u6539\u52a8](https://salsa.debian.org/glibc-team/glibc/-/commit/859b3e39e09a57f0735f04514d2b574f80c3926c)\u4e5f[\u5f85\u4e0a\u4f20](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1053717)\u3002\\n\u8fd9\u610f\u5473\u7740\u9700\u8981 LoongArch \u65b9\u9762\u5355\u72ec\u7ef4\u62a4\u3001\u624b\u5de5\u5904\u7406\u7684\u5305\u8fdb\u4e00\u6b65\u51cf\u5c11\u4e86\u3002\\n\uff08\u611f\u8c22 Revy \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\u3002\uff09\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\\n10 \u6708 10 \u65e5\uff0c\u793e\u533a\u540c\u5b66 Robin Lee \u505a\u7684 FreeDesktop SDK \u9f99\u67b6\u6784\u521d\u6b65\u9002\u914d[\u83b7\u5408\u5e76](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/12203)\u3002\\nFreeDesktop SDK \u662f Flatpak \u6253\u5305\u65b9\u6848\u7684\u57fa\u7840\u8fd0\u884c\u65f6\u3002\\n\\nAOSC \u793e\u533a\u7684 LoongArch \u540c\u597d Tianhao Chai \u8fd1\u65e5\u7ed9 Mellanox \u7f51\u5361[^\u6ce8\u4e00]\u7684\u56fa\u4ef6\u5de5\u5177 `mstflint`\\n[\u63d0\u4ea4\u4e86](https://github.com/Mellanox/mstflint/pull/836) LoongArch \u9002\u914d\u3002\\n\u8fd9\u4e9b\u786c\u4ef6\u76ee\u524d\u770b\u6765\u5728 LoongArch \u7cfb\u7edf\u4e0a\u90fd\u80fd\u826f\u597d\u5de5\u4f5c\u3002\\n\\n[^\u6ce8\u4e00]: Mellanox\u8fc8\u7edc\u601d\uff0c\u662f InfiniBand \u7f51\u5361\u7684\u4e3b\u8981\u4f9b\u5e94\u5546\u4e4b\u4e00\uff0c\\n\u51e0\u5e74\u524d\u5df2\u4e3a NVIDIA\u82f1\u4f1f\u8fbe\u6240\u6536\u8d2d\u3002\\n\u5728\u5bb6\u5ead\u9ad8\u6027\u80fd\u8ba1\u7b97\u3001NAS \u7b49\u9886\u57df\uff0c\u6709\u4e0d\u5c11\u7528\u6237\u9009\u62e9\u8d2d\u4e70\u4e8c\u624b Mellanox \u786c\u4ef6\u3002\\n\\nSlackware \u4e2d\u6587\u793e\u533a\u540c\u5b66\u3001Slackware \u9f99\u67b6\u6784\u79fb\u690d\u7ef4\u62a4\u8005 Shi Pujin \u63d0\u9192\uff1aSlackware\\n\u4e2d\u6587\u793e\u533a\u7684\u5b98\u7f51\u5730\u5740[\u53d8\u66f4\u4e86](http://www.slackwarecn.cn)\uff0c\u89c1\u94fe\u63a5\u76ee\u6807\u3002\\n\uff08\u4ece\u6258\u7ba1\u57df\u540d\u53d8\u4e3a\u72ec\u7acb\u57df\u540d\u4e86\uff0c\u4f46\u4ecd\u7136\u6258\u7ba1\u5728 GitHub Pages\u3002\uff09\\n\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-19","metadata":{"permalink":"/newsletter/this-week-in-loongarch-19","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-09-this-week-in-loongarch-19.md","source":"@site/newsletter/2023-10-09-this-week-in-loongarch-19.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-09T09:58:10.000Z","formattedDate":"2023\u5e7410\u67089\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.015,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-19","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","authors":["xen0n"],"date":"2023-10-09T09:58:10.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","permalink":"/newsletter/this-week-in-loongarch-20"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","permalink":"/newsletter/this-week-in-loongarch-18"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n10 \u6708 8 \u65e5\uff0cAOSC \u5f00\u53d1\u8005 Icenowy Zheng \u5728\u6392\u67e5 AMD \u663e\u5361\u7a33\u5b9a\u6027\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0c\\n\u53d1\u73b0\u4ee5\u524d\u4e3a\u70b9\u4eae RDNA2 \u800c\u5bf9 3A+7A \u7cfb\u7edf\u7684\u5199\u5408\u5e76\u95ee\u9898\u89c4\u907f\u4e0d\u5b8c\u5168\uff0c\\n\u6545\u4eb2\u81ea[\u5b8c\u5584\u4e86](https://lore.kernel.org/loongarch/20231009042841.635366-1-uwu@icenowy.me/)\u8fd9\u90e8\u5206\u903b\u8f91\u3002\\n\u5b9e\u6d4b\u6253\u4e0a\u6b64\u8865\u4e01\u540e\uff0c\u76f8\u5173\u7684\u7eb9\u7406\u635f\u574f\u95ee\u9898\uff08\u90e8\u5206\u82b1\u5c4f\uff0c\u620f\u79f0\u300c\u5b57\u8282\u8df3\u52a8\u300d\uff09\u4ee5\u53ca AMD Oland \u5fae\u67b6\u6784 GPU\\n\u5728 `amdgpu` \u5185\u6838\u6a21\u5757\u9a71\u52a8\u4e0b\u7684 ring timeout \u95ee\u9898\u90fd\u89e3\u51b3\u4e86\uff0c\u7a33\u5b9a\u6027\u4e5f\u6709\u90e8\u5206\u6539\u5584\u3002\\n\u8ba9\u6211\u4eec\u6b22\u8fce :ta: \u7684\u9996\u4e2a LoongArch \u5185\u6838\u8865\u4e01\uff01\\n\\n\u540c\u4e00\u5929\uff0cBibo Mao \u628a\u4ed6\u7684 vDSO & \u6808\u5185\u5b58\u5e03\u5c40\u4f18\u5316\u8865\u4e01[\u8fed\u4ee3\u5230\u4e86](https://lore.kernel.org/loongarch/20231008012036.1415883-1-maobibo@loongson.cn/)\u7b2c 3 \u7248\u3002\\n\u4ed6\u5b66 x86 \u8ba9 vDSO \u548c\u6808\u5171\u4eab\u540c\u4e00\u6761 PMD\uff0c\u800c\u5f97\u4ee5\u4ece\u6bcf\u4e2a\u7ebf\u7a0b\u7701\u51fa\u4e00\u9875\uff1b\u8fd8\u505a\u4e86\u5176\u4ed6\u5c0f\u4f18\u5316\u3002\\n\\n10 \u6708 7 \u65e5\uff0cTianrui Zhao [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/9f7931dd-3c0e-4bc2-988e-1fb3549e440e@infradead.org/T/#t)\u4e0a\u671f\u63d0\u5230\u7684\\nKVM \u4ee3\u7801\u5728\u7279\u5b9a\u5185\u6838\u914d\u7f6e\u4e0b\u7f16\u8bd1\u5931\u8d25\u7684\u95ee\u9898\uff0cRandy \u6d4b\u4e86\u80fd\u7528\u3002\\n\\n10 \u6708 6 \u65e5\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Deepak R Varma \u5728\u505a\u5b9e\u65f6\u5185\u6838\u6539\u9020\uff0c[\u6765\u95ee](https://lore.kernel.org/loongarch/ZSFWa44FTi48hDyE@runicha.com/T/#t)\u4e00\u4e2a\u51fd\u6570\u6709\u6ca1\u6709\u5728\u7528\uff0c\\n\u91cc\u5934\u7684\u5185\u5b58\u6620\u5c04\u64cd\u4f5c\u80fd\u4e0d\u80fd\u6362\u6210\u65b0\u52a0\u7684\u3001\u5bf9\u5b9e\u65f6\u8c03\u5ea6\u66f4\u53cb\u597d\u7684\u79cd\u7c7b\uff1b\\n\u88ab\u95ee\u5230\u7684\u51fd\u6570 `copy_user_highpage` \u53ea\u5bf9 32 \u4f4d\u5185\u6838\u6709\u7528\uff0c\\n\u56e0\u6b64\u5982\u679c\u6ca1\u6253\u7b97\u652f\u6301\u7eaf 32 \u4f4d\u7cfb\u7edf\u90a3\u4e48\u5176\u5b9e\u6700\u597d\u628a\u5b83\u5220\u6389\u3002Huacai Chen \u56de\u590d\u8bf4\u300c\u8fd1\u671f\u300d\u5c31\u4f1a\u52a0\u5165 LA32 \u652f\u6301\uff0c\\n\u7136\u540e\u987a\u624b\u628a Deepak \u7684\u5efa\u8bae\u5199\u6210\u8865\u4e01[\u8d34\u51fa\u6765\u4e86](https://lore.kernel.org/loongarch/20231007095229.235551-1-chenhuacai@loongson.cn/)\u3002Deepak \u5bf9\u6b64\u8868\u793a\u611f\u8c22\uff0c\\n\u5e76\u4e14 :ta: \u4ecd\u7136\u6253\u7b97\u51c6\u5907\u4e00\u4e2a LoongArch \u7f16\u8bd1\u73af\u5883\u6765\u5e2e\u5fd9\u6d4b\u8bd5\u3002\\n\u6211\u4eec\u4e5f\u611f\u8c22 :ta: \u7684\u5e2e\u5fd9\uff01\\n\\n10 \u6708 5 \u65e5\uff0cHuacai Chen \u5411 KVM \u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005[\u53d1\u9001\u4e86](https://lore.kernel.org/kvm/20231005091825.3207300-1-chenhuacai@loongson.cn/)\u589e\u52a0\u9f99\u67b6\u6784 KVM \u652f\u6301\u7684 PR\u62c9\u53d6\u8bf7\u6c42\u3002\\n\u8ddd\u79bb\u4e3b\u7ebf\u4e00\u6b65\u4e4b\u9065\uff01\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 4 \u65e5\uff0c\u6765\u81ea\u5fb7\u56fd [Ostwestfalen-Lippe](https://en.wikipedia.org/wiki/Ostwestfalen-Lippe)\\nLinux \u7528\u6237\u7ec4\u7684\u793e\u533a\u540c\u5b66 Jan-Benedict Glaw\\n[\u62a5\u544a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631933.html)\u9f99\u67b6\u6784\\ngcc \u6784\u5efa\u9519\u8bef\u7684\u95ee\u9898\u3002\\n\u7ecf\u8fc7\u4e00\u4e9b\u8ba8\u8bba\u7814\u7a76\uff0c10 \u6708 7 \u65e5 Yang Yujie\\n[\u8d34\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632210.html)\u4e00\u79cd\u4fee\u590d\u65b9\u6cd5\uff0c[\u770b\u4e0a\u53bb\u884c](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632256.html)\u3002\\n\\n10 \u6708 3 \u65e5 Xi Ruoyao \u8ddf\u8fdb\u4e86\u4e00\u9879\u4e0a\u6e38\u91cd\u6784\uff1a\\n\u5c06\u7b26\u53f7\u62f7\u8d1d\u64cd\u4f5c\u7684\u8868\u793a\u65b9\u5f0f\u4ece\u539f\u5148\u7684\u81ea\u5b9a\u4e49 RTL\u5bc4\u5b58\u5668\u4f20\u8f93\u8bed\u8a00 \u6307\u4ee4[\u6539\u4e3a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631822.html)\u65b0\u589e\u7684\u901a\u7528\u5199\u6cd5\u3002\\n\\n#### binutils\\n\\n10 \u6708 5 \u65e5\uff0cXi Ruoyao \u5728\u6298\u817e\u8fc7\u7a0b\u4e2d\uff08\u8be6\u89c1\u4e0a\u671f\uff09\u53d1\u73b0 binutils \u5f53\u524d\u7684\u9f99\u67b6\u6784\\nlinker relaxation \u5de5\u5e8f\u4e0d\u4f1a relax \u4efb\u4f55\u5171\u4eab\u5e93\u7684\u4ee3\u7801\u3002\\n\u73b0\u4ee3 Linux \u53d1\u884c\u7248\u4e2d\uff0c\u5927\u591a\u6570\u88ab\u6267\u884c\u5230\u7684\u4ee3\u7801\u90fd\u4f4d\u4e8e\u5171\u4eab\u5e93\uff0c\u56e0\u6b64\u76ee\u524d\u7684\u884c\u4e3a\u80af\u5b9a\u8ba9\\nlinker relaxation \u7684\u4f5c\u7528\u6253\u4e0a\u4e86\u76f8\u5f53\u5927\u7684\u95ee\u53f7\uff1b\\n\\n\u975e\u4f46\u5982\u6b64\uff0c\u5f53\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\u8fd8\u6709\u6b63\u786e\u6027\u95ee\u9898\uff1a\u5982 Icenowy Zheng \u5728\u540c\u4e00\u5929\u6298\u817e libglvnd\\n\u65f6[\u6240\u53d1\u73b0\u7684](https://sourceware.org/bugzilla/show_bug.cgi?id=30944)\uff0c\\n\u76ee\u524d LoongArch \u6c47\u7f16\u4e2d\u7684\u5bf9\u9f50\u6307\u793a\u5df2\u7ecf\u6539\u4e3a\u501f\u7528 relaxation \u57fa\u7840\u8bbe\u65bd\u7684\u65b9\u5f0f\u5b9e\u73b0\u4e86\\n\uff08\u4ee5 `R_LARCH_ALIGN` \u7684\u5f62\u5f0f\u5411 relaxation \u5de5\u5e8f\u4f20\u9012\u4fe1\u606f\uff09\uff1b\\n\u800c\u5982\u679c\u4e0d relax\uff08\u4f8b\u5982\uff0c\u56e0\u4e3a\u662f\u5171\u4eab\u5e93\uff09\u5219\u8fd9\u4e9b\u4e0d\u7ba1 re- \u4e0d relax\\n\u90fd\u5e94\u8be5\u9075\u5b88\u7684\u5bf9\u9f50\u6307\u793a\u5c31\u4f1a\u88ab\u9519\u8bef\u65e0\u89c6\uff0c\u4f7f\u5f97\u751f\u6210\u4ee3\u7801\u7684\u5e03\u5c40\u9519\u8bef\uff0c\\n\u6700\u7ec8\u5bfc\u81f4\u8fd0\u884c\u65f6\u5d29\u6e83\u4e4b\u7c7b\u96be\u4ee5\u6392\u67e5\u7684\u4e0d\u597d\u7ed3\u679c\u3002\\n\u7b97\u4e0a\u4e00\u4e24\u4e2a\u6708\u524d\u540c\u6837\u88ab\u5751\u5230\u4f46\u5341\u5206\u62b1\u6b49\u672a\u80fd\u53ca\u65f6\u4e00\u53e5\u8bdd\u62a5\u51fa bug \u7684\u7b14\u8005\uff0c\\n\u81f3\u5c11\u5df2\u7ecf\u6709 3 \u4eba\u5171\u8ba1\u51e0\u4e2a\u751a\u81f3\u5341\u51e0\u5c0f\u65f6\u7684\u5b9d\u8d35\u4e1a\u4f59\u65f6\u95f4\u4ea4\u5f85\u5728\u8fd9\u4e86\u3002\\n\\n\u7531\u4e8e\u62a5\u544a\u95ee\u9898\u65f6\u6b63\u503c\u5047\u671f\uff0c\u76ee\u524d\u6682\u672a\u6709\u53cd\u9988\uff0c\u4f46\u6211\u4eec\u9884\u671f\u9f99\u82af\u5de5\u5177\u94fe\u7684\u540c\u5b66\u5c06\u5f88\u5feb\u5f97\u77e5\u5e76\u7740\u624b\u914d\u5408\u4fee\u590d\u6b64\u4e8b\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5468\u62a5\u7b2c 17 \u671f\u62a5\u9053\u8fc7\u7684 D \u8bed\u8a00\u8fd0\u884c\u65f6\u9002\u914d\u5de5\u4f5c\u5df2\u7ecf\u5728 10 \u6708 5 \u65e5[\u5408\u5e76\u4e86](https://github.com/dlang/dmd/pull/15628)\u3002\\n\u606d\u559c :tada:\uff01\\n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n10 \u6708 4 \u65e5\uff0cjiegec [\u53c8\u53d1\u73b0\u4e86](https://github.com/loongson-community/loongarch-opcodes/issues/1#issuecomment-1746975991) 21 \u6761\u672a\u89c1\u4e8e\u9f99\u67b6\u6784\u624b\u518c\u7684\u795e\u5947\u6307\u4ee4\uff01\\n\u5176\u4e2d\u6709\u4e00\u4e9b\u7591\u4f3c\u662f\u6267\u884c\u66f4\u5feb\u4f46\u7cbe\u5ea6\u66f4\u4f4e\u7684\u6d6e\u70b9\u6c42\u5012\u6570\u64cd\u4f5c\uff0c\u5982\u679c\u505a\u66f4\u591a\u5b9e\u9a8c\u6bd4\u5bf9\u76f8\u5e94\u6709\u6587\u6863\u8bb0\u8f7d\u6307\u4ee4\u7684\u8f93\u51fa\uff0c\u5219\u6709\u671b\u77e5\u6653\u66f4\u591a\u7ec6\u8282\u3002\\n\\n\u6574\u4e2a\u56fd\u5e86\u5047\u671f\uff0cAOSC \u793e\u533a\u90fd\u5728\u6298\u817e AMD \u663e\u5361\u5728\u9f99\u67b6\u6784\u673a\u5668\u4e0a\u7684\u7a33\u5b9a\u6027\u95ee\u9898\uff0c\\n\u9f99\u82af\u5de5\u7a0b\u5e08\u4eec\u4e5f\u79ef\u6781\u914d\u5408\uff0c\u300c\u4e3a\u4eba\u6c11\u505a\u9f99\u82af\u300d\u3002\\n\u4e2d\u56fd\u7684\u540c\u5b66\u8fc7\u7740\u7f8e\u897f\u65f6\u533a\uff0c\u7f8e\u897f\u7684\u540c\u5b66\u8fc7\u7740\u4e2d\u56fd\u65f6\u533a\uff1b\\n\u5728\u5982\u6b64\u7684\u793e\u533a\u534f\u4f5c\u4e0b\uff0c\u76f8\u4fe1\u6b64\u95ee\u9898\u7ec8\u5c06\u5f97\u5230\u89e3\u51b3\uff08\u6216\u51dd\u56fa\u4e3a [Errata \u6587\u6863](/docs/errata)\u7684\u9996\u6279\u8bb0\u8f7d\u4e4b\u4e00 :smiling_imp:\uff09\uff01\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-18","metadata":{"permalink":"/newsletter/this-week-in-loongarch-18","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-02-this-week-in-loongarch-18.md","source":"@site/newsletter/2023-10-02-this-week-in-loongarch-18.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-02T10:40:39.000Z","formattedDate":"2023\u5e7410\u67082\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.505,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-18","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","authors":["xen0n"],"date":"2023-10-02T10:40:39.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","permalink":"/newsletter/this-week-in-loongarch-19"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","permalink":"/newsletter/this-week-in-loongarch-17"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLinux v6.6-rc4 \u5df2\u7ecf[\u6b63\u5f0f tagged](https://lore.kernel.org/lkml/CAHk-=wia2-4DRvD-aXz70AV64yrt+Vr50MxHiDunZ71dHATv-Q@mail.gmail.com/)\uff0c\\n\u5305\u542b\u4e86\u4e24\u5904\u9f99\u67b6\u6784\u4fee\u590d\uff0c\u8bf7\u5404\u4e0b\u6e38\u53d1\u884c\u7248\u7684\u6253\u5305\u540c\u5b66\u4eec\u6ce8\u610f\u5e76\u5c3d\u91cf backport\uff1a\\n\\n* \u4fee\u590d\u6a21\u5757\u52a0\u8f7d\u5668\u4e0d\u8ba4\u8bc6 binutils 2.41 \u6c47\u7f16\u51fa\u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u7684\u95ee\u9898\uff08Tiezhu Yang\uff09\uff0c\\n* \u4fee\u590d NUMA \u7cfb\u7edf\u4e0a\u7269\u7406\u5185\u5b58\u5929\u82b1\u677f\u7684\u8ba1\u7b97\u95ee\u9898\uff08Huacai Chen\uff09\u3002\\n\\n\u6b64\u5916\uff0c\u9f99\u67b6\u6784 KVM \u652f\u6301\u76ee\u524d\u5df2\u8fdb\u5165 linux-next\uff0c\\n\u53ef\u642d\u914d\u6682\u672a\u5b8c\u5168\u4e0a\u6e38\u7684[\u9f99\u82af QEMU \u5206\u652f](https://github.com/loongson/qemu/tree/kvm-loongarch)\\n\u4f9b\u540c\u5b66\u4eec\u8bd5\u7528\u4e86\u3002\\n\uff08\u76ee\u524d\u5df2\u7ecf\u5728\u4e0a\u6e38\u7684\u968f\u673a\u81ea\u52a8\u5316\u6d4b\u8bd5\u4e2d[\u88ab\u53d1\u73b0\u4e86](https://lore.kernel.org/loongarch/d5ba4268-eef0-46be-8314-fccad55f41e2@infradead.org/)\u4e00\u5904\u7f16\u7801\u4e0d\u5468\uff0c\\n\u4e0d\u8fc7\u9884\u8ba1\u5047\u671f\u7ed3\u675f\u4e4b\u540e\u5c31\u4f1a\u4fee\u6389\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u6301\u7eed\u6709\u4e00\u6bb5\u65f6\u95f4\u7684 [PR110939](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110939)\\n\u4e0a\u5468\u7ec8\u4e8e\u5f97\u5230\u4e86\u89e3\u51b3\u3002\\n\u9f99\u67b6\u6784\u7684\u81ea\u4e3e\uff0c\u4ee5\u53ca ARM\u3001RISC-V \u4e0a\u7684\u76f8\u5173\u6d4b\u8bd5\u5931\u8d25\u90fd\u4fee\u590d\u4e86\u3002\\n\\nxry111 [\u5728\u52aa\u529b](https://github.com/xry111/gcc/commits/xry111/explicit-relocs-auto)\u4ece\u9ed8\u8ba4\u5f00\u542f\\nlinker relaxation \u6240\u5bfc\u81f4\u7684\u6307\u4ee4\u8c03\u5ea6\u673a\u4f1a\u51cf\u5c11\u4e2d\uff0c\u62a0\u56de\u4e00\u4e9b\u6027\u80fd\uff1a\\n\u5728\u4e00\u4e9b\u300c\u660e\u6446\u7740\u4e0d\u80fd\u4f9d\u9760\u94fe\u63a5\u5668 relax \u7684\u60c5\u51b5\u4e0b\u300d\uff08\u672c\u4eba\u8bed\uff09\uff0c\u4ecd\u7136\u5982\u5148\u524d\u4e00\u6837\u751f\u6210\\nexplicit relocs\u3002\\n\u4ed6\u51c6\u5907\u5728\u5047\u671f\u7ed3\u675f\u4e4b\u540e\u5c06\u6b64\u5de5\u4f5c\u53d1\u5411\u90ae\u4ef6\u5217\u8868\uff08\u5426\u5219\u53d1\u4e86\u4e5f\u6ca1\u4eba\u770b\uff09\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n#### LLVM\\n\\nLLVM \u7684\u534f\u4f5c\u6d41\u7a0b\u5df2\u5168\u9762\u8f6c\u5411 GitHub PR\uff0cPhabricator \u4e0d\u65e5\u5c06\u8f6c\u4e3a\u53ea\u8bfb\u6a21\u5f0f\uff0c\u8bf7\u5f00\u53d1\u8005\u4eec\u6ce8\u610f\u3002\\n\u8be6\u60c5\u8bf7\u89c1[\u8fc1\u79fb\u65f6\u95f4\u8868](https://discourse.llvm.org/t/update-on-github-pull-requests/71540)\u3002\\n\\nAmi-zhang \u7ed9 LLVM \u4e2d\u7aef\u7684 `Transforms/IPO/LowerTypeTests` \u5de5\u5e8fpass[\u9002\u914d\u4e86](https://github.com/llvm/llvm-project/pull/67312)\u9f99\u67b6\u6784\u3002\\n\\n\u5468\u62a5\u7b2c 14 \u671f\u62a5\u9053\u8fc7\u7684 hev \u7684[\u539f\u5b50\u64cd\u4f5c\u4f18\u5316](https://reviews.llvm.org/D159252)\u4e0a\u5468\u4e5f\u8fdb\u5165\u4e86\u4e3b\u7ebf\u3002\\n\\n#### Rust\\n\\n\u53d1\u7a3f\u51e0\u5c0f\u65f6\u524d\uff0cRust \u751f\u6001\u4e2d\u6700\u91cd\u8981\u5bc6\u7801\u5b66\u57fa\u7840\u5e93\u4e4b\u4e00 `ring`\\n[\u5408\u5e76\u4e86](https://github.com/briansmith/ring/pull/1632)\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u65f6\u9694\u4e24\u5e74\u4e4b\u4e45\uff0c`ring 0.17.0` \u7ec8\u4e8e\u6b63\u5f0f\u53d1\u5e03\uff0c\u53ef\u4ee5\u671f\u5f85\u672a\u6765\u7684\u6570\u6708\u95f4\u66f4\u591a Rust\\n\u9879\u76ee\u80fd\u591f\u968f\u7740\u4f9d\u8d56\u7248\u672c\u5347\u7ea7\uff0c\u800c\u83b7\u5f97\u9f99\u67b6\u6784\u652f\u6301\u4e86\u3002\\n\\n9 \u6708 30 \u65e5 hev \u5c06\u9f99\u67b6\u6784\u88f8\u673a\u7684\u6784\u5efa\u76ee\u6807[\u63d0\u5347\u5230\u4e86](https://github.com/rust-lang/rust/pull/115368)\\nTier 2\u3002\\n\u4e0d\u5de7\u7684\u662f\uff0c\u8fd9\u4e2a\u63d0\u4ea4\u7684\u5408\u5e76\u4f3c\u4e4e\u6070\u597d\u9519\u8fc7\u4e86 Rust 1.74.0 \u7684\u73ed\u8f66\uff1a\\n\u76ee\u524d\u770b\u56e0\u4e3a\u5c31\u51e0\u884c\u4ee3\u7801\u548c CI \u6539\u52a8\uff0c\u585e\u8fdb\u53bb\u4e5f\u4e0d\u662f\u4e0d\u53ef\u4ee5\uff0c\u4e0d\u8fc7\u4e0d\u6025\u7684\u8bdd\u4f30\u8ba1\u7b49\u7b49\u66f4\u597d\u3002\\n\u9f99\u67b6\u6784\u7684\u76ee\u524d\u7528\u6237\u7fa4\u4f53\u91cc\uff0c\u5e94\u8be5\u6781\u5c11\u6709\u65e2\u8ddf\u8e2a\u4e0a\u6e38\u793e\u533a\u7248\u672c\uff0c\u53c8\u505a\u88f8\u673a\u5f00\u53d1\u7684\uff0c\u56e0\u6b64\u7b14\u8005\u8ba4\u4e3a\u95ee\u9898\u4e0d\u5927\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n\u540c\u4e00\u5929\uff0cxry111 \u7ed9 Rust \u8bfb\u5199\u76ee\u6807\u4ee3\u7801\u6587\u4ef6\u683c\u5f0f\u7684\u8457\u540d\u57fa\u7840\u5e93 `object`\\n[\u6dfb\u52a0\u4e86](https://github.com/gimli-rs/object/pull/578) LoongArch ELF psABI\\n20230519 \u7248\u672c\u65b0\u589e\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n## \u9650\u65f6\u8fd4\u573a\u4e13\u680f\uff1aQEMU\\n\\n\u6700\u8fd1 QEMU \u4e0a\u6e38\u7684\u9f99\u67b6\u6784\u6587\u4ef6\u5939\u53c8\u70ed\u95f9\u8d77\u6765\u4e86\u3002\\n\u540e\u7eed\u770b\u60c5\u51b5\u53ea\u8981\u4e00\u5468\u95f4\u7684 QEMU \u52a8\u6001\u8db3\u591f\u591a\uff0c\u8fd9\u4e2a\u4e13\u680f\u5c31\u4f1a\u51fa\u73b0\u5e76\u6536\u7eb3\u5b83\u4eec\uff0c\u5426\u5219\u8fd8\u662f\u585e\u300a\u6742\u95fb\u64ad\u62a5\u300b\u3002\\n\\n\u65e5\u524d\uff089 \u6708 21 \u65e5\uff09\uff0cQEMU \u7684\u9f99\u67b6\u6784\u6a21\u62df[\u83b7\u5f97\u4e86](https://gitlab.com/qemu-project/qemu/-/commit/55394dcbec8f0c29c30e792c102a0edd50a52bf4)\\nLASX \u652f\u6301\uff08\u4e0d\u8fc7\u5f88\u5feb[\u88ab\u53d1\u73b0\u6709\u5751](https://gitlab.com/qemu-project/qemu/-/issues/1907)\uff09\u3002\\n\uff08\u611f\u8c22 [@jiegec](https://github.com/jiegec) \u7684\u63d0\u9192\uff01\uff09\\n\\n10 \u6708 1 \u65e5\uff0cJiajie Chen \u7ed9\u9f99\u67b6\u6784\u7684 linux-user \u6a21\u62df[\u5f00\u542f\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20231001085315.1692667-1-c@jia.je/)\\nLSX\u3001LASX \u7684 ELF HWCAP \u6807\u5fd7\u4f4d\u3002\\n\uff08\u8fd9\u6837\u88ab\u6a21\u62df\u7684\u7a0b\u5e8f\u4eec\u5c31\u4e0d\u4f1a\u770b\u7740\u6ca1 HWCAP\uff0c\\n\u4fbf\u6309\u7167[\u300a\u9f99\u67b6\u6784\u8f6f\u4ef6\u5f00\u53d1\u4e0e\u6784\u5efa\u7ea6\u5b9a\u300b\u6709\u5173\u6761\u6b3e](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#91-kernel-development)\uff0c\\n\u4e3b\u52a8\u89c4\u907f\u5411\u91cf\u6307\u4ee4\u4e86\u3002\uff09\\n\\n\u540c\u4e00\u5929\uff0c\u7b14\u8005\u6d4b\u8bd5\u4e86 Richard Henderson 9 \u6708 16 \u53f7[\u7ed9\u9f99\u67b6\u6784\u505a\u7684 128 \u4f4d\u8bbf\u5b58\u4f18\u5316](https://patchwork.kernel.org/project/qemu-devel/list/?series=784972)\u6ca1\u95ee\u9898\uff0c\\n\u56de\u4e86\u5c01\u90ae\u4ef6\uff0c\u5e76\u4e14\u5341\u5206\u60ed\u6127\u8fd1\u671f\u5728 QEMU \u6c34\u7684\u8865\u4e01\u4e0d\u591f\u591a\uff1a\\n\u51c6\u5907\u4eca\u5e74\u770b\u7740\u628a LBT \u6269\u5c55\u6307\u4ee4\u591a\u5229\u7528\u8d77\u6765\u3002\\n\\n9 \u6708 30 \u65e5\uff0cRichard Henderson \u5728\u4ed6\u7ed9 linux-user [\u589e\u52a0](https://patchwork.kernel.org/project/qemu-devel/list/?series=788954)\\nvDSO \u6a21\u62df\u7684\u540c\u65f6\uff0c\\n\u987a\u624b[\u9002\u914d\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230930021529.987950-16-richard.henderson@linaro.org/)\u9f99\u67b6\u6784\u3002\\n\\n\u540c\u4e00\u5929\uff0cJiajie Chen [\u4fee\u590d\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230930112837.1871691-1-c@jia.je/)\\n\u524d\u9762\u63d0\u5230\u7684 LASX \u652f\u6301\u4ee3\u7801\u4e2d\u4e00\u5904\u6807\u5fd7\u4f4d\u5199\u9519\uff0c\u5bfc\u81f4 guest \u5185\u6838\u6216\u8fdb\u7a0b\u5d29\u6e83\uff0c\u5565\u90fd\u5e72\u4e0d\u4e86\u7684\u5de8\u5751\u3002\\n\\n9 \u6708 26 \u65e5\uff0cSong Gao [\u4fee\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230926075819.3602537-1-gaosong@loongson.cn/)\u9f99\u67b6\u6784\\nTCG \u7684\u4e00\u5904\u6784\u5efa\u9519\u8bef\uff0c\u53c8[\u89e3\u51b3\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230926071253.3601021-1-gaosong@loongson.cn/)\u4e00\u5904\u8b66\u544a\u3002\\n\\n\u540c\u4e00\u5929\uff0cXianglai Li \u7ed9\u9f99\u67b6\u6784[\u52a0\u4e86](https://patchwork.kernel.org/project/qemu-devel/list/?series=787587)\u70ed\u63d2\u62d4\u865a\u62df CPU \u7684\u80fd\u529b\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n9 \u6708 29 \u65e5\uff0cShi Pujin \u5728 Slackware CN \u7528\u6237\u793e\u533a[\u53d1\u5e03\u4e86](http://slackwarecn.github.io/2023/09/29/Slackwareloong1.0%E5%8F%91%E5%B8%83%EF%BC%81/)\\nSlackwareloong 1.0 LTS \u7248\u672c\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\\n\\nLA UOSC \u7f51\u53cb autistic-chad\uff08GitHub [@cl91](https://github.com/cl91)\uff09[\u5728\u618b\u5927\u62db](https://bbs.loongarch.org/d/303-gsgpu)\uff1a\\n\u5c06 GSGPU \u7684\u5185\u6838\u9a71\u52a8\u4ece Loongnix 4.19 \u5185\u6838\u79fb\u690d\u5230\u4e3b\u7ebf\u7248\u672c\uff086.6+\uff09\uff01\\n\\n:::info RESPECT\\n\u8fd9\u9700\u8981\u8de8\u8d8a 5 \u5e74\u7684\u65f6\u95f4\uff0c26 \u4e2a\u6b63\u5f0f\u7248\u672c\uff0c\u6570\u4e07\u6761\u56fe\u5f62\u5b50\u7cfb\u7edf\u63d0\u4ea4\uff0c\u51e0\u5341\u751a\u81f3\u4e0a\u767e\u6b21\u5408\u5e76\u51b2\u7a81\u6216\u63a5\u53e3\u53d8\u66f4\uff1b\\n\u8fd8\u6ca1\u7b97\u4e0a GSGPU \u548c Apple M1 GPU \u60c5\u51b5\u7c7b\u4f3c\uff0c\u90fd\u5904\u4e8e 0 \u516c\u5f00\u6587\u6863\u72b6\u6001\u3002\\n\u5411\u8fd9\u4f4d\u52c7\u58eb\u81f4\u656c\uff01\\n\\n\u4e5f\u6b22\u8fce\u6709\u610f\u5411\u7684\u540c\u5b66\u5728 LA UOSC \u8bba\u575b\u4e0a\u8ff0\u7684\u8d34\u5b50\u53c2\u4e0e\u4e92\u52a8\uff1a\\n\u6709\u4e00\u4efd\u70ed\uff0c\u53d1\u4e00\u4efd\u5149\uff0c\\n\u4ee5\u4f7f\u4e0a\u6e38\u5185\u6838\u7684\u4f7f\u7528\u8005\u4eec\u80fd\u65e9\u65e5\u7528\u4e0a\u9f99\u82af\u96c6\u663e\u7684 3D \u52a0\u901f~~\u868a\u5b50\u518d\u5c0f\u4e5f\u662f\u8089~~\u3002\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-17","metadata":{"permalink":"/newsletter/this-week-in-loongarch-17","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-25-this-week-in-loongarch-17.md","source":"@site/newsletter/2023-09-25-this-week-in-loongarch-17.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-25T07:17:26.000Z","formattedDate":"2023\u5e749\u670825\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.235,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-17","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","authors":["xen0n"],"date":"2023-09-25T07:17:26.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","permalink":"/newsletter/this-week-in-loongarch-18"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","permalink":"/newsletter/this-week-in-loongarch-16"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n9 \u6708 23 \u65e5\uff0cHuacai Chen \u5411[\u4e2d\u56fd\u65f6\u95f4 9 \u6708 25 \u65e5\u51cc\u6668 tagged \u7684](https://lore.kernel.org/lkml/CAHk-=wjrZgxjHZuXwrGeFnng_whUmtToCWE5GQ+HORhGSeiX8g@mail.gmail.com/)\\nLinux v6.6-rc3 [\u63a8\u9001\u4e86](https://lore.kernel.org/loongarch/20230923091031.1075337-1-chenhuacai@loongson.cn/)\u4e00\u7ec4\u95ee\u9898\u4fee\u590d\u4e0e\u4ee3\u7801\u6e05\u7406\u3002\\n\u7531\u4e8e\u6b64 rc \u5305\u542b\u91cd\u8981\u7684\u4fee\u590d\u5de5\u4f5c\uff08\u89c1\u4e0b\uff09\uff0c\u5efa\u8bae\u6240\u6709\u7d27\u8ddf\u4e3b\u7ebf\u7684\u540c\u5b66\u4eec\u5c3d\u5feb\u5347\u7ea7\u6216\u8ddf\u8fdb\u6700\u65b0\u7684\\nlinux-next\uff08≥ `next-20230925`\uff09\u3002\\n\\n* [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/CAAhV-H7r2iNVUstHuYHj8Ve=sY9c5JoMvZNX_pDaUVhL7oGWXw@mail.gmail.com/T/#m74d1c148796ffb824ced5986e3160d055778899c)\u9f99\u67b6\u6784\u4e0a\u4e00\u65e6\u542f\u7528\u5185\u6838\u914d\u7f6e\u9879\\n `CONFIG_DEFERRED_STRUCT_PAGE_INIT` \u5219\u7cfb\u7edf\u65e0\u6cd5\u6b63\u5e38\u542f\u52a8\u7684\u95ee\u9898\u3002\\n \uff08\u5bf9\u4e8e\u63d2\u4e86\u5f88\u591a\u5185\u5b58\u7684\u673a\u5668\uff0c\u6b64\u4f18\u5316\u53ef\u5c11\u8bb8\u63d0\u5347\u542f\u52a8\u901f\u5ea6\u3002\\n \u56e0\u6b64\u5185\u5b58\u63d2\u6ee1\u53c8\u559c\u6b22\u5fae\u64cd\u7684\u793e\u533a\u5f00\u53d1\u8005\u4eec\u88ab\u7b2c\u4e00\u65f6\u95f4\u5751\u5230\u4e86\uff1a\\n \u9f99\u82af\u56e2\u961f\u6781\u5c11\u6539\u52a8\u3001\u6d4b\u8bd5\u8fd9\u4e9b\u4e0d\u76f4\u63a5\u4e0e\u9f99\u82af\u82af\u7247\u3001\u8f6f\u4ef6\u3001\u51fa\u8d27\u7cfb\u7edf\u76f8\u5173\u7684\u5185\u6838\u914d\u7f6e\uff0c\\n \u6240\u4ee5\u672a\u5728[\u5f15\u53d1\u95ee\u9898\u7684\u63d0\u4ea4](https://github.com/torvalds/linux/commit/61167ad5fecdea)\u6240\u5728\u7684\\n v6.5 \u5f00\u53d1\u5468\u671f\u53d1\u73b0\u95ee\u9898\u3002\uff09\\n* \uff08\u6b64\u53d8\u66f4\u4e0e\u9f99\u67b6\u6784\u65e0\u5173\u4f46\u5341\u5206\u91cd\u8981\uff09[\u56de\u6eda\u4e86](https://www.phoronix.com/news/Linux-Revert-MG-Timestamps)\u591a\u7c92\u5ea6\u65f6\u95f4\u6233\uff08Multi-grained Timestamps\uff09\u5de5\u4f5c\u3002\\n \u6b64\u4f18\u5316\u672c\u610f\u662f\u60f3\u964d\u4f4e NFS\uff08\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\uff09\u7684\u6027\u80fd\u5f00\u9500\uff0c\u4f46\u5b9e\u9645\u5728\u5176\u4ed6\u6587\u4ef6\u7cfb\u7edf\u4e0a\u5f15\u8d77\u4e86\u76f8\u5173\u7684\u7ec6\u5fae bugs\uff0c\\n \u56e0\u6b64\u8865\u4e01\u4f5c\u8005\u51b3\u5b9a\u63a8\u7ffb\u6b64\u65b9\u6848\u4ece\u5934\u518d\u6765\u3002\\n\\n9 \u6708 20 \u65e5\uff0cKVM \u7ef4\u62a4\u8005 Paolo [\u5728\u56de\u4fe1\u4e2d\u8868\u793a](https://lore.kernel.org/loongarch/CAAhV-H6YormmC7DC4Ar9Rwu16OHKP0G8+=7eShxkWjjQ7kq5mA@mail.gmail.com/T/#m3a0928eccdaf047b8d1365512b563a571047f6c6)\uff1a\\n\u65e2\u7136\u4f60\u4eec\u5df2\u7ecf\u5728\u51c6\u5907\u7b2c 22 \u7248\u8865\u4e01\u4e86\uff0c\u5230\u65f6\u5019\u53ef\u4ee5\u4f5c\u4e3a Pull Request \u987a\u5e26\u63d0\u4e86\u3002Huacai Chen\\n[\u56de\u590d\u8bf4](https://lore.kernel.org/loongarch/CAAhV-H6YormmC7DC4Ar9Rwu16OHKP0G8+=7eShxkWjjQ7kq5mA@mail.gmail.com/)\uff1a\\n\u5982\u679c v22 \u6ca1\u4ec0\u4e48\u66f4\u591a\u5ba1\u67e5\u610f\u89c1\u7684\u8bdd\uff0c\u7b49\u4e00\u4e24\u5468\u5c31\u53d1\u3002\\n\u770b\u4e0a\u53bb\u9f99\u67b6\u6784 KVM \u652f\u6301\u8fdb\u5165 Linux 6.7 \u6307\u65e5\u53ef\u5f85\u4e86\uff1a\\n\u786c\u4ef6\u865a\u62df\u5316\uff0c\u8bf4\u662f\u670d\u52a1\u5668\u3001\u6570\u636e\u4e2d\u5fc3\uff0c\u751a\u81f3\u5bb6\u5ead\u591a\u5408\u4e00 NAS \u573a\u666f\u7684\u6700\u57fa\u7840\u80fd\u529b\u4e5f\u4e0d\u4e3a\u8fc7\u3002\\nLinux 6.7 \u662f\u4e2a\u503c\u5f97\u671f\u5f85\u7684\u66f4\u65b0\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u4e3a\u542f\u7528 linker relaxation\uff08\u94fe\u63a5\u5668\u677e\u5f1b\uff09\u4f18\u5316\uff0cchenglulu [\u4f7f\u5f97](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630954.html)\\ngcc \u5728\u6784\u5efa\u65f6\u5982\u679c\u53d1\u73b0\u914d\u5957\u7684\u6c47\u7f16\u5668\u6709 `-mrelax` \u652f\u6301\uff0c\u5219\u8ba9\u6210\u54c1 gcc \u9ed8\u8ba4\u5173\u95ed\\n`-mexplicit-relocs` \u9009\u9879\u3002\\n\u8fd9\u6837\u505a\u7684\u4f18\u5316\u6548\u679c\u53ef\u80fd\u5341\u5206\u53d6\u51b3\u4e8e\u88ab\u7f16\u8bd1\u7684\u5177\u4f53\u4ee3\u7801\uff0c\u6545\u7279\u522b\u63d0\u53ca\uff0c\u8bf7\u5404\u4f4d\u540c\u5b66\u5347\u7ea7 gcc\\n\u65f6\u591a\u591a\u7559\u5fc3\u5e76\u89c2\u5bdf\u4e00\u4e9b\u81ea\u5df1\u5173\u5fc3\u7684\u8f6f\u4ef6\u3001\u51fd\u6570\u7684\u6027\u80fd\u4e0e\u6c47\u7f16\u5f62\u72b6\u662f\u5426\u4ecd\u7136\u7b26\u5408\u9884\u671f\u3002\\n\\n:::info\\n\u7531\u4e8e\u6d89\u53ca\u5220\u9664\u4e00\u4e9b\u6307\u4ee4\uff0clinker relaxation \u80fd\u5de5\u4f5c\u7684\u524d\u63d0\u662f\u76f8\u5173\u6307\u4ee4\u90fd\u805a\u5728\u4e00\u8d77\uff1a\\n\u8fd9\u9879\u5de5\u4f5c\u53ea\u80fd\u5728\u94fe\u63a5\u9636\u6bb5\u5b8c\u6210\uff0c\u4e0d\u505a\u6b64\u4fdd\u8bc1\u4f1a\u8ba9\u94fe\u63a5\u5668\u7684\u590d\u6742\u5ea6\u7206\u70b8\uff0c\\n\u4f8b\u5982\u9700\u8981\u8ddf\u8e2a\u6bcf\u4e2a\u5bc4\u5b58\u5668\u7684\u4f7f\u7528\u60c5\u51b5\u4ee5\u9632\u6b62\u5220\u9664\u6307\u4ee4\u5bfc\u81f4\u7a0b\u5e8f\u8bed\u4e49\u53d8\u5316\u3002\\n\u8fd9\u8981\u6c42\u7f16\u8bd1\u5668\u5728\u751f\u6210\u4ee3\u7801\u65f6\uff0c\u53ea\u7528\u4f2a\u6307\u4ee4\u6765\u8868\u8fbe\u4ea7\u751f\u3001\u4f7f\u7528\u7b26\u53f7\u5730\u5740\u7684\u52a8\u4f5c\uff0c**\u4e0d\u80fd**\u6709\u63a7\u5236\u80cc\u540e\u5177\u4f53\u6307\u4ee4\u7684\u81ea\u7531\u5ea6\u3002\\n\u8fd9\u5c31\u4e0e `-mexplicit-relocs` \u5929\u7136\u4e0d\u5bf9\u4ed8\uff1a\\n\u6253\u5f00\u8fd9\u4e2a\u9009\u9879\u5c31\u662f\u8981\u8ba9\u7f16\u8bd1\u5668**\u80fd**\u611f\u77e5\u3001\u63a7\u5236\u8fd9\u4e9b\u5177\u4f53\u6307\u4ee4\uff0c\\n\u8fdb\u800c\u5f97\u4ee5\u5229\u7528\u66f4\u591a\u4f18\u5316\u673a\u4f1a\uff0c\u4e5f\u66f4\u6709\u52a9\u4e8e\u6307\u4ee4\u8c03\u5ea6\u3002\\n\\n\u56e0\u4e3a linker relaxation \u4e0e\u76f8\u5173\u6307\u4ee4\u7684\u66f4\u4f73\u8c03\u5ea6\u5728\u73b0\u6709\u6761\u4ef6\u4e0b\u65e0\u6cd5\u4e24\u5168\uff0c\u6240\u4ee5\u624d\u8bf4\u4e0d\u89c1\u5f97\u662f\u65e0\u6761\u4ef6\u4f18\u5316\uff0c\u9700\u8981\u5341\u5206\u7559\u5fc3\u3002\\n:::\\n\\nliwei [\u8c03\u6574\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630749.html)\u4e00\u4e9b\u5411\u91cf\u4f18\u5316\u6210\u672c\u6570\u503c\u3002\\n\\nguojie [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631062.html)\u51e0\u79cd\u5411\u91cf\u503c\u7684\u6784\u9020\u3002\\n\\nChenghui Pan [\u5728\u4fee\u6d4b\u8bd5](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630953.html)\u3002\\n\\n#### D\\n\\nAOSC \u793e\u533a\u7684[\u5218\u5b50\u5174](https://github.com/liushuyu)\u4e3a D \u8bed\u8a00\u7684\\n[GCC \u524d\u7aef](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631259.html)\u4e0e[\u8fd0\u884c\u65f6](https://github.com/dlang/dmd/pull/15628)\u6dfb\u52a0\u4e86\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u6b22\u8fce\uff01\\n\\n#### LLVM\\n\\n\u5f53\u5730\u65f6\u95f4 9 \u6708 19 \u65e5\uff0cLLVM 17 \u6b63\u5f0f\u53d1\u5e03\u3002\u6b64\u7248\u672c\u65b0\u589e\u4e86\u4e0d\u5c11\u9f99\u67b6\u6784\u4f18\u5316\uff0c\u66f4\u6709\u5b8c\u6574\u7684\\nLA64 v1.00 \u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\uff08\u5148\u524d\u5df2\u6709\u62a5\u9053\uff09\uff0c\u5efa\u8bae\u5f00\u53d1\u8005\u4eec\u53ea\u8981\u53ef\u884c\u90fd\u5347\u7ea7\u3002\\n\\n\u6700\u8fd1\u53d1\u73b0 Clang 17 \u5728\u5e26\u7740 `-march=la464` \u7f16\u8bd1\u7684\u65f6\u5019\uff0c\u53ef\u80fd\u4f1a\u60f3\u505a\u81ea\u52a8\u5411\u91cf\u5316\u7136\u540e\u4e0d\u77e5\u9053\u600e\u4e48\u751f\u6210\u4ee3\u7801\uff08\u56e0\u4e3a\u5f53\u65f6\u8fd8\u6ca1\u505a\uff1b\u73b0\u5728\u4f3c\u4e4e\u4e5f\u6ca1\uff09\uff0c\u5bfc\u81f4\u5d29\u6e83\u3002\\n\u7531\u4e8e\u7b14\u8005\u7cbe\u529b\u6709\u9650\uff0c\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u81ea\u544a\u594b\u52c7\uff1a\u7b14\u8005\u4f1a\u6559\u4f60\u600e\u4e48\u67e5 & \u4fee\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u8fd1\u65e5\uff0c\u8457\u540d\u5de5\u5177\u94fe\u7ef4\u62a4\u8005\u4e4b\u4e00\u3001LLVM LLD \u7684\u539f\u4f5c\u8005 Rui Ueyama \u3055\u3093[\u53d1\u5e03\u4e86](https://github.com/rui314/mold/releases/tag/v2.2.0)\\nmold 2.2\u3002\\nmold \u662f\u4ed6\u57fa\u4e8e\u591a\u5e74\u7684\u94fe\u63a5\u5668\u5f00\u53d1\u7ecf\u9a8c\u91cd\u65b0\u8bbe\u8ba1\u7684\u73b0\u4ee3\u5316\u3001\u9ad8\u6027\u80fd\u94fe\u63a5\u5668\uff0c\\n\u4ece 2.1 \u7248\u672c\u8d77\u652f\u6301\u9f99\u67b6\u6784\u3002\\n\u4e3a\u63d0\u5347 `--build-id` \u8ba1\u7b97\u901f\u5ea6\uff0cmold 2.2 \u6362\u7528\u4e86\\n[BLAKE3](https://github.com/BLAKE3-team/BLAKE3) \u54c8\u5e0c\u7b97\u6cd5\uff1b\\n\u8fd9\u4e2a\u5e93[\u6709\u6c47\u7f16\u4f18\u5316\u7a7a\u95f4](https://github.com/BLAKE3-team/BLAKE3/blob/master/c/README.md)\uff01\\n\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e3a\u5176\u6dfb\u52a0 LSX/LASX \u4f18\u5316\u3002\\n\\n9 \u6708 20 \u65e5\uff0c\u7b14\u8005\u4ece\u4e00\u5c01\u6284\u9001\u5230\u81ea\u5df1\u90ae\u7bb1\u7684\u901a\u77e5\u90ae\u4ef6\u5173\u6ce8\u5230\uff1aopenEuler \u793e\u533a[\u5df2\u5728\u7740\u624b](https://gitee.com/openeuler/kernel/issues/I82GAS)\u4e3a\u5176\\n23.09 \u7cfb\u7edf\u7684\u5185\u6838\u6dfb\u52a0\u66f4\u591a\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u770b\u90ae\u7bb1\u5730\u5740\uff0c\u63a8\u8fdb\u6b64\u5de5\u4f5c\u7684 Hongchen Zhang \u662f\u9f99\u82af\u5458\u5de5\u3002[openEuler 23.09 \u7684\u5185\u6838](https://gitee.com/openeuler/kernel/tree/openEuler-23.09/)\u7248\u672c\u662f 6.4\uff0c\\n\u8fd9\u610f\u5473\u7740\u4e0a\u8ff0\u5de5\u5355\u4e2d\u63d0\u5230\u7684\u5de5\u4f5c\u4f1a\u6d89\u53ca\u8bb8\u591a\u5411\u540e\u79fb\u690d\uff08backport\uff09\uff0c\u5728\u6b64\u795d :ta: \u4eec\u5c11\u88ab\u51b2\u7a81\u5751\u5230 :smiling_imp:\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u6b63\u5728\u63a8\u8fdb\u5176\u9f99\u67b6\u6784\u79fb\u690d\u7684\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-16","metadata":{"permalink":"/newsletter/this-week-in-loongarch-16","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-18-this-week-in-loongarch-16.md","source":"@site/newsletter/2023-09-18-this-week-in-loongarch-16.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-18T05:37:25.000Z","formattedDate":"2023\u5e749\u670818\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.135,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-16","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","authors":["xen0n"],"date":"2023-09-18T05:37:25.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","permalink":"/newsletter/this-week-in-loongarch-17"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","permalink":"/newsletter/this-week-in-loongarch-15"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLoongArch KVM\u5185\u6838\u865a\u62df\u673a \u7684\u4ee3\u7801\u4ecd\u7136\u5728\u6539\uff0c\u76ee\u524d\u6539\u5230\\n[v21](https://lore.kernel.org/loongarch/20230915014949.1222777-1-zhaotianrui@loongson.cn/)\\n\u4e86\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u4e0a\u5468\u63d0\u5230\u7684\u9664\u6cd5\u3001\u53d6\u4f59\u5904\u7406\u4fee\u590d\\n\uff08bug [PR111334](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111334)\uff09\\n\u5df2\u7ecf[\u63a8\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630223.html)\u3002\\n\u4e00\u540c\u63a8\u5165\u7684\u8fd8\u6709\\n[LSX](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630221.html)\u3001[LASX](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630222.html)\\n\u7684\u6d4b\u8bd5\u7528\u4f8b\u3002\\n\\n\u6b64\u5916 Lulu Cheng \u8fd8\uff1a\\n\\n* \u5c06\u9ed8\u8ba4\u7684\u5206\u652f\u8df3\u8f6c\u6210\u672c\u4ece 2 [\u63d0\u5347\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630285.html) 6\uff0c\\n* [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630481.html)\u6d6e\u70b9\u6761\u4ef6\u642c\u8fd0\u64cd\u4f5c\uff0c\\n* [\u79fb\u9664\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630486.html)\u591a\u4f59\u7684\u5bf9\u9f50\u52a8\u4f5c\uff08\u4f1a\u5bfc\u81f4\u6700\u7ec8\u751f\u6210\u7684\u4ee3\u7801\u53cd\u800c\u4e0d\u6ee1\u8db3\u5bf9\u9f50\u8981\u6c42\uff09\u3002\\n\\n\u9694\u58c1 binutils \u7ec4\u7684 mengqinggang \u4e5f\u6765[\u8c03\u6574\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630653.html)\u4f18\u5316\u5668\u6210\u672c\u6a21\u578b\u4e00\u5904\uff1a\\n\u636e\u8bf4\u6709\u5229\u4e8e\u5bc4\u5b58\u5668\u538b\u529b\u8f83\u5927\u60c5\u51b5\u4e0b\u7684\u5faa\u73af\u4f18\u5316\uff0c\u4f46\u6ca1\u6d4b\u8bd5\u7528\u4f8b\uff08\u5e94\u8be5\u5728\u8865\u4e86\uff09\u3002\\n\\n#### LLVM\\n\\n\u5173\u6ce8\u5230 7 \u6708\u5e95 Rust \u793e\u533a\u7684\u540c\u5b66[\u6765\u62a5](https://github.com/llvm/llvm-project/issues/64208)\\n`llvm.maximum.*` \u548c `llvm.minimum.*` \u4e24\u79cd intrinsics \u6ca1\u6709\u5b9e\u73b0\u7684\u95ee\u9898\uff0c\u81f3\u4eca\u672a\u80fd\u6392\u4e0a\u8bae\u4e8b\u65e5\u7a0b\uff1b\\n\u6709\u5174\u8da3\u6c34\u4e00\u4e24\u4e2a\u8865\u4e01\u7684\u540c\u5b66\u53ef\u4ee5\u53bb\u770b\u770b\u3002\\n\\n:::info\\n\u5b9e\u73b0\u8d77\u6765\u5e94\u8be5\u6bd4\u8f83\u7b80\u5355\uff1ax86 \u6216\u8005 RISC-V \u7684\u5b9e\u73b0\u5747\u53ef\u501f\u9274\u3002\\n\\nLoongArch \u7684 `fmax` `fmin` \u6307\u4ee4\uff0c\u5728\u771f\u673a\u4e0a\u89c2\u5bdf\u5176\u8bed\u4e49\uff0c\u4f3c\u4e4e\u4e0e\u8981\u7684\u4e00\u81f4\uff08\u8bf7\u52a1\u5fc5\u81ea\u5df1\u4e5f\u505a\u5b9e\u9a8c\u5c1d\u8bd5\uff1a\u7b14\u8005\u53ea\u68c0\u67e5\u4e86\u6b63\u8d1f\u96f6\u7684\u5927\u5c0f\u6bd4\u8f83\uff09\u3002\\n\u4f46\u8bf7\u5341\u5206\u6ce8\u610f\uff1a\u9f99\u67b6\u6784\u624b\u518c\u4e0a\u5bf9\u6b64\u4e24\u6761\u6307\u4ee4\u7684\u63cf\u8ff0\u662f\u300c\u9075\u5faa IEEE 754-2008\u300d\uff0c\\n\u800c\u4e24\u6761 LLVM intrinsics \u7684\u8bed\u4e49\u662f\u9075\u5faa\u300cIEEE 754-2008 \u7684**\u8349\u7a3f\u7248\u672c**\u300d\u3002\\n\u7b14\u8005\u68c0\u67e5\u4e86\u6b63\u5f0f\u7248\u7684 IEEE 754-2008\uff08\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u5e94\u80fd\u5f88\u65b9\u4fbf\u514d\u8d39\u83b7\u53d6\uff09\uff1a\\n\u5176 Section 5.3.1 \u786e\u5b9e\u4e0d\u518d\u63d0\u53ca LLVM intrinsics \u8981\u6c42\u7684\u6b63\u8d1f\u96f6\u8bed\u4e49\u3002\\n\u56e0\u6b64\u4f60\u5728\u5b9e\u73b0\u7684\u65f6\u5019\u5927\u6982\u7387\u4e5f\u8981\u53c2\u8003 x86\u3001RISC-V \u540e\u7aef\u7684\u505a\u6cd5\uff0c\u786e\u4fdd\u89c4\u8303\u5916\u8bed\u4e49\u5f97\u5230\u6b63\u786e\u5904\u7406\u4e4b\u540e\uff0c\u624d\u80fd\u8c03\u7528\u8fd9\u4fe9\u6307\u4ee4\u3002\\n:::\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u4e0a\u5468\u4f3c\u4e4e\u662f\u521b\u520a\u4ee5\u6765\u6700\u5b89\u9759\u7684\u4e00\u5468\uff0c\u5404\u4e2a\u793e\u533a\u90fd\u6ca1\u6709\u4ec0\u4e48\u5927\u65b0\u95fb\u3002\\n\u5f53\u7136\uff0c\u8fd9\u4e5f\u53ef\u80fd\u4ec5\u4ec5\u662f\u7b14\u8005\u672a\u80fd\u5173\u6ce8\u5230\uff1a\u8fd9\u4fbf\u662f\u4e3a\u4f55[\u7fa4\u4f17\u6295\u7a3f][call-for-submissions]\u5982\u6b64\u5fc5\u8981\u4e86\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-15","metadata":{"permalink":"/newsletter/this-week-in-loongarch-15","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-11-this-week-in-loongarch-15.md","source":"@site/newsletter/2023-09-11-this-week-in-loongarch-15.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-11T09:10:28.000Z","formattedDate":"2023\u5e749\u670811\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.685,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-15","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","authors":["xen0n"],"date":"2023-09-11T09:10:28.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","permalink":"/newsletter/this-week-in-loongarch-16"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","permalink":"/newsletter/this-week-in-loongarch-14"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u5317\u4eac\u65f6\u95f4 9 \u6708 11 \u65e5\u6e05\u6668\uff0cLinus [tagged](https://lore.kernel.org/lkml/CAHk-=wgfL1rwyvELk2VwJTtiLNpwxTFeFtStLeAQ-2rTRd34eQ@mail.gmail.com/T/#u)\\nLinux 6.6-rc1\u3002\\n\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff1aLinus \u5728\u62c9\u53d6\u3001\u5ba1\u67e5\u3001\u5408\u5e76\u672c\u6b21\u7684[\u9f99\u67b6\u6784 PR](https://lore.kernel.org/loongarch/169420324840.9132.7799052693511343279.pr-tracker-bot@kernel.org/T/#eb6a9a4343868f07c867cdbae4231a8f1f86ebed0) \u65f6\uff0c\\n\u5bf9\u5176\u4e2d\u7684 KASAN \u6280\u672f\u7ec6\u8282\u4eb2\u81ea\u7ed9\u51fa\u4e86\u6307\u5bfc\uff1a\\n\u6307\u51fa\u4e86\u5176\u4e2d\u6cbf\u7528\u7684\u4e00\u79cd\u8001\u5f0f\u4ee3\u7801\u5199\u6cd5\u4e4b\u4e0d\u59a5\uff0c\u5f53\u4ee3\u4e00\u822c\u5982\u4f55\u5199\uff1b\\n\u4ee5\u53ca\u4e24\u5904\u5185\u8054\u58f0\u660e\u7684\u80cc\u540e\u539f\u56e0\uff08\u8fd9\u539f\u56e0\u5728\u9f99\u67b6\u6784\u4e0a\u65e0\u8bba\u662f\u5426\u786e\u5b9e\u5b58\u5728\uff0c\u90fd\u610f\u5473\u7740\u8981\u6539\u4ee3\u7801\uff09\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cHuacai Chen \u5df2\u7ecf\u628a\u91cd\u6784\u63d0\u4ea4[\u8d34\u51fa\u6765](https://lore.kernel.org/loongarch/fc0f52e0-99a7-bde7-6674-9c1c579c6bc7@xen0n.name/T/#e78ae5e0fb57c26860c7c173dcc2464ba5e70a99a)\u4e86\u3002\\n\\n\u5728\u6b64\u4e4b\u5916\uff0cBibo Mao \u5728\u7ee7\u7eed\u7740\u4ed6\u5bf9\u9f99\u67b6\u6784\u5185\u5b58\u7ba1\u7406\u4ee3\u7801\u7684\u4f18\u5316\uff1a\\n[\u8865\u4e01\u4e00](https://lore.kernel.org/loongarch/20230908012907.2994001-1-maobibo@loongson.cn/)\u3001[\u8865\u4e01\u4e8c](https://lore.kernel.org/loongarch/20230907020936.2692542-1-maobibo@loongson.cn/)\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n9 \u6708 8 \u65e5\uff0cGCC 14 \u6700\u65b0\u5f00\u53d1\u7248\u672c[\u88ab\u53d1\u73b0](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111334)\u5728\u7f16\u8bd1 Mesa \u65f6\u5d29\u6e83\u3002\\n\u95ee\u9898\u539f\u56e0\u5df2\u627e\u5230\uff0c\u8865\u4e01[\u8d34\u51fa\u6765\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629749.html)\uff0c\u7b49\u5f85\u5408\u5e76\u3002\\n\\n:::info \u6240\u4ee5\u95ee\u9898\u5728\u54ea\uff1f\\nLoongArch® v1.00 \u624b\u518c\u63d0\u5230\u4e86 LA64 \u7684 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u6a21\u64cd\u4f5c\u6709\u5751\uff08\u4e2d\u6587\u7248\u5377\u4e00 2.2.1.13 \u8282\uff1b\u82f1\u6587\u7248\u4e2d\u6ca1\u6709\u6ce8\u660e\u8be5\u5751\uff09\uff1a\\n\\n\u300c\u5728 LoongArch64 \u4f4d\u517c\u5bb9\u7684\u673a\u5668\u4e0a\uff0c\u6267\u884c `DIV.W[U]` \u548c `MOD.W[U]` \u6307\u4ee4\u65f6\uff0c\\n\u5982\u679c\u901a\u7528\u5bc4\u5b58\u5668 rj \u548c rk \u4e2d\u7684\u6570\u503c\u8d85\u8fc7\u4e86 32 \u4f4d\u6709\u7b26\u53f7\u6570\u7684\u6570\u503c\u8303\u56f4\uff0c\\n\u5219\u6307\u4ee4\u6267\u884c\u7ed3\u679c\u53ef\u4ee5\u4e3a\u65e0\u610f\u4e49\u7684\u4efb\u610f\u503c\u3002\u300d\\n\\n\u8fd9\u662f\u4e00\u5904 LA464 \u7684\u5b9e\u73b0\u7ec6\u8282\u66b4\u9732\uff0c\u56e0\u4e3a\u5176\u4ed6 32 \u4f4d\u64cd\u4f5c\u90fd\u7b80\u5355\u65e0\u89c6\u5bc4\u5b58\u5668\u7684\u9ad8 32 \u4f4d\u90e8\u5206\u3002\\n\u9274\u4e8e\u6b64\uff0c\u6240\u6709\u4ea7\u751f\u9f99\u67b6\u6784\u673a\u5668\u8bed\u8a00\u7684\u7f16\u8bd1\u5668\u90fd\u5fc5\u987b\u505a\u76f8\u5e94\u7684\u7279\u6b8a\u9002\u914d\uff0c\u4ee5\u786e\u4fdd\u8fd9\u4e9b\u6307\u4ee4\u7684\u6e90\u64cd\u4f5c\u6570\u90fd\u7b26\u5408\u7ea6\u675f\uff1b\\n\u4e0d\u5de7 gcc \u91cc\u8fd9\u4e2a\u53d8\u6362\u5199\u9519\u4e86\u3002\\n\\n\u6b64\u5916\uff0c\u8bc4\u8bba\u533a\u4e2d Lulu Cheng \u900f\u9732\uff0c\u6b64\u4e58\u9664\u6cd5\u64cd\u4f5c\u7684\u8bed\u4e49\u5927\u5751\u5df2\u5728 LA664 \u89e3\u51b3\u4e86\u3002\\n\u7b14\u8005\u4e5f\u5728\u624b\u4e0a\u7684 3A6000 \u673a\u5668\u8bc1\u5b9e\u4e86\u6b64\u4e8b\u3002\\n\u5f85\u591a\u5e74\u4e4b\u540e\uff0c\u91c7\u7528\u65e7\u8bed\u4e49\u7684\u5904\u7406\u5668\u578b\u53f7\u90fd\u6de1\u51fa\u5e02\u573a\uff0c\u5c31\u53ef\u4ee5\u53eb\u5927\u5bb6\u90fd\u505c\u6b62\u751f\u6210\u8fd9\u4e9b\u591a\u4f59\u7684\u7b26\u53f7\u6269\u5c55\u64cd\u4f5c\u4e86\u3002\\n:::\\n\\n\u540c\u4e00\u5929\uff0cguojie \u4e3a\u9f99\u67b6\u6784\u4e0a `-O1` \u53ca\u66f4\u9ad8\u7684\u4f18\u5316\u7ea7\u522b\u90fd[\u9ed8\u8ba4\u5f00\u542f\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629647.html)\\n`-fsched-pressure` \u4f18\u5316\u5de5\u5e8f\u3002\\n\\n9 \u6708 7 \u65e5\uff0cXi Ruoyao \u4f7f\u7528\u5411\u91cf\u8bbf\u5b58\u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629618.html)\u5f00\u542f\u5411\u91cf\u652f\u6301\u6761\u4ef6\u4e0b\u7684\u5185\u8054\u5185\u5b58\u642c\u8fd0\u64cd\u4f5c\u3002\\n\\n9 \u6708 6 \u65e5\uff0cXi Ruoyao \u7528\u4f1f\u5927\u7684 `bstrins` \u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629446.html)\u4f4d\u57df\u6e05\u7a7a\u3001\u4f4d\u57df\u66ff\u6362\u64cd\u4f5c\u3002\\n\u8fd9\u89e3\u51b3\u4e86\u4e0a\u6e38 bug [PR111252](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111252)\uff1a\u6bd4\u5982\\n`__builtin_copysignf128`\uff08\u8fd1\u671f\u6dfb\u52a0\u7684 128 \u4f4d\u6d6e\u70b9\u7c7b\u578b\u652f\u6301\u7684\u76f8\u5173\u57fa\u672c\u64cd\u4f5c\u4e4b\u4e00\uff09\u7f16\u8bd1\u7ed3\u679c\u5341\u5206\u6076\u52a3\u7684\u95ee\u9898\u3002\\n\\n9 \u6708 4 \u65e5\uff0cYang Yujie \u5411 GCC \u7684 Ada \u8bed\u8a00\u5b9e\u73b0[\u6dfb\u52a0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629184.html) \u521d\u6b65\u7684 Linux/LoongArch \u9002\u914d\u3002\\n\\n#### LLVM\\n\\n9 \u6708 8 \u65e5\uff0cNathan Chancellor \u5728\u65e5\u5e38\u7684 ClangBuiltLinux \u6d4b\u8bd5\u4e2d\uff0c\u53d1\u73b0 Clang\\n\u5728\u9f99\u67b6\u6784\u4e0a\u4f7f\u7528\u7684 mcount \u7b26\u53f7\u540d\u79f0\u6709\u8bef\uff0c\u987a\u624b[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/65657)\u3002\\n\uff08\u8fd9\u4f3c\u4e4e\u4e5f\u662f LLVM \u4ee3\u7801\u5ba1\u67e5\u5de5\u4f5c[\u6574\u4f53\u8f6c\u5411 GitHub](https://discourse.llvm.org/t/update-on-github-pull-requests/71540)\\n\u4e4b\u540e\u7684\u7b2c\u4e00\u4e2a\u9f99\u67b6\u6784\u76f8\u5173 PR\u3002\uff09\\n\\n#### Rust\\n\\n9 \u6708 7 \u65e5\uff0c\u5c06 LA64 \u88f8\u673a\u7f16\u8bd1\u76ee\u6807\u4eec\u63d0\u5347\u81f3 Tier 2 \u652f\u6301\u7ea7\u522b\u7684 MCP [\u8fdb\u5165\u4e86\u516c\u793a\u671f](https://github.com/rust-lang/compiler-team/issues/664#issuecomment-1710266066)\uff0c\u516c\u793a\u671f 10 \u5929\u3002\\n\uff08\u8fd9\u4e2a\u63d0\u6848\u662f 8 \u6708 15 \u53f7\u53d1\u51fa\u6765\u7684\uff0c\u8fd9\u4e48\u4e45\u90fd\u6ca1\u6709\u53cd\u5bf9\u610f\u89c1\uff0c\u5927\u6982\u7387\u4e4b\u540e\u4e5f\u4e0d\u4f1a\u6709\u4e86\u30029 \u6708 17 \u53f7\u5e94\u8be5\u4f1a\u81ea\u52a8\u901a\u8fc7\u3002\uff09\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\uff08\u8865\u5145\u62a5\u9053\uff099 \u6708 3 \u65e5\uff0cJiajie Chen \u5728 fuzz \u4ed6\u624b\u5934\u7684\u9f99\u67b6\u6784 CPU \u65f6\uff0c[\u627e\u51fa\u4e86](https://github.com/loongson-community/loongarch-opcodes/issues/1)\u672a\u89c1\u4e8e\u516c\u5f00\u6587\u6863\u7684\u51e0\u6761\u6307\u4ee4\uff1a\\n\\n* \u64cd\u4f5c 8 \u4f4d\u548c 16 \u4f4d\u7684 `amswap` \u4e0e `amadd` \u8865\u5145\uff08\u6587\u6863\u4e2d\u6240\u6709\u7684\u539f\u5b50\u64cd\u4f5c\u6269\u5c55\u6307\u4ee4\uff0c\u6700\u5c0f\u6570\u636e\u5355\u4f4d\u90fd\u662f 32 \u4f4d\uff09\uff0c\u4ee5\u53ca\\n* \u7c7b\u4f3c `ldx` \u4f46\u65e0\u89c6 `rk` \u69fd\u4f4d\u7684\u8f7d\u5165\u64cd\u4f5c\uff0c\u8fd9\u4f7f\u5f97 `rk` \u69fd\u4f4d\u7684\u5185\u5bb9\u50cf\u662f\u7ed9\u5185\u5b58\u5b50\u7cfb\u7edf\u7684\u4ec0\u4e48\u63d0\u793a\u3002\\n\\n\u76ee\u524d\u6682\u672a\u68c0\u67e5\u8fd9\u4e9b\u6307\u4ee4\u662f LA464 \u8fd8\u662f LA664 \u7684\uff0c\u4f46\u5b83\u4eec\u663e\u7136\u5df2\u7ecf\u6210\u4e3a\u4e86\u91cd\u70b9\u5173\u6ce8\u5bf9\u8c61 :smirk_cat:\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-14","metadata":{"permalink":"/newsletter/this-week-in-loongarch-14","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-04-this-week-in-loongarch-14.md","source":"@site/newsletter/2023-09-04-this-week-in-loongarch-14.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-04T17:39:31.000Z","formattedDate":"2023\u5e749\u67084\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":10.09,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-14","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","authors":["xen0n"],"date":"2023-09-04T17:39:31.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","permalink":"/newsletter/this-week-in-loongarch-15"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","permalink":"/newsletter/this-week-in-loongarch-13"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux-6.6-loongarch-changes}\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cLinux 6.6 \u7684\u5408\u5e76\u7a97\u53e3\u5de5\u4f5c\u6b63\u98ce\u751f\u6c34\u8d77\uff0c\u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005\u4eec\u90fd\u5728\u5fd9\u7740\u6574\u7406\u4ee3\u7801\u3001\u63d0\u4ea4 PR\u62c9\u53d6\u8bf7\u6c42\u3002\\n\u5408\u5e76\u7a97\u53e3\u9884\u8ba1\u5728\u7f8e\u897f\u65f6\u95f4\u7684\u672c\u5468\u65e5\u4e0b\u5348\uff089 \u6708 10 \u65e5\uff1b\u4e2d\u56fd\u65f6\u95f4 9 \u6708 11 \u65e5\uff09\u5173\u95ed\uff1b\\n\u672c\u5f00\u53d1\u5468\u671f\u7684 `arch/loongarch` \u53d8\u66f4\u5df2\u7531 Huacai Chen \u6574\u7406\u5b8c\u6210\u5e76[\u6253\u597d\u4e86 tag](https://git.kernel.org/chenhuacai/linux-loongson/l/loongarch-6.6)\uff0c\\n\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a\\n\\n:::info arch/loongarch in Linux 6.6\\n1. \u5141\u8bb8\u5728\u5185\u6838\u6001\u4f7f\u7528 LSX\u3001LASX\uff08Huacai Chen\uff0c\u5e94\u7b14\u8005\u7684 SIMD \u4f18\u5316\u9700\u6c42\u800c\u8bbe\u8ba1\uff09\uff1b\\n2. \u6dfb\u52a0 SIMD \u4f18\u5316\u7684 RAID5/RAID6 \u4f8b\u7a0b\uff08\u7b14\u8005\uff09\uff1b\\n3. \u6dfb\u52a0\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u652f\u6301\uff08Qi Hu\u3001Huacai Chen\uff09\uff1b\\n4. \u6dfb\u52a0 KGDB\u3001KDB \u7684\u57fa\u672c\u652f\u6301\uff1b\\n * \u6846\u67b6\u3001\u6838\u5fc3\u529f\u80fd\uff1aQing Zhang\uff1b\u8be5\u540c\u5b66\u662f\u524d\u9f99\u82af\u5458\u5de5\uff0c\u5728\u9f99\u82af\u65f6\u671f\u5b8c\u6210\u4e86\u6b64\u5de5\u4f5c\u3002\\n * \u65ad\u70b9\u3001\u5355\u6b65\uff1aBinbin Zhou\u3002\\n * \u7ec6\u8282\u6539\u8fdb\u8c03\u6574\uff1aHui Li\u3002\\n * \u6784\u5efa\u9519\u8bef\u4fee\u590d\u6253\u78e8\uff1aRandy Dunlap\uff1b\u6d3b\u8dc3\u7684\u4e0a\u6e38\u793e\u533a\u5f00\u53d1\u8005\u540c\u5b66\u4e4b\u4e00\u3002\\n5. \u652f\u6301\u5f00\u542f KCov\uff08\u5185\u6838\u7684\u4ee3\u7801\u8986\u76d6\u7387\u6536\u96c6\u673a\u5236\uff09\u6784\u5efa\u5185\u6838\uff08Feiyang Chen\uff09\uff1b\\n6. \u6dfb\u52a0 KFENCE (Kernel Electric-Fence) \u652f\u6301\uff08Enze Li\uff1b\u8be5\u540c\u5b66\u662f\u9e92\u9e9f\u5458\u5de5\uff09\uff1b\\n7. \u6dfb\u52a0 KASAN (Kernel Address Sanitizer) \u652f\u6301\uff08Qing Zhang\uff09\uff1b\\n8. bug \u4fee\u590d\u4e0e\u5176\u4ed6\u8f83\u5c0f\u53d8\u66f4\uff08Bibo Mao\u3001Weihao Li\u3001Tiezhu Yang\uff09\uff1b\\n9. \u9ed8\u8ba4\u914d\u7f6e\u66f4\u65b0\u3002\\n\\n\u8be5\u4fe1\u606f\u7ffb\u8bd1\u81ea [tag \u8bf4\u660e\u6587\u5b57](https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git/tag/?h=loongarch-6.6)\uff0c\\n\u76f8\u5173\u4f5c\u8005\u4fe1\u606f\u7531\u7b14\u8005\u6574\u7406\u6dfb\u52a0\u3002\\n\u9664\u7b14\u8005\u5916\uff0c\u672a\u63d0\u53ca\u5de5\u4f5c\u5355\u4f4d\u4fe1\u606f\u7684\u540c\u5b66\u90fd\u662f\u9f99\u82af\u5458\u5de5\u3002\\n:::\\n\\n8 \u6708 31 \u65e5\uff0cTianrui Zhao\u3001Bibo Mao \u7b49\u540c\u5b66\u5f00\u53d1\u7684\u9f99\u67b6\u6784 KVM\u5185\u6838\u865a\u62df\u673a\\n\u8865\u4e01\u7cfb\u5217\u5df2[\u8fed\u4ee3\u81f3](https://lore.kernel.org/loongarch/20230831083020.2187109-1-zhaotianrui@loongson.cn/)\u7b2c 20 \u7248\u3002\\n\u76ee\u524d\u9884\u8ba1\u8be5\u529f\u80fd\u6b63\u5f0f\u9732\u9762\u7684\u9996\u4e2a\u4e0a\u6e38\u5185\u6838\u7248\u672c\u662f Linux 6.7\uff08\u4e0b\u4e2a\u5f00\u53d1\u5468\u671f\uff09\uff0c\\n\u4f46\u6211\u4eec\u540c\u65f6\u9884\u8ba1\u793e\u533a\u53d1\u884c\u7248\u4eec\u5c06\u8f83\u5feb\u8ddf\u8fdb\u652f\u6301\uff08\u63d0\u524d\u96c6\u6210\u8fd9\u4e9b\u8865\u4e01\uff09\u3002\\n\\n:::info \u503c\u5f97\u4e00\u63d0\u7684\u662f\\n\u968f\u7740\u4e0a\u6e38\u7684\u5185\u6838 CI\u6301\u7eed\u96c6\u6210 \u8bbe\u65bd\u7684\u9f99\u67b6\u6784\u5de5\u5177\u94fe\u5347\u7ea7\u5230\u6700\u65b0\u7248\uff0c\\n\u6b64\u5806\u4ee3\u7801\u4e2d\u5199\u6b7b\u7684\u3001\u4e0d\u5229\u4e8e\u7ef4\u62a4\u7684\u6307\u4ee4\u7f16\u7801\u7ec8\u4e8e\u6d88\u5931\u4e86\u3002\\n\u8fd9\u5c06\u4e0d\u4f1a\u5f71\u54cd\u4e0b\u6e38\u672a\u5347\u7ea7\u5de5\u5177\u94fe\u7248\u672c\u7684\u53d1\u884c\u7248\u96c6\u6210\u8be5\u529f\u80fd\uff1a\u8fd9\u4e9b\u53d1\u884c\u7248\u603b\u80fd\u4e3a\u5176\u5de5\u5177\u94fe\u5355\u72ec\u52a0\u5165\u76f8\u5173\u6307\u4ee4\u652f\u6301\u3002\\n:::\\n\\n8 \u6708 17 \u65e5\uff0clihui\\n[\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230817032825.22974-1-lihui@loongson.cn/)\u7b2c 3 \u7248\u7684\u9f99\u67b6\u6784 KGDB\u5185\u6838 GDB \u652f\u6301\u8865\u4e01\uff0c\\n\u4f46 :ta: \u628a\u8865\u4e01\u539f\u4f5c\u8005\u3001\u524d\u9f99\u82af\u5458\u5de5 Qing Zhang \u7684\u4f5c\u8005\u4fe1\u606f\u66ff\u6362\u6210\u4e86 :ta: \u81ea\u5df1\u3002\\n\uff08\u5728\u8865\u4e01\u5185\u5bb9\u672c\u8eab\u5e76\u672a\u53d1\u751f\u672c\u8d28\u6539\u53d8\u7684\u524d\u63d0\u4e0b\uff0c\u4f5c\u8005\u4fe1\u606f\u4e0d\u5e94\u88ab\u66ff\u6362\uff09\u3002\\n\u8865\u4e01\u7684\u539f\u4f5c\u8005 Qing Zhang \u5728 29 \u53f7\u4f7f\u7528\u817e\u8baf\u7684\u90ae\u7bb1\u5730\u5740[\u5410\u69fd\u4e86](https://lore.kernel.org/loongarch/ea1126e8-690c-424e-ab52-ef5ebbc9707a@tencent.com/)\u8fd9\u4ef6\u4e8b\uff0c\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u5c1a\u672a\u6709\u540e\u7eed\u8fdb\u5c55\u3002\\n\u672c\u5468\u62a5\u5c06\u6301\u7eed\u4e3a\u60a8\u8ffd\u8e2a\u3002\\n\\n:::info \u5410\u69fd\u7684\u5177\u4f53\u70b9\\n\u4e00\u5207\u4ece\u4e00\u4e2a\u672a\u88ab\u521d\u59cb\u5316\u5373\u88ab\u4f7f\u7528\u7684\u53d8\u91cf `cj_val` \u5f00\u59cb\uff1a\\n\u8fd9\u610f\u5473\u7740\u8fd9\u90e8\u5206\u4ee3\u7801\u7684\u4f5c\u8005\u672a\u4f5c\u4efb\u4f55\u6d4b\u8bd5\uff0c\u751a\u81f3\u8fde\u6d4b\u8bd5\u7f16\u8bd1\u90fd\u6ca1\u8fdb\u884c\uff0c\u4fbf\u63d0\u4ea4\u4e86\u4ee3\u7801\u3002\\n\u4e14\u4e0d\u8bba\u8fd9\u79cd\u884c\u4e3a\u54ea\u6015\u5728\u4efb\u4f55\u516c\u53f8\u5185\u90e8\uff0c\u6050\u6015\u4e5f\u4e0d\u53ef\u63a5\u53d7\uff0c\u9051\u8bba\u793e\u533a\u8303\u7574\uff1b\\n\u4f5c\u4e3a\u8865\u4e01\u539f\u4f5c\u8005\uff0c\u770b\u5230\u63a5\u624b\u7684\u540c\u5b66\u8fd9\u6837\u5bf9\u5f85\u81ea\u5df1\u7684\u52b3\u52a8\u6210\u679c\uff0c\u5410\u69fd\u4e24\u53e5\u4e5f\u5408\u60c5\u5408\u7406\u5427\u3002\\n\\nQing Zhang \u8fd8\u63d0\u5230\uff1a\u8865\u4e01\u7684\u672c\u4f53\u662f :ta: \u7f16\u5199\u7684\uff0c\u540e\u7eed\u4fee\u8865\u5de5\u4f5c\u4e3b\u8981\u662f Binbin Zhou \u505a\u7684\uff0c\\n\u5e76\u4e14\u300c\u4e0d\u6539\u53d8\u4f5c\u8005\u4fe1\u606f\u300d\u8fd9\u4ef6\u4e8b\u4f3c\u4e4e\u662f :ta: \u4ece\u9f99\u82af\u79bb\u804c\u524d\u4e0e lihui \u5185\u90e8\u534f\u8c03\u8fc7\u7684\u4e8b\u9879\u3002\\n\u6211\u4eec\u5728\u6ca1\u6709\u83b7\u5f97\u66f4\u591a\u6d88\u606f\u4e4b\u524d\uff0c\u76f8\u4fe1\u6c9f\u901a\u53cc\u65b9\u672c\u8d28\u4e0a\u90fd\u57fa\u4e8e\u5584\u610f\uff1a\u4e5f\u8bb8 lihui\\n\u6216\u5176\u90e8\u95e8\u6709\u4ec0\u4e48\u5176\u4ed6\u539f\u56e0\u5bfc\u81f4 :ta: \u4e0d\u80fd\u7ef4\u6301\u539f\u4f5c\u8005\u4fe1\u606f\u4e86\u3002\\n\u5e0c\u671b\u8fd9\u573a\u5c0f\u98ce\u6ce2\u80fd\u6700\u7ec8\u5e73\u7a33\u89e3\u51b3\uff01\\n:::\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n9 \u6708 2 \u65e5\uff0cLulu Cheng \u4f9d\u7167 [2018 \u5e74 RISC-V \u7684\u540c\u7b49\u4f18\u5316](https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=7bbce9b50302959286381d9177818642bceaf301)\uff0c\\n\u4e5f\u7ed9\u9f99\u67b6\u6784[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629155.html) `switch` \u8bed\u53e5\u9009\u62e9\u652f\u662f 8 \u4f4d\u91cf\u7684\u7b26\u53f7\u6269\u5c55\u7ed3\u679c\u65f6\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n\u540c\u4e00\u5929\uff0cguojie [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629157.html)\u5411\u5f62\u5982 `MEM[base + index]` \u7684\u4f4d\u7f6e\u5b58\u5165\u6d6e\u70b9 `0.0` \u8fd9\u79cd\u884c\u4e3a\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n9 \u6708 1 \u65e5\uff0cLulu Cheng \u5408\u5e76\u4e86 :ta: \u548c guojie 6 \u6708 29 \u65e5\u505a\u7684\u4e00\u5904\u4ee3\u7801\u751f\u6210\u9519\u8bef\u4fee\u590d\uff08GCC bug [PR110484](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110484)\uff0c\\n\u5728\u5f00\u542f LTO\u94fe\u63a5\u65f6\u4f18\u5316 \u7f16\u8bd1 SPEC2017 541.leela\\\\_r \u7528\u4f8b\u65f6\u53d1\u73b0\uff09\u3002\\n\\n:::info LTO \u662f\u8dd1\u5206\u4e13\u4eab\u4f18\u5316\u5417\uff1f\u6709\u7528\u5417\uff1f\u4f1a\u53cd\u800c\u9020\u6210\u6027\u80fd\u52a3\u5316\u5417\uff1f\\n\u7b80\u5355\u7684\u56de\u7b54\uff1a\u4e0d\u662f\uff1b\u6709\u7528\uff1b\u4e0d\u5927\u53ef\u80fd\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u3002\\n\\n\u590d\u6742\u7684\u56de\u7b54\uff1a\u53d6\u51b3\u4e8e\u5177\u4f53\u53d1\u884c\u7248\u548c\u8f6f\u4ef6\u4f5c\u8005\u7684\u7f16\u8bd1\u53c2\u6570\u9009\u62e9\uff1b\u53d6\u51b3\u4e8e\u5177\u4f53\u4ee3\u7801\u5199\u6cd5\uff1b\u5177\u4f53\u60c5\u51b5\u5177\u4f53\u5206\u6790\u3002\\n:::\\n\\n8 \u6708 31 \u65e5\uff0cchenxiaolong [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628895.html)\u7b2c 5 \u7248\u7684\\n128 \u4f4d\u6d6e\u70b9\u64cd\u4f5c\u5185\u5efa\u51fd\u6570\u652f\u6301\u3002\\n\\n\u540c\u4e00\u5929\uff0cLulu Cheng [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628950.html)\u4ece\u5185\u5b58\u4e2d\u8f7d\u5165\u5b9a\u70b9\u6570\u5e76\u9a6c\u4e0a\u5c06\u5176\u8f6c\u4e3a\u6d6e\u70b9\u6570\u7684\u64cd\u4f5c\uff1a\\n\u6bcf\u6b21\u8fd9\u79cd\u60c5\u51b5\u90fd\u7701\u4e00\u6761\u6307\u4ee4\uff08\u4e0d\u7528\u975e\u5f97\u5148\u88c5\u8fdb GPR \u518d\u642c\u8fdb FPR\uff0c\u53ef\u4ee5\u76f4\u63a5\u88c5\u8fdb FPR \u53bb\uff09\u3002\\n\\n#### glibc\\n\\n8 \u6708 26 \u65e5\uff0cXi Ruoyao [\u6e05\u7406\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151146.html)\u81ea\u4ece\\nglibc \u8981\u6c42\u7684\u6700\u4f4e binutils \u7248\u672c\u62ac\u5347\u81f3 2.41 \u4e4b\u540e\u4e0d\u518d\u9700\u8981\u7684\u517c\u5bb9\u4ee3\u7801\u3002\\n\\n8 \u6708 24 \u65e5\uff0cdengjianbo [\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151091.html)\u7b2c\u4e8c\u6279 LSX\u3001LASX \u5b9e\u73b0\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u3002\\n\u968f\u540e 28 \u65e5 :ta: \u53c8[\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151156.html)\u7b2c\u4e09\u6279\u3002\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u4e0a\u8ff0\u6539\u8fdb\u90fd\u5df2\u8fdb\u5165\u4e3b\u7ebf\u4e86\u3002\uff08\u611f\u8c22 Xi Ruoyao \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n#### LLVM\\n\\n8 \u6708 31 \u65e5\uff0chev \u628a [RISC-V \u7684\u4e00\u9879\u7279\u5b9a\u6709\u7528\u539f\u5b50\u64cd\u4f5c\u4f18\u5316](https://reviews.llvm.org/D156801)\uff0c[\u79fb\u690d\u5230\u4e86](https://reviews.llvm.org/D159252)\u9f99\u67b6\u6784\u3002\\n\u8fd9\u5c06[\u6709\u5229\u4e8e Rust](https://github.com/rust-lang/rust/pull/114034) \u751f\u6210\u66f4\u597d\u7684\u4ee3\u7801\u3002\\n\\n\u540c\u4e00\u5929\uff0chev \u8fd8[\u4f18\u5316\u6389\u4e86](https://reviews.llvm.org/D159272)\u9f99\u67b6\u6784 LL/SC \u64cd\u4f5c\u5e8f\u5217\u4e2d\u4e0d\u5fc5\u8981\u7684\u6805\u969c\u52a8\u4f5c\u3001\u4fee\u590d\u4e86\u5176 acquire \u8bed\u4e49\u3002\\n\\n8 \u6708 30 \u65e5\uff0cSixWeining [\u4f18\u5316\u4e86](https://reviews.llvm.org/D159183)LLVM intrinsic `llvm.is.fpclass` \u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n#### Go\\n\\n\uff08\u8fd9\u662f\u524d\u51e0\u671f\u9057\u6f0f\u5185\u5bb9\u7684\u8865\u5145\uff098 \u6708 22 \u65e5\uff0cGuoqi Chen \u9886\u8854\u7684\u9f99\u82af Go \u56e2\u961f[\u8d34\u51fa\u4e86](https://go-review.googlesource.com/c/go/+/521790)\u9f99\u67b6\u6784\u7684 regabi\u5bc4\u5b58\u5668 ABI \u9002\u914d\u8865\u4e01\u3002\\n\u7b14\u8005\u5728\u6b64\u5de5\u4f5c\u7684\u65e9\u671f\u4ea6\u6709\u8d21\u732e\u3002\\n\u6b64\u9002\u914d\u5b8c\u6574\u5408\u5e76\u3001\u542f\u7528\u540e\uff0c\u5c06\u4e3a\u9f99\u67b6\u6784\u7684 Go \u7a0b\u5e8f\u666e\u904d\u5e26\u6765 10% \u5230 20% \u5de6\u53f3\u7684\u6027\u80fd\u4f18\u5316\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 29 \u65e5\uff0cXi Ruoyao [\u4fee\u590d\u4e86](https://sourceware.org/pipermail/elfutils-devel/2023q3/006362.html)\\nelfutils \u9879\u76ee\u5728\u9f99\u67b6\u6784 binutils 2.41 \u4e0a\u7684\u6d4b\u8bd5\u5931\u8d25\uff08\u9057\u6f0f\u4e86\u65b0\u6dfb\u52a0\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5e38\u91cf\uff09\u3002\uff08\u611f\u8c22 Xi Ruoyao \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n8 \u6708 28 \u65e5\uff0cJiajie Chen \u4e3a QEMU TCG \u7684 LoongArch64 \u79fb\u690d\u6dfb\u52a0\u4e86\u5411\u91cf\u652f\u6301\uff1a\\n\u53ef\u4ee5\u5c06\u88ab\u6a21\u62df\u67b6\u6784\u7684\u4e00\u4e9b SIMD \u64cd\u4f5c\u6620\u5c04\u5230\u9f99\u67b6\u6784\u7684\u5bf9\u5e94 SIMD \u64cd\u4f5c\u4e86\u3002\\n\u622a\u81f3 9 \u6708 2 \u65e5\uff0c\u8be5\u8865\u4e01\u7cfb\u5217\u5df2[\u8fed\u4ee3\u81f3\u7b2c 3 \u7248](https://patchwork.ozlabs.org/project/qemu-devel/list/?series=371423)\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u5df2\u77e5\u6709\u540c\u5b66\u5728\u8fdb\u884c AMD® ROCm® \u5957\u4ef6\u7684\u9f99\u67b6\u6784\u79fb\u690d\u5de5\u4f5c\u4e86\uff0c\\n\u4e5f\u6709\u540c\u5b66\u5728\u9f99\u67b6\u6784\u4e0a\u521d\u6b65\u8dd1\u8d77\u4e86 NixOS\u3002\\n\u671f\u5f85 :ta: \u4eec\u5e26\u7740\u6574\u7406\u597d\u7684\u4ee3\u7801\u6b63\u5f0f\u51fa\u9053\uff01:smirk_cat:\\n\\n\u7b14\u8005\u4ecd\u5728\u4e0d\uff08b\u01cei\uff09\u614c\uff08m\xe1ng\uff09\u4e0d\uff08zh\u012b\uff09\u5fd9\uff08zh\u014dng\uff09\u7ee7\u7eed 3A6000/LA664 \u7684\u6d4b\u8bd5\u5de5\u4f5c\u3002\\n\u622a\u81f3\u76ee\u524d\uff1a\\n\\n* \u8bc1\u5b9e\u5230\u4e86 LA664 \u4e8c\u8fdb\u5236\u7ffb\u8bd1\u52a0\u901f\u5355\u5143\u7684\u541e\u5410\u63d0\u5347\uff0c\\n* \u53d1\u73b0\u524d\u51e0\u671f\u63d0\u5230\u7684\u786c\u4ef6\u9875\u8868\u904d\u5386\u52a0\u901f\u5355\u5143\uff08PTW\uff09\u88ab\u56fa\u4ef6\u5173\u95ed\u4e86\uff08\u53ef\u80fd\u6709 bug \u5bfc\u81f4\u4e0d\u80fd\u7528\uff09\uff0c\\n* \u4ecd\u672a\u786e\u8ba4\u5230 LA664 \u76f8\u6bd4 LA464 \u65b0\u589e\u7684\u4efb\u4f55\u6307\u4ee4\u3002\\n\\n\u6b64\u5916\uff0cLA664 \u7684 `CPUCFG` \u6570\u636e\u4e2d\u6709\u4e0d\u5c11\u672a\u77e5\u4f4d\u57df\u88ab\u7f6e\u4e86 `1`\uff0c\u4f46\u76ee\u524d\u5e76\u65e0\u4efb\u4f55\u65b9\u6cd5\u80fd\u83b7\u77e5\u5b83\u4eec\u7684\u540d\u5b57\u4e0e\u542b\u4e49\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-13","metadata":{"permalink":"/newsletter/this-week-in-loongarch-13","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-08-28-this-week-in-loongarch-13.mdx","source":"@site/newsletter/2023-08-28-this-week-in-loongarch-13.mdx","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-08-28T08:06:17.000Z","formattedDate":"2023\u5e748\u670828\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.43,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-13","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","authors":["xen0n"],"date":"2023-08-28T08:06:17.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","permalink":"/newsletter/this-week-in-loongarch-14"},"nextItem":{"title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-12"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n{/* truncate */}\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u7f8e\u897f\u65f6\u95f4\u5468\u65e5\u4e0b\u5348 3 \u70b9\u4e00\u523b\uff08\u4e2d\u56fd\u65f6\u95f4\u5468\u4e00\u65e9\u6668 6 \u70b9\uff09\uff0cLinus \u53d1\u5e03\u4e86 Linux 6.5 \u6b63\u5f0f\u7248\u3002\\n\u76f8\u6bd4\u4e8e Linux 6.4\uff0c\u5bf9\u9f99\u67b6\u6784\u800c\u8a00\uff0c\u8be5\u7248\u672c\u4e3b\u8981\u5305\u542b\u4e86\u4ee5\u4e0b\u4e00\u4e9b\u529f\u80fd\u53d8\u66f4\uff1a\\n\\n* \u9f99\u82af\u4e2d\u65ad\u63a7\u5236\u5668\u7684 bug \u4fee\u590d\uff08Jianmin Lv\u3001Liu Peibao\u3001Yinbo Zhu\uff09\u4e0e DT\u8bbe\u5907\u6811 \u5f15\u5bfc\u652f\u6301\uff08Binbin Zhou\uff09\u3002\\n* LS7A \u96c6\u6210\u58f0\u5361\u652f\u6301\uff08Yanteng Si\uff09\u3002\\n* AMD RDNA2 \u663e\u5361\u652f\u6301\uff08WANG Xuerui\u3001Huacai Chen\uff09\u3002\\n* \u652f\u6301\u4ee5 LLVM/Clang \u6784\u5efa\u9f99\u67b6\u6784\u5185\u6838\u7684\u4e00\u79cd\u57fa\u672c\u914d\u7f6e\uff08WANG Xuerui\u3001WANG Rui\uff09\u3002\\n* 3A6000 \u9002\u914d\u5de5\u4f5c\uff08\u786c\u4ef6\u9875\u8868\u904d\u5386\u3001SMT\u3001\u5411\u91cf\u6269\u5c55\u6307\u4ee4\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u652f\u6301\u7b49\uff09\uff08Huacai Chen\uff09\u3002\\n* \u53d1\u73b0\u5e76\u4fee\u590d\u4e86\u7f16\u8bd1\u5668\u5b89\u5168\u5f3a\u5316\u624b\u6bb5\uff08`CONFIG_FORTIFY_SOURCE`\uff09\u672a\u80fd\u5b8c\u5168\u751f\u6548\u7684\u95ee\u9898\uff08Nathan Chancellor\u3001Nick Desaulniers\u3001WANG Xuerui\uff09\u3002\\n\\nLinux \u4e0a\u6e38\u793e\u533a\u4e0d\u4ec5\u7ef4\u62a4\u5185\u6838\uff0c\u4e5f\u5305\u62ec\u8bb8\u591a Linux \u7684\u5468\u8fb9\u8f6f\u4ef6\u3001\u652f\u6301\u5e93\u7b49\u3002\\n\\n* nolibc \u7684 stack protector \u652f\u6301\uff08Thomas Wei\xdfschuh\uff09\u3002\\n* `perf` \u547d\u4ee4\u7684\u9f99\u67b6\u6784\u6c47\u7f16\u5904\u7406\u4fee\u590d\uff08WANG Rui\uff09\u4ee5\u53ca\u4e00\u4e9b\u65e5\u5e38\u6027\u8d28\u7684\u4ee3\u7801\u6574\u7406\u5de5\u4f5c\uff08Tiezhu Yang\uff09\u3002\\n\\n\u867d\u7136\u9f99\u82af\u56e2\u961f\u5bf9\u5176 MIPS \u65f6\u4ee3\u4ea7\u54c1\u7684\u4e3b\u7ebf\u7ef4\u62a4\u5de5\u4f5c\u5f3a\u5ea6\u5df2\u5927\u4e0d\u5982\u524d\\n\uff08\u5728\u9f99\u82af MIPS \u4ea7\u54c1\u7ebf\u88ab\u780d\u4e4b\u524d\uff0c\u8fd9\u4e9b\u4ea7\u54c1\u672a\u80fd\u7b49\u5230\u5b8c\u5584\u7684\u4e3b\u7ebf\u652f\u6301\u3002\\n\u56e0\u6b64\u540e\u7eed\u5373\u4fbf\u9f99\u82af\u8981\u4e3a\u5176 MIPS \u4ea7\u54c1\u63d0\u4f9b\u6280\u672f\u652f\u6301\uff0c\u4e5f\u4e0d\u5fc5\u975e\u5f97\u5c06\u8fd9\u4e9b\u6210\u679c\u5408\u5e76\u56de\u4e3b\u7ebf\u4e86\uff09\uff0c\\n\u8fd9\u4e9b\u4ea7\u54c1\u4ecd\u7136\u5728\u5f97\u5230\u793e\u533a\u3001\u9f99\u82af\u5f00\u53d1\u8005\u7684\u90e8\u5206\u652f\u6301\u3002\\n\\n* \u9f99\u82af 1 \u53f7\u7684 PWM \u5b9a\u65f6\u5668/\u65f6\u949f\u6e90\u3001\u770b\u95e8\u72d7\u652f\u6301\uff08Keguang Zhang\uff09\u3002\\n* \u4e3a\u9f99\u82af 2K1000 SoC\u3001LS7A \u6865\u7247\u7684 MIPS \u7cfb\u7edf\u542f\u7528\u677f\u8f7d RTC \u652f\u6301\uff08Binbin Zhou\uff09\u3002\\n* MIPS KVM \u7a7a\u6307\u9488\u5f15\u7528\u4fee\u590d\u3001MIPS \u9f99\u82af\u5185\u6838\u7684\u7f16\u8bd1\u9519\u8bef\u4fee\u590d\u7b49\uff08Huacai Chen\uff09\u3002\\n\\n\u9664\u4ee5\u4e0a\u53d8\u66f4\u4e4b\u5916\uff0c\u8fd8\u6709\u8bb8\u591a\u540c\u7b49\u91cd\u8981\u7684\u7f3a\u9677\u4fee\u590d\u3001\u4ee3\u7801\u91cd\u6784\u7b49\u5de5\u4f5c\u503c\u5f97\u8912\u626c\u3002\\n\u8fd9\u4e2a\u7248\u672c\u52a8\u8fc7\u9f99\u82af\u76f8\u5173\u4ee3\u7801\u7684\u6240\u6709\u5f00\u53d1\u8005\u4eec\uff08\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5e8f\uff0c\u4ee5 Git \u63d0\u4ea4\u8bb0\u5f55\u4e2d\u7684\u4f5c\u8005\u5b57\u6bb5\u4e3a\u51c6\uff09\uff1a\\n\\nimport ColumnedList from \'@site/src/components/ColumnedList\'\\n\\n\\n* Andy Shevchenko\\n* Arnaldo Carvalho de Melo\\n* Arnd Bergmann\\n* Binbin Zhou\\n* Chao Yu\\n* Chenguang Zhao\\n* Dan Carpenter\\n* Dave Airlie\\n* Donglin Peng\\n* Eric Lin\\n* Haoran Jiang\\n* Huacai Chen\\n* Ian Rogers\\n* Javier Martinez Canillas\\n* Jianmin Lv\\n* Jonathan Corbet\\n* Keguang Zhang\\n* Kuninori Morimoto\\n* Linus Torvalds\\n* Liu Peibao\\n* Marc Zyngier\\n* Masahiro Yamada\\n* Maxime Ripard\\n* Peter Zijlstra\\n* Sui Jingfeng\\n* Thomas Gleixner\\n* Thomas Wei\xdfschuh\\n* Thomas Zimmermann\\n* Tiezhu Yang\\n* WANG Rui\\n* WANG Xuerui\\n* Xi Ruoyao\\n* Yanteng Si\\n* Yinbo Zhu\\n* Yingkun Meng\\n* YingKun Meng\\n* Youling Tang\\n* Zhihong Dong\\n\\n\\n\u5f53\u4f60\u4f7f\u7528\u9f99\u67b6\u6784 Linux 6.5 \u65f6\uff0c\u522b\u5fd8\u4e86\u5411 :ta: \u4eec\u8868\u8fbe\u4e00\u58f0\u611f\u8c22\uff01\\n\\n:::info\\n\u672c\u8282\u62a5\u9053\u7684\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684 `git` \u64cd\u4f5c\u4ece Linux \u4ed3\u5e93\u4e2d\u83b7\u53d6\uff1a\\n\\n```sh\\ngit log --grep=\'[Ll]oong\' v6.4..v6.5\\n```\\n\\n:::\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n8 \u6708 28 \u65e5\uff0cLulu Cheng \u4e3a\u9f99\u67b6\u6784 `-O2` \u53ca\u66f4\u9ad8\u7684\u4f18\u5316\u7ea7\u522b[\u9ed8\u8ba4\u5f00\u542f\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628538.html)\u79fb\u9664\u975e\u5fc5\u8981\u7b26\u53f7\u6269\u5c55\u3001\u96f6\u6269\u5c55\u64cd\u4f5c\u7684\u4f18\u5316\uff0c\\n\u4e5f[\u5408\u5e76\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628534.html)\\n25 \u65e5 :ta: \u81ea\u5df1\u5199\u7684\u907f\u514d `SLT` \u6307\u4ee4\u5f15\u8d77\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u52a8\u4f5c\u7684\u8865\u4e01\u3002\\n\\n#### LLVM\\n\\n8 \u6708 25 \u65e5\uff0cSixWeining [\u4f18\u5316\u4e86](https://reviews.llvm.org/D158832)\u9f99\u67b6\u6784\u7684\u4f4d\u57df\u6e05\u96f6\u64cd\u4f5c\uff0c\u57fa\u672c\u4e0a\u6bcf\u5904\u53ef\u4ee5\u7701 1 \u6761\u6307\u4ee4\u3002\\n\\n8 \u6708 23 \u65e5\uff0cAmi-zhang \u4e3a MSan [\u589e\u52a0\u4e86](https://reviews.llvm.org/D158587)\u9f99\u67b6\u6784\u53ef\u53d8\u53c2\u6570\u5217\u8868\u51fd\u6570\u7684\u652f\u6301\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 24 \u65e5\uff0cSong Gao [\u53d1\u51fa\u4e86](https://patchew.org/QEMU/20230824092409.1492470-1-gaosong@loongson.cn/)\\nQEMU 8.2 \u7684\u9f99\u67b6\u6784 target \u76f8\u5173\u6539\u52a8\u7684 PR\u3002\\n\u5176\u4e2d\u5305\u542b\u4e86\uff1a\\n\\n* LA32 \u652f\u6301\uff08Jiajie Chen\uff09\uff0c\\n* \u5728\u7ffb\u8bd1\u6269\u5c55\u6307\u4ee4\u524d\u8fdb\u884c\u66f4\u5b8c\u5584\u7684\u524d\u7f6e\u6761\u4ef6\u68c0\u67e5\uff08Song Gao\uff09\uff0c\\n* \u8fb9\u6cbf\u89e6\u53d1\u4e2d\u65ad\u7684\u4fee\u590d\uff08Bibo Mao\uff09\uff0c\u4ee5\u53ca\\n* \u4e3a CSR \u5199\u64cd\u4f5c\u6dfb\u52a0\u65e5\u5fd7\uff0c\u4ee5\u53ca\u4ee3\u7801\u91cd\u6784\uff08Philippe Mathieu-Daud\xe9\uff09\u3002\\n\\n\uff08\u611f\u8c22 Jiajie Chen \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n\u540c\u4e00\u5929\uff0cKatyushaScarlet 7 \u6708 22 \u65e5\u4e3a google/cpufeatures \u5e93\u505a\u7684\u9f99\u67b6\u6784\u9002\u914d[\u4e5f\u8fdb\u5165\u4e86\u4e3b\u7ebf](https://github.com/google/cpu_features/pull/314)\uff0c\\n\u9884\u8ba1\u5c06\u5728\u6b64\u5e93\u7684 v0.9.0 \u7248\u672c\u53d1\u5e03\u3002\uff08\u611f\u8c22 KatyushaScarlet \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"these-weeks-in-loongarch-12","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-12","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-08-22-these-weeks-in-loongarch-12.md","source":"@site/newsletter/2023-08-22-these-weeks-in-loongarch-12.md","title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-08-21T17:07:50.000Z","formattedDate":"2023\u5e748\u670821\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.845,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-12","title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","authors":["xen0n"],"date":"2023-08-21T17:07:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","permalink":"/newsletter/this-week-in-loongarch-13"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","permalink":"/newsletter/this-week-in-loongarch-11"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u7684\u73b0\u5b9e\u751f\u6d3b\u51fa\u73b0\u53d8\u6545\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e09\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nxen0n \u4f7f\u7528\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u505a\u7684 RAID5\u3001RAID6 \u8ba1\u7b97\u4f18\u5316\u5df2[\u88ab linux-raid \u7ef4\u62a4\u8005\u63a5\u53d7](https://lore.kernel.org/linux-raid/CAPhsuW5J_wUGmU+1tvzTqmpJSRrJicXoNmp+-ftDuHuhBcbkqA@mail.gmail.com/T/#t)\uff0c\u5df2\u5728\u6700\u65b0 linux-next \u53ef\u7528\u3002\\n\u76f8\u6bd4\u901a\u7528\u7684\u6807\u91cf\u7b97\u6cd5\uff0c\u5411\u91cf\u52a0\u901f\u53ef\u4f7f\u8fd9\u4e9b\u64cd\u4f5c\u7684\u6027\u80fd\u63d0\u5347 1~3 \u500d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n8 \u6708 15 \u65e5\uff0cChenghui Pan \u4e0e Lulu Cheng \u7b49\u4eba\u7684\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u4e0a\u6e38\u8865\u4e01\u5df2\u7ecf[\u7ffb\u65b0\u5230\u4e86\u7b2c 4 \u7248](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627413.html)\u3002\\n\u4e0d\u8fc7\u4ecd\u7136\u6ca1\u6709\u5c06\u8865\u4e01\u62c6\u5f97\u66f4\u7ec6\uff0c\u4e5f\u4ecd\u7136\u6709\u4e00\u4e9b\u5c0f\u7ec6\u8282\u9700\u8981\u6253\u78e8\u3002\\n\u597d\u4e8b\u591a\u78e8\uff01\\n\\n8 \u6708 6 \u65e5\uff0cJiajie Chen [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626413.html)\\n32 \u4f4d\u9f99\u67b6\u6784\uff08LA32\uff09\u7684 GCC \u652f\u6301\u8865\u4e01\u3002\\n\u8be5\u540c\u5b66\u662f\u8fd1\u4e00\u6bb5\u65f6\u95f4\u4ee5\u6765\u7684\u65b0\u9c9c\u9762\u5b54\uff0c\u4e14\u5e76\u975e\u9f99\u82af\u5458\u5de5\uff0c\u6b22\u8fce\u6b22\u8fce\uff01\\n\uff08\u611f\u8c22 xry111 \u7684\u7ebf\u7d22\u6295\u9012\uff1b\u4ed6\u8fd8\u6709\u53e5\u5410\u69fd\uff1a\u5efa\u8bae\u5927\u5bb6\u522b\u5728\u8111\u5b50\u91cc\u603b\u628a 32 \u4f4d ISA \u8ddf 32 \u4f4d ABI \u201c\u5f3a\u7ed1\u5b9a\u201d\u4e00\u8d77\u3002\uff09\\n\\n#### LLVM\\n\\n8 \u6708 21 \u65e5\uff0cwangleiat \u5c06\u9f99\u67b6\u6784\u7684\u6808\u91cd\u5bf9\u9f50\u64cd\u4f5c\u5b9e\u73b0\u65b9\u5f0f\u4ece\u4e24\u6761\u79fb\u4f4d\uff08RISC-V \u505a\u6cd5\uff09[\u4f18\u5316\u5230\u4e86](https://reviews.llvm.org/D158384)\u4e00\u6b21 `bstrins`\u3002\\n\\n8 \u6708 19 \u65e5\uff0cwangleiat \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1\u505a\u7684 Clang \u9f99\u67b6\u6784\u5411\u91cf\u64cd\u4f5c intrinsics\\n\u652f\u6301\u8865\u4e01\uff08[LSX](https://reviews.llvm.org/D155829)\u3001[LASX](https://reviews.llvm.org/D155830)\uff09\\n\u4e0e leecheechen \u8865\u7684\u76f8\u5173\u6d4b\u8bd5\u7528\u4f8b\uff08[LSX](https://reviews.llvm.org/D155834)\u3001[LASX](https://reviews.llvm.org/D155835)\uff09\u3002\\n\\n8 \u6708 9 \u65e5\uff0cwangleiat \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1 2 \u53f7\u505a\u7684\u4e00\u7ec4 Clang \u9f99\u67b6\u6784 intrinsics \u76f8\u5173\u7684[\u4ee3\u7801\u91cd\u6784](https://reviews.llvm.org/D156866)\u3002\\n\\n\u540c\u4e00\u5929\uff0cSixWeining \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1 1 \u53f7\u4e3a LLD \u65b0\u589e\u7684 [`R_LARCH_PCREL20_S2` \u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7c7b\u578b\u652f\u6301](https://reviews.llvm.org/D156772)\uff1b\\n\u8fd8\u628a\u5148\u524d\u88ab\u53d1\u73b0\u6709\u95ee\u9898\u7684 `-march=`\u3001`-mtune=` \u9009\u9879\u652f\u6301\u8865\u4e01[\u6700\u7ec8\u4fee\u597d\u4e86](https://reviews.llvm.org/D155824)\u3002\\n\\n8 \u6708 8 \u65e5\uff0cSixWeining [\u4fee\u590d\u4e86](https://reviews.llvm.org/D156116)\u9f99\u67b6\u6784 Clang \u4e0e GCC \u6240\u5b9e\u73b0\u7684 C++ ABI \u7684\u4e00\u5904\u4e0d\u4e00\u81f4\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 17 \u65e5\uff0ccaiyinyu \u5408\u5e76\u4e86 8 \u6708 4 \u65e5 dengjianbo \u5728 glibc \u90ae\u4ef6\u5217\u8868[\u8d34\u51fa\u7684](https://sourceware.org/pipermail/libc-alpha/2023-August/150671.html)\u4f7f\u7528\u9f99\u67b6\u6784\u5411\u91cf\u6307\u4ee4\u4f18\u5316\u7684\u5b57\u7b26\u4e32\u64cd\u4f5c\u5b9e\u73b0\u3002\\n\u4ece\u90ae\u7bb1\u5730\u5740\u770b\uff0c\u8fd9\u4f4d Deng \u59d3\u540c\u5b66\u662f\u9f99\u82af\u5458\u5de5\uff0c\u8fd9\u5e94\u8be5\u662f :ta: \u5728\u4e0a\u6e38\u7684\u9996\u79c0\u3002\u6b22\u8fce\u6b22\u8fce\uff01\\n\u8fd9\u4e5f\u610f\u5473\u7740\u80fd\u591f\u6784\u5efa\u9f99\u67b6\u6784 glibc 2.39 \u7684\u6700\u4f4e binutils \u7248\u672c\u4e0a\u5347\u5230\u4e86 2.41\u3002xry111 \u5bf9\u6b64\u6307\u51fa\uff1a\\n\u4e0e\u4e00\u4e9b\u5176\u4ed6\u9879\u76ee\u4e0d\u540c\uff0cglibc \u7684\u7ef4\u62a4\u8005\u4eec\u4e0d\u559c\u6b22\u68c0\u6d4b\u6c47\u7f16\u5668\u80fd\u529b\u5e76\u4ee5\u6b64\u51b3\u5b9a\u6253\u5f00\u6216\u662f\u5173\u95ed\u67d0\u4e9b\u529f\u80fd\u3002\\n\uff08\u611f\u8c22 xry111 \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n8 \u6708 16 \u65e5\uff0cDebian Ports \u9879\u76ee[\u6b63\u5f0f\u5c06\u9f99\u67b6\u6784\u52a0\u5165](https://lists.debian.org/debian-devel-announce/2023/08/msg00000.html)\u5176\u81ea\u52a8\u5316\u6784\u5efa\u68af\u961f\u3002\\n\u8fd9\u5929\u4e5f\u6070\u5de7\u662f Debian \u9879\u76ee\u521b\u7acb 30 \u5468\u5e74\u7684\u7eaa\u5ff5\u65e5\u3002\\n\u6b64\u4e8b\u4e5f\u5f97\u5230\u4e86\u77e5\u540d Linux \u5a92\u4f53 [Phoronix \u7684\u62a5\u9053](https://www.phoronix.com/news/Debian-Ports-LoongArch)\u3002\\n\\nLLD \u539f\u4f5c\u8005 Rui Ueyama \u5355\u98de\u540e\u521b\u7acb\u7684 mold \u9879\u76ee\uff0c\u5df2\u5728\u5176 8 \u6708 13 \u65e5\u6b63\u5f0f\u53d1\u5e03\u7684 2.1\\n\u7248\u672c\u4e2d[\u5305\u542b\u4e86](https://github.com/rui314/mold/pull/1081) Jinyang He \u57fa\u4e8e LLD\\nLoongArch port \u5199\u4f5c\u7684\u9f99\u67b6\u6784\u652f\u6301\u8865\u4e01\u3002\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/Mold-2.1-Adds-LoongArch)\u6b64\u4e8b\u3002\\n\uff08\u611f\u8c22 zhangn1985 \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u8fd9\u51e0\u5468\u6ca1\u6709\u7f51\u53cb\u6574\u5927\u6d3b\u7684\u5370\u8c61\uff0c\u53ef\u80fd\u662f\u7b14\u8005\u6ca1\u5173\u6ce8\uff0c\u4e5f\u53ef\u80fd\u786e\u5b9e\u98ce\u5e73\u6d6a\u9759\u3002\\n\u4e0d\u8fc7\u7b14\u8005\u548c\u5176\u4ed6\u5f88\u591a\u540c\u5b66\u90fd\u9646\u7eed\u62ff\u5230/\u4e70\u5230\u4e86 3A6000 \u677f\u5b50\uff0c\u9884\u8ba1\u6709\u5f88\u591a\u6298\u817e\u6210\u679c\u5c06\u4e0d\u65e5\u516c\u5e03 :wink:\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-11","metadata":{"permalink":"/newsletter/this-week-in-loongarch-11","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-31-this-week-in-loongarch-11.md","source":"@site/newsletter/2023-07-31-this-week-in-loongarch-11.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-31T12:21:17.000Z","formattedDate":"2023\u5e747\u670831\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.545,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-11","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","authors":["xen0n"],"date":"2023-07-31T12:21:17.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-12"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","permalink":"/newsletter/this-week-in-loongarch-10"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n7 \u6708 31 \u65e5\uff0cxen0n \u5728\u505a RAID6 \u9f99\u67b6\u6784\u5411\u91cf\u4f18\u5316\u7684\u8fc7\u7a0b\u4e2d\uff0c\\n\u987a\u5e26[\u4fee\u590d\u4e86](https://lore.kernel.org/linux-raid/20230731104911.411964-1-kernel@xen0n.name/)\u5e74\u4e45\u5931\u4fee\u7684 `raid6test` \u8c03\u8bd5\u5de5\u5177\u3002\\n\\n\u4e2d\u56fd\u65f6\u95f4 7 \u6708 31 \u65e5\u51cc\u6668\uff0cLinus [tagged](https://lore.kernel.org/lkml/CAHk-=wik9NO9Un-OU0rVeo1+dp=6vj=s=K0T=uBVEa+Aqkj66w@mail.gmail.com/) Linux v6.5-rc4\u3002\\n\u5176\u4e2d\u7684\u9f99\u67b6\u6784\u53d8\u66f4\u5305\u542b\u4e86[\u9488\u5bf9 binutils 2.41 \u7684\u6784\u5efa\u4fee\u590d\u8865\u4e01](https://github.com/torvalds/linux/commit/03c53eb90c0c61885b2175adf8675fb56df7f8db)\uff0c\\n\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u81ea\u884c\u53d6\u7528\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n7 \u6708 30 \u65e5\u665a\u95f4\uff0cbinutils 2.41 [\u6b63\u5f0f\u53d1\u5e03](https://sourceware.org/pipermail/binutils/2023-July/128719.html)\u3002\\n\u76f8\u5173\u53d8\u66f4\u5185\u5bb9\u5df2\u5728[\u5468\u62a5\u7b2c 7 \u671f](./2023-07-03-this-week-in-loongarch-7.md)\u62a5\u9053\u3002\\n\\n7 \u6708 29 \u65e5\uff0cLLVM 17.0.0-rc1 [\u53d1\u5e03](https://discourse.llvm.org/t/llvm-17-0-0-rc1-tagged/72404)\u3002\\n\u9664\u4e86\u5df2\u5728[\u5468\u62a5\u7b2c 10 \u671f](./2023-07-24-this-week-in-loongarch-10.md)\u62a5\u9053\u7684\u53d8\u66f4\u4e4b\u5916\uff0c\u5176\u4e2d\u91cd\u8981\u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\u8fd8\u6709\uff1a\\n\\n* LLD \u73b0\u5df2\u652f\u6301\u9f99\u67b6\u6784\uff08by xen0n\uff09\u3002\\n \u5728 LLVM\u3001QEMU\u3001Linux \u7b49\u5927\u578b\u9879\u76ee\u4e0a\u6d4b\u8bd5\u53ef\u7528\uff0c\u4e5f\u6d4b\u8bd5\u8fc7\u53ef\u4ee5\u81ea\u4e3e Gentoo LLVM stage\u3002\\n* Clang \u5728\u9f99\u67b6\u6784\u4e0a\u652f\u6301\u4e86 `-march=` `-mtune=` \u9009\u9879\uff0c\\n \u4ee5\u53ca\u76f8\u5e94\u7684\u5185\u5efa\u9884\u5904\u7406\u5668\u7b26\u53f7 `__loongarch_arch`\u3001`__loongarch_tune`\uff08by SixWeining\uff09\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\nGNOME3 \u5df2\u5728 Gentoo/LoongArch \u4e0a\u8bc1\u5b9e\u53ef\u7528\u5e76 keyworded\u3002\\n\u76f8\u5e94\u5730\uff0cGNOME \u4e0e Plasma \u7684 desktop profiles \u4e5f\u5728\u672c\u5468\u6dfb\u52a0\u4e86\u3002\\n\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u4ee5\u5229\u7528\u5b83\u4eec\u6765\u7ed9\u81ea\u5df1 `make.conf` \u7b49\u7b49\u914d\u7f6e\u7626\u8eab\u4e86\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n7 \u6708 31 \u65e5\uff0cxen0n \u5b8c\u6210\u4e86 Linux RAID 5/6 \u8ba1\u7b97\u7684 LSX\u3001LASX \u79fb\u690d\uff08\u6027\u80fd\u4e0d\u9519\uff09\uff0c\u9884\u8ba1\u5728\u672c\u5468\u5185\u63d0\u4ea4\u4e0a\u6e38\u3001\u89c1\u8bf8\u4e0b\u671f\u5468\u62a5\u3002\\n\\n7 \u6708 26 \u65e5\u665a\u95f4\uff0cxry111 [\u6ce8\u610f\u5230](https://github.com/openssl/openssl/pull/21530)\u9f99\u82af\u5458\u5de5\u5728\u4fee\u590d\\nOpenSSL \u7684\u9f99\u67b6\u6784 AES \u6c47\u7f16\u52a0\u901f\u7684\u6b63\u786e\u6027\uff0c\u8be5\u5458\u5de5\u63f4\u5f15\u300c\u6700\u65b0\u4fee\u8ba2\u7684 LoongArch64 \u5411\u91cf\u6307\u4ee4\u624b\u518c\u300d\uff1a\\n\u300c\u5bf9\u4e8e `vshuf.b` \u7684\u63a7\u5236\u5bc4\u5b58\u5668\u4e2d\u7684\u6bcf\u4e2a\u5b57\u8282\uff0c\u5176\u672a\u5b9a\u4e49\u7684\u6700\u9ad8 3 \u4f4d\u4e0d\u5e94\u88ab\u4f7f\u7528\uff0c\\n\u5426\u5219\u6307\u4ee4\u6267\u884c\u7ed3\u679c\u4e0d\u786e\u5b9a\u3002\u300dxry111 \u636e\u6b64\u6307\u51fa\uff1a\\n\\n> \u6839\u636e LA464 \u7684\u5b9e\u73b0\u201c\u731c\u201d\u7684\u5411\u91cf\u6307\u4ee4\u884c\u4e3a\u672a\u5fc5\u53ef\u9760\u3002\\n\\n\uff08\u7f16\u8005\u6ce8\uff1a\u5f88\u9057\u61be\uff0c\u8fd9\u610f\u5473\u7740\u6839\u636e QEMU \u5b9e\u73b0\u53cd\u63a8\u7684\u6307\u4ee4\u884c\u4e3a\u4e5f\u672a\u5fc5 100% \u5339\u914d\u771f\u5b9e\u6216\u672a\u6765\u786c\u4ef6\u884c\u4e3a\uff0c\\n\u56e0\u6b64\u4e0d\u57fa\u4e8e\u5b98\u65b9\u624b\u518c\u4e8c\u6b21\u521b\u4f5c\uff08\u8fd9\u76ee\u524d\u88ab\u7981\u6b62\uff09\u7684\u6307\u4ee4\u8bf4\u660e\u6587\u6863\u603b\u4e0d\u514d\u8981\u7ecf\u53d7\u4e9b\u540e\u77e5\u540e\u89c9\u7684\u4fee\u8ba2\u3002\\n\u4f46\u6709\u8fd9\u4e48\u4e00\u4efd\u8457\u4f5c\u6743\u4e0d\u53d7\u9650\u7684\u6587\u6863\u7684\u597d\u5904\u603b\u6bd4\u574f\u5904\u591a\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-10","metadata":{"permalink":"/newsletter/this-week-in-loongarch-10","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-24-this-week-in-loongarch-10.md","source":"@site/newsletter/2023-07-24-this-week-in-loongarch-10.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-24T05:56:50.000Z","formattedDate":"2023\u5e747\u670824\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.765,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-10","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","authors":["xen0n"],"date":"2023-07-24T05:56:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","permalink":"/newsletter/this-week-in-loongarch-11"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","permalink":"/newsletter/this-week-in-loongarch-9"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n* 7 \u6708 24 \u65e5\uff0cHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20230722072201.2677516-1-chenhuacai@loongson.cn/)\u4e00\u7248\u6d4b\u8bd5\u8865\u4e01\uff0c\\n \u4ee5\u5141\u8bb8\u5185\u6838\u81ea\u8eab\u4f7f\u7528 LSX/LASX \u4e3a\u7279\u5b9a\u64cd\u4f5c\u52a0\u901f\u3002xen0n \u5c06\u5f88\u5feb\u57fa\u4e8e\u6b64\u8865\u4e01\u4f18\u5316\u9f99\u67b6\u6784\u4e0a\u7684 RAID5/6 \u8ba1\u7b97\u6027\u80fd\u3002\\n* 7 \u6708 19 \u65e5\uff0c\u6765\u81ea\u9e92\u9e9f\u7684 Enze Li [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230719082732.2189747-1-lienze@kylinos.cn/)\u9f99\u67b6\u6784\u7684\\n [KFENCE](https://www.kernel.org/doc/html/latest/dev-tools/kfence.html) \u9002\u914d\u3002KFENCE\uff08Kernel Electric-Fence\uff0c\u201c\u5185\u6838\u7535\u5b50\u56f4\u680f\u201d\uff09\\n \u662f\u57fa\u4e8e\u91c7\u6837\u7684\u4f4e\u5f00\u9500\u5185\u5b58\u5b89\u5168\u68c0\u67e5\u5de5\u5177\uff0c\u53ef\u4ee5\u5e2e\u52a9\u68c0\u67e5\u5806\u8d8a\u754c\u8bbf\u95ee\u3001\u91ca\u653e\u540e\u4f7f\u7528use-after-free\u3001\u975e\u6cd5\u91ca\u653e\u5185\u5b58\u7b49\u5e38\u89c1\u7684\u5185\u5b58\u5b89\u5168 bug\u3002\\n* 7 \u6708 18 \u65e5\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Dan Carpenter \u4e3a\u9f99\u82af\u96c6\u663e\u663e\u63a7\u9a71\u52a8[\u589e\u52a0\u4e86](https://lore.kernel.org/dri-devel/0da6859b-40cc-4b3e-b8b6-fed157517083@moroto.mountain/T/#u)\u4e00\u5904\u9519\u8bef\u5904\u7406\u3002\\n \u7531\u4e8e\u9f99\u82af\u7684\u4ee3\u7801\u7ef4\u62a4\u8005\u4f3c\u4e4e\u4e00\u5f00\u59cb\u5e76\u4e0d\u60f3\u63a5\u53d7\u8be5\u8865\u4e01\uff0c\u52a0\u4e4b\u4f7f\u7528\u4e86\u9519\u8bef\u7684\u82f1\u8bed\u8868\u8fbe\uff0c\u5dee\u70b9\u5435\u8d77\u6765\uff0c\u8fd8\u597d\u540e\u8fb9\u548c\u5e73\u89e3\u51b3\u4e86\u3002\\n \uff08\u7b14\u8005\u5e76\u672a\u53c2\u4e0e\u8c03\u89e3\uff0c\u4f46\u7591\u4f3c\u662f\u6709\u56fd\u4eba\u670b\u53cb\u770b\u61c2\u4e86\u4e2d\u5f0f\u82f1\u8bed\uff0c\u79c1\u804a\u544a\u77e5\u4e86 Dan \u9f99\u82af\u7ef4\u62a4\u8005\u5b9e\u9645\u60f3\u8868\u8fbe\u7684\u542b\u4e49\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### LLVM\\n\\n\u9884\u8ba1\u5728\u4e2d\u56fd\u65f6\u95f4 7 \u6708 25~26 \u65e5\u671f\u95f4\uff0cLLVM 17 \u5c06\u4ece\u4e3b\u7ebf\u5207\u51fa\uff0c\u5982\u65e0\u91cd\u5927\u4e8b\u4ef6\u5219\u9884\u8ba1\u5728 6 \u5468\u540e\u6b63\u5f0f\u53d1\u5e03\u3002\\n\u8be5\u7248\u672c\u5982\u540c binutils 2.41\uff0c\u4e5f\u5c06\u5305\u542b\u5b8c\u6574\u7684 LA64 v1.00 \u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\u3002LLD \u7684\u9f99\u67b6\u6784\u79fb\u690d\u9884\u8ba1\u4e0d\u4f1a\u5728\u672c\u5468\u5185\u5b8c\u6210\uff08\u5c3d\u7ba1\u8fdb\u884c\u5230\u4e86\u6700\u540e\u7684\u5fae\u8c03\u5de5\u4f5c\uff09\uff0c\\n\u4f46\u7ecf\u4e0a\u6e38\u7ef4\u62a4\u8005 MaskRay \u8bc1\u5b9e\uff0c\u4e00\u65e6\u5176\u4ee3\u7801\u901a\u8fc7\u5ba1\u67e5\uff0c\u4e5f\u5c06\u80fd\u591f\u8fdb\u5165 LLVM 17 \u53d1\u5e03\u5206\u652f\u3002\\n\\n7 \u6708 21 \u65e5\uff0cwangleiat [\u63d0\u4ea4\u4e86](https://reviews.llvm.org/D155917)\u9f99\u67b6\u6784\u865a\u62df\u5316\u6269\u5c55\uff08LVZ\uff09\\n\u4e0e\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u7684\u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\uff0c\u5df2\u4e8e 7 \u6708 24 \u65e5\u8fdb\u5165\u4e3b\u7ebf\uff0c\\n\u8d76\u4e0a\u4e86 LLVM 17 \u7684\u53d1\u5e03\u8282\u594f\u3002\\n\\n7 \u6708 20 \u65e5\uff0cwangleiat \u4e3a Clang \u589e\u52a0\u4e86 [LSX](https://reviews.llvm.org/D155829)\\n\u4e0e [LASX](https://reviews.llvm.org/D155830) \u7684 intrinsics \u652f\u6301\uff0c\\n\u7b2c\u4e8c\u5929 leecheechen \u4e3a\u5b83\u4eec\u5206\u522b[\u8865\u4e0a](https://reviews.llvm.org/D155834)\u4e86[\u6d4b\u8bd5](https://reviews.llvm.org/D155835)\u3002\\n\\n7 \u6708 20 \u65e5\uff0cSixWeining \u4e5f\u4e3a Clang [\u589e\u52a0\u4e86](https://reviews.llvm.org/D155824)\\n`-march=native` \u4e0e `-mtune=` \u547d\u4ee4\u884c\u9009\u9879\u7684\u652f\u6301\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\\n\\n7 \u6708 21 \u65e5\uff0cxry111 \u5411 OpenSSL \u9879\u76ee\u63d0\u4ea4\u4e86[\u8fd0\u884c\u65f6\u52a8\u6001\u68c0\u6d4b\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u652f\u6301](https://github.com/openssl/openssl/pull/21509)\u4e0e[\u6784\u5efa\u65f6\u6b63\u786e\u68c0\u6d4b\u9f99\u67b6\u6784](https://github.com/openssl/openssl/pull/21510)\u7684\u8865\u4e01\u3002\u8fd9\u80fd\u4fee\u590d OpenSSL 3.1.x \u7684\u9f99\u67b6\u6784\u914d\u7f6e\u4e0d\u80fd\u642d\u914d\u6ca1\u6709\u5411\u91cf\u652f\u6301\u7684\u5de5\u5177\u94fe\u4f7f\u7528\u7684\u95ee\u9898\u3002\uff08\u5148\u524d\u9f99\u82af\u8d21\u732e\u7684\u4ee3\u7801\u672a\u8003\u8651\u8fd9\u4e00\u70b9\uff0c\u90a3\u4e9b\u5de5\u7a0b\u5e08\u5927\u6982\u7387\u672a\u5728\u793e\u533a\u53d1\u884c\u7248\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u6d4b\u8bd5\u3002\uff09\\n\\n7 \u6708 20 \u65e5\uff0cGentoo \u7684\u9f99\u67b6\u6784\u79fb\u690d\u4ece WD40no rust \u72b6\u6001[\u6bd5\u4e1a\u4e86](https://github.com/gentoo/gentoo/pull/31957)\u3002\\n\u5f85 LLD \u652f\u6301\u4e0a\u6e38\u540e\uff0c\u9884\u8ba1 GNOME3 \u7684 keywording \u5de5\u4f5c\u5c06\u80fd\u591f\u5f88\u5feb\u63a8\u8fdb\u4e86\u3002\\n\\n7 \u6708 19\u300120 \u65e5\uff0cKatyushaScarlet \u5411 [v2ray](https://github.com/v2fly/v2ray-core/pull/2609)\\n\u4e0e [Xray](https://github.com/XTLS/Xray-core/pull/2338) \u5206\u522b\u63d0\u4ea4\u4e86 `loong64`\\n\u7684\u9002\u914d\uff0c\u53ea\u9700\u63d0\u5347\u4e00\u4e2a\u4f9d\u8d56\u7684\u7248\u672c\u5373\u53ef\u7f16\u51fa\u9f99\u67b6\u6784\u7684\u4e8c\u8fdb\u5236\u4e86\u3002\\n\\n7 \u6708 17 \u65e5\uff0c\u9f99\u82af\u5728\u5176 GitHub \u7ec4\u7ec7\u4e0b[\u521b\u5efa\u4e86](https://github.com/loongson/la-softdev-convention)\u540d\u4e3a\\n`la-softdev-convention`\u201c\u9f99\u67b6\u6784\u8f6f\u4ef6\u5f00\u53d1\u7ea6\u5b9a\u201d\u7684\u4ed3\u5e93\uff0c\\n\u5185\u5bb9\u4e5f\u662f\u5148\u524d\u88ab\u5f52\u6863\u7684\u300a\u9f99\u67b6\u6784\u5de5\u5177\u94fe\u7ea6\u5b9a\u300b\u7b49\u6587\u6863\u7684\u5fae\u8c03\u3002\\n\u5982\u540c[\u5148\u524d\u7684 `la-abi-specs` \u4ed3\u5e93](https://github.com/loongson/la-abi-specs)\uff0c[\u5411\u8be5\u5e93\u8d21\u732e](https://github.com/loongson/la-softdev-convention/blob/master/CONTRIBUTING.md)\u4e5f\u9700\u8981\u7b7e\u7f72\u9f99\u82af CLA\u3002\\n\u76ee\u524d\u4ecd\u672a\u6709\u9f99\u82af CLA \u65b9\u9762\u7684\u516c\u5f00\u8fdb\u5ea6\uff0c\u4f46\u89c2\u5bdf\u5230 [@loongson-admin](https://github.com/loongson-admin)\\n\u8d26\u53f7\u4e0b\u51fa\u73b0\u4e86[\u4e00\u4e2a Canonical CLA \u81ea\u52a8\u5316\u6d41\u7a0b\u7684 GitHub Action \u5b9a\u4e49\u7684 fork](https://github.com/loongson-admin/has-signed-canonical-cla)\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-9","metadata":{"permalink":"/newsletter/this-week-in-loongarch-9","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-17-this-week-in-loongarch-9.md","source":"@site/newsletter/2023-07-17-this-week-in-loongarch-9.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-17T06:28:39.000Z","formattedDate":"2023\u5e747\u670817\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.555,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-9","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","authors":["xen0n"],"date":"2023-07-17T06:28:39.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","permalink":"/newsletter/this-week-in-loongarch-10"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 8 \u671f","permalink":"/newsletter/this-week-in-loongarch-8"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n7 \u6708 13 \u65e5\uff0chev [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20230713030453.7404-1-wangrui@loongson.cn/)\\n`copy_user_fast` \u548c `clear_user_fast` \u5404\u81ea\u5f02\u5e38\u5904\u7406\u8def\u5f84\u4e2d\u7684\u4e00\u5904\u4e0b\u6ea2\u3002\\n\\n7 \u6708 13 \u65e5\uff0cFreeFlyingSheep [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1689215889.git.chenfeiyang@loongson.cn/)\\nLS7A \u96c6\u6210\u7f51\u5361\u7684\u9a71\u52a8\u8865\u4e01\u8349\u7a3f\uff0c\u8bf7\u793e\u533a\u7ed9\u70b9\u610f\u89c1\u3002\\n\\n7 \u6708 11 \u65e5\uff0cxen0n \u5c06\u9f99\u67b6\u6784 CPU \u7a7a\u95f2\u65f6\u6267\u884c\u7684\u51fd\u6570\u540d\u5b57[\u52a0\u5165\u4e86](https://lore.kernel.org/loongarch/20230711102202.1206488-1-kernel@xen0n.name/)\\n`perf` \u5de5\u5177\u7684\u76f8\u5173\u5217\u8868\uff0c\u4ee5\u53bb\u9664 `perf` \u8f93\u51fa\u4e2d\u7684\u8fd9\u90e8\u5206\u566a\u58f0\u3002\\n\\n7 \u6708 10 \u65e5\uff0c[@specialpointcentral](https://github.com/specialpointcentral)\\n[\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230710124048.153562-1-huqi@loongson.cn/)\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u7684\u5185\u6838\u9002\u914d\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u8be5\u8865\u4e01[\u5df2\u8fed\u4ee3\u5230](https://lore.kernel.org/loongarch/20230714132121.107045-1-huqi@loongson.cn/)\u7b2c\u4e09\u7248\u3002\\n\\n7 \u6708 9 \u65e5\uff0c[@donmor](https://github.com/donmor) [\u5c1d\u8bd5\u4fee\u590d](https://lore.kernel.org/loongarch/MEYP282MB2597CD6E861D659E3218148DD933A@MEYP282MB2597.AUSP282.PROD.OUTLOOK.COM/)\u9f99\u67b6\u6784\u5185\u6838\u7684\u547d\u4ee4\u884c\u5904\u7406\uff0c\\n\u4f7f\u5176\u80fd\u6b63\u786e\u652f\u6301\u4ee5\u5185\u5efa\u547d\u4ee4\u884c\u6765\u6269\u5c55\u6216\u4ee3\u66ff\u5f15\u5bfc\u5668\u6240\u4f20\u7684\u547d\u4ee4\u884c\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u8be5\u8865\u4e01[\u5df2\u8fed\u4ee3\u5230](https://lore.kernel.org/loongarch/MEYP282MB2597514C7A4697A72F829B78D93BA@MEYP282MB2597.AUSP282.PROD.OUTLOOK.COM/)\u7b2c\u56db\u7248\u3002\\n\\n\\n### \u5de5\u5177\u94fe\\n\\n#### LLVM\\n\\n\u4e0a\u5468 7 \u6708 11 \u65e5\u5f00\u59cb hev \u9646\u7eed\u4ea4\u4e86\u4e00\u4e32\u4ee3\u7801\u751f\u6210\u4f18\u5316\uff1a[\u8865\u4e01\u4e00](https://reviews.llvm.org/D154762)\u3001[\u8865\u4e01\u4e8c](https://reviews.llvm.org/D154811)\u3001[\u8865\u4e01\u4e09](https://reviews.llvm.org/D154819)\u3001[\u8865\u4e01\u56db](https://reviews.llvm.org/D154919)\uff0c\u4e3b\u8981\u90fd\u662f\u544a\u8bc9 LLVM \u4f18\u5316\u5668\u66f4\u591a\u76f8\u5173\u4fe1\u606f\u4ee5\u8f85\u52a9\u5176\u51b3\u7b56\u3002\\n\\n\u540c\u6837\u5728 7 \u6708 11 \u65e5\uff0cleecheechen \u4e3a Clang [\u589e\u52a0\u4e86](https://reviews.llvm.org/D154931) LSX/LASX \u7684\u5185\u8054\u6c47\u7f16\u652f\u6301\u3002\\n\\nxen0n \u4e5f\u5728\u8fd9\u4e00\u5929[\u6574\u7406\u4e86](https://reviews.llvm.org/D154916)\u9f99\u67b6\u6784\u6307\u4ee4\u5b9a\u4e49\u6587\u4ef6\u8ba9\u5b83\u6e05\u723d\u4e00\u70b9\uff0c\u4e5f\u4e3a\u63a5\u4e0b\u6765\u7684\u91cd\u6784\u4f5c\u51c6\u5907\u3002\\n\\n#### Rust\\n\\n\u4e2d\u56fd\u65f6\u95f4 7 \u6708 13 \u65e5\u665a\u95f4\uff0cRust 1.71.0 [\u6b63\u5f0f\u53d1\u5e03](https://blog.rust-lang.org/2023/07/13/Rust-1.71.0.html)\u3002\\n\u9f99\u67b6\u6784\u5728\u8be5\u7248\u672c\u9996\u6b21\u4f5c\u4e3a Tier 2 with host tools\u5e26\u5bbf\u4e3b\u5de5\u5177\u7684\u4e8c\u7ea7\u67b6\u6784 \u83b7\u5f97\u652f\u6301\u3002\\n\u5df2\u7ecf\u53ef\u4ee5\u901a\u8fc7 rustup \u88c5\u4e0a\u6807\u51c6\u5e93\uff0c\u7528\u6765\u4ea4\u53c9\u7f16\u8bd1\u4e86\uff08\u5f53\u7136\uff0c\u76ee\u524d\u4ecd\u9700\u81ea\u884c\u51c6\u5907 C/C++ \u4ea4\u53c9\u5de5\u5177\u94fe\uff09\u3002\\n\\n```sh-session\\n$ rustup target list | grep loong\\nloongarch64-unknown-linux-gnu (installed)\\n```\\n\\n\u5728\u6b64\u4e4b\u540e\uff0c\u4e3a\u4e86\u9f99\u67b6\u6784\u7535\u8111\u7528\u6237\u4e5f\u80fd\u65b9\u4fbf\u4f7f\u7528\u5b98\u65b9\u5b89\u88c5\u6e20\u9053\\n[rustup.rs](https://rustup.rs/)\uff0chev [\u63d0\u4ea4\u4e86](https://github.com/rust-lang/rustup/pull/3405)\u4e3a\u5176\u7a33\u5b9a\u5206\u652f\\n\u5f00\u542f\u9f99\u67b6\u6784\u4e8c\u8fdb\u5236\u6784\u5efa\u7684\u53d8\u66f4\u5e76\u8bf7\u6c42\u53d1\u5e03\u65b0\u7248\uff0cxen0n [\u6574\u4e86\u4e2a\u6d3b:\u513f:](https://github.com/rust-lang/rustup/pull/3404)\u8ba9\u5b89\u88c5\u811a\u672c\u53ef\u4ee5\u8bc6\u522b\u65b0\u65e7\u4e16\u754c\uff0c\u4e3a\u65e7\u4e16\u754c\u7528\u6237\u62a5\u4e2a\u53cb\u597d\u7684\u9519\u3002\\n\\n### \u6742\u9879\\n\\n\u777d\u8fdd\u4e24\u5e74\uff0cGNU GRUB \u7684 2.12-rc1 \u7248\u672c\u5728 7 \u6708 10 \u65e5[\u6b63\u5f0f\u88ab tagged](https://lists.gnu.org/archive/html/grub-devel/2023-07/msg00029.html)\u3002\\n2.12 \u6b63\u5f0f\u7248\u9884\u8ba1\u5c06\u5728\u4e00\u4e2a\u6708\u5185\u53d1\u5e03\uff0c\u5c4a\u65f6\u6240\u6709\u53d1\u884c\u7248\u90fd\u53ef\u4ee5\u4e22\u6389\u4e00\u5768\u8865\u4e01\u4e86\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u65e5\u524d Deepin \u793e\u533a\u6280\u672f\u59d4\u5458\u4f1a\uff08TC\uff09\u5728\u4f8b\u4f1a\u4e0a[\u8ba8\u8bba\u4e86](https://www.freelists.org/post/deepin-devel/-230628)\u5408\u5e76\u9f99\u67b6\u6784\u652f\u6301\u7684\u4e00\u4e9b\u6f5c\u5728\u95ee\u9898\u7b49\u3002\\n\u4f1a\u8bae\u4e5f\u8ba8\u8bba\u4e86 RISC-V \u79fb\u690d\u7684\u7c7b\u4f3c\u95ee\u9898\u3002\uff08\u611f\u8c22 Revy \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\nxen0n [\u6574\u4e86](https://gist.github.com/xen0n/5ee04aaa6cecc5c7794b9a0c3b65fc7f)\u4e2a\\n156 \u5b57\u8282\u7684\u65b0\u65e7\u4e16\u754c\u5185\u6838 ABI \u68c0\u6d4b\u5de5\u5177\\n\uff08\u770b\u6e90\u7801\u9700\u8981\u68af\u5b50\uff0c\u4e0d\u8fc7\u603b\u5171\u4e5f\u6ca1\u51e0\u884c\uff0c\u590d\u6742\u5ea6\u4e3b\u8981\u5728\u4e8e ELF \u5934\u9700\u8981\u624b\u5de5\u6784\u9020\uff09\u3002\\n\\nTry it yourself!\\n\\n```sh-session\\n# highlight-next-line\\n$ base64 -d > check-new-world <pull request\u62c9\u53d6\u8bf7\u6c42 \u5df2[\u88ab Linus \u5408\u5e76][linux-loongarch-6.5]\u3002\\n\u5f53\u5929\u4e0b\u5348 Xi Ruoyao [\u63d0\u8bae][jump-label]\u5c06 `CONFIG_JUMP_LABEL` \u6027\u80fd\u4f18\u5316\u9009\u9879\u9ed8\u8ba4\u5f00\u542f\u3002\\n\\n6 \u6708 29 \u65e5\uff0cTianrui Zhao [\u8d34\u51fa\u4e86][loongarch-kvm-v16]\u7b2c 16 \u7248\u7684\u9f99\u67b6\u6784 KVM\u5185\u6838\u865a\u62df\u673a \u8865\u4e01\u3002\\n\u6b22\u8fce\u540c\u5b66\u4eec\u90fd\u6765\u770b\u770b\u3002\uff08\u611f\u8c22 [@Luo-Chang](https://github.com/Luo-Chang) \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n6 \u6708 28 \u65e5\uff0cClangBuiltLinux \u7ef4\u62a4\u8005 Nathan Chancellor \u4e3a\u8be5\u9879\u76ee\u7684CI\u6301\u7eed\u96c6\u6210\u57fa\u7840\u8bbe\u65bd[\u63d0\u4ea4\u4e86][cbl-boot-utils-loong]\u9f99\u67b6\u6784\u7684\u5f15\u5bfc\u6d4b\u8bd5\u652f\u6301\u3002\\n\u5341\u5206\u611f\u8c22\u56fd\u9645\u53cb\u4eba\u7684\u5bc6\u5207\u914d\u5408\uff08\u5e38\u5e38\u5728\u8865\u4e01\u53d1\u5e03\u3001\u5408\u5e76\u4e0d\u5230\u4e00\u5c0f\u65f6\u540e\u5c31\u884c\u52a8\u8d77\u6765\u4e86\uff09\uff01\\n\\n[linux-loongarch-6.5]: https://lore.kernel.org/loongarch/168814584495.9404.13332741026535742055.pr-tracker-bot@kernel.org/T/#t\\n[jump-label]: https://lore.kernel.org/loongarch/20230701083247.177482-1-xry111@xry111.site/\\n[loongarch-kvm-v16]: https://lore.kernel.org/loongarch/20230629075538.4063701-1-zhaotianrui@loongson.cn/\\n[cbl-boot-utils-loong]: https://github.com/ClangBuiltLinux/boot-utils/pull/109\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n\u4ee5\u4e0b\u5185\u5bb9\u5747\u5df2\u8fdb\u5165\u4e3b\u7ebf\uff0c\u9759\u5f85 binutils 2.41 \u53d1\u5e03\uff1a\\n\\n* FreeFlyingSheep [\u6dfb\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127873.html)\u4ee5 `$fcsrX` \u79f0\u547c FCSR\u6d6e\u70b9\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668 \u7684\u652f\u6301\u3002\\n :::info \u4ee5\u524d\u548b\u56de\u4e8b\\n \u4ee5\u524d\u8981\u7528 `$rX` \u79f0\u547c FCSR\uff0c\u4e5f\u5c31\u662f\u8bf4\uff1a\u5f53\u6210\u6574\u6570\u5bc4\u5b58\u5668\uff01\u8fd9\u663e\u7136\u4e0d\u5bf9\uff0c\u800c\u4e14\u8ddf LLVM \u4e5f\u4e0d\u517c\u5bb9\u3002\u73b0\u5728\u4e24\u79cd\u5199\u6cd5\u90fd\u652f\u6301\u4e86\uff0c\u65e7\u5199\u6cd5\u5148\u7559\u4e00\u9635\u5b50\u4e0d\u5220\uff0c\u65b9\u4fbf\u4e0b\u6e38\u8fc1\u79fb\u3002\\n :::\\n* mengqinggang \u6dfb\u52a0\u4e86 [LSX\u3001LASX]\u3001[LVZ\u3001LBT] \u7684\u6307\u4ee4\u5b9a\u4e49\u3002\\n* xen0n [\u6539\u8fdb\u4e86](https://sourceware.org/pipermail/binutils/2023-June/128082.html)\u9f99\u67b6\u6784\u6c47\u7f16\u5668\u3001\u53cd\u6c47\u7f16\u5668\u7684\u4e00\u7cfb\u5217\u884c\u4e3a\uff1a\\n - \u652f\u6301\u4ee5\u5f69\u8272\uff08\u8bed\u6cd5\u9ad8\u4eae\uff09\u663e\u793a\u53cd\u6c47\u7f16\u8f93\u51fa\u4e86\u3002\u53c2\u89c1 `--disassembler-color` \u9009\u9879\u7684\u5e2e\u52a9\u6587\u672c\u3002\\n - \u5728\u4e0d\u5f71\u54cd\u8bed\u4e49\u7684\u524d\u63d0\u4e0b\uff0c\u4f1a\u663e\u793a\u4e00\u4e9b\u4f2a\u6307\u4ee4\u4e86\u3002\\n - \u6709\u7b26\u53f7\u7acb\u5373\u6570\u540e\u8fb9\u4e0d\u4f1a\u6253\u5370\u5bf9\u5e94\u7684\u5341\u516d\u8fdb\u5236\u4f4d\u57df\u8868\u793a\u4e86\u3002\\n - \u672a\u77e5\u6307\u4ee4\u5b57\u5c06\u4f1a\u4ee5 `.word` \u4e3a\u52a9\u8bb0\u7b26\u7684\u5f62\u5f0f\u5c55\u793a\u4e86\u3002\\n - \u9075\u5faa\u89c4\u8303\u6587\u6863\uff0c\u5f03\u7528\u4e86 `$v[01]`\u3001`$fv[01]`\u3001`$x` \u51e0\u4e2a\u8fdc\u53e4\u65f6\u671f\u9057\u7559\u7684\u5bc4\u5b58\u5668\u522b\u540d\uff0c\u73b0\u5728\u4f7f\u7528\u5b83\u4eec\u5c06\u88ab\u8b66\u544a\u3002\\n :::info shenmegui\\n |\u5f03\u7528\u540d\u79f0|\u73b0\u884c\u540d\u79f0|\\n |--------|--------|\\n |`$v0`\u3001`$v1`|`$a0`\u3001`$a1`|\\n |`$fv0`\u3001`$fv1`|`$fa0`\u3001`$fa1`|\\n |`$x`|`$r21`|\\n \u663e\u7136\uff0c\u9664\u4e86\u4e0d\u89c1\u4e8e[\u6b63\u5f0f\u7248\u672c\u7684\u5bc4\u5b58\u5668\u7ea6\u5b9a][lapcs-regs]\u4e4b\u5916\uff0c\u8fd9\u4e9b\u53eb\u6cd5\u66f4\u4f1a\u4e0e\u5411\u91cf\u5bc4\u5b58\u5668\u7684\u6b63\u5f0f\u540d\u79f0 `$vrX`\u3001`$xrX` \u5f62\u6210\u4e25\u91cd\u6df7\u6dc6\u3002\\n :::\\n\\n[LSX\u3001LASX]: https://sourceware.org/pipermail/binutils/2023-June/127990.html\\n[LVZ\u3001LBT]: https://sourceware.org/pipermail/binutils/2023-June/128156.html\\n[lapcs-regs]: https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#the-registers\\n\\n#### GCC\\n\\n6 \u6708 30 \u65e5\uff0cChenghui Pan \u4ee3 Lulu Cheng [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623262.html)\\nLSX\u3001LASX \u7684\u4ee3\u7801\u751f\u6210\u652f\u6301\u3002\u8865\u4e01\u6bd4\u8f83\u5927\uff0c\u4e0d\u4fbf\u4ed4\u7ec6\u5ba1\u67e5\uff0c\u76ee\u524d\u5927\u6982\u5728\u62c6\u4e86\u3002\\n\u65e0\u8bba\u5982\u4f55\uff0c\u660e\u5e74 GCC 14.1 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u8fd9\u4e9b\u652f\u6301\u5927\u6982\u7387\u90fd\u4f1a\u641e\u5b9a\u3002\\n\\n#### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* xen0n [\u4fee\u590d\u4e86](https://reviews.llvm.org/D153865) CSR/IOCSR \u64cd\u4f5c\u7684\u526f\u4f5c\u7528\u6807\u8bb0\u3002\\n* SixWeining [\u652f\u6301\u4e86](https://reviews.llvm.org/D153872) `R_LARCH_64_PCREL` \u7684\u4ea7\u751f\u3002\\n \u8be5\u652f\u6301\u662f ClangBuiltLinux `CONFIG_JUMP_LABEL` \u7684\u524d\u7f6e\u9700\u6c42\u3002\\n* Ami-zhang \u5b8c\u6210\u4e86 MSan \u5230 LoongArch \u7684\u79fb\u690d\uff08[\u8865\u4e01\u4e00](https://reviews.llvm.org/D140528)\u3001[\u8865\u4e01\u4e8c](https://reviews.llvm.org/D152692)\uff09\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* wangleiat \u63d0\u4ea4\u4e86 [LSX](https://reviews.llvm.org/D154183)\u3001[LASX](https://reviews.llvm.org/D154195) \u7684\u6307\u4ee4\u5b9a\u4e49\uff0cleecheechen [\u8ddf\u8fdb\u63d0\u4ea4\u4e86](https://reviews.llvm.org/D154197)\u6d4b\u8bd5\u7528\u4f8b\u3002\\n* hev [\u663e\u5f0f\u6807\u8bb0\u4e86](https://reviews.llvm.org/D154192)\u6240\u6709\u6307\u4ee4\u7684\u5c5e\u6027\uff0c\u76f8\u6bd4\u4e8e\u8ba9 LLVM \u731c\uff0c\u53ef\u4ee5\u83b7\u5f97\u66f4\u9ad8\u8d28\u91cf\u7684\u751f\u6210\u4ee3\u7801\u3002\\n\\n#### Rust\\n\\n7 \u6708 1 \u65e5\uff0c\u4e0a\u6e38\u5408\u5e76\u4e86 hev \u7684 LoongArch ELF flags \u4fee\u590d\u3002\u8be5\u4fee\u590d\u4f7f\u5f97\u8f6f\u6d6e\u70b9\u7684 Rust\\n\u6784\u5efa\u4ea7\u7269\u7ec8\u4e8e\u83b7\u5f97\u4e86\u6b63\u786e\u7684 ELF `e_flags` \u5b57\u6bb5\u53d6\u503c\u3002\\n\u8be5\u4fee\u590d\u5c06\u4e8e Rust 1.72.0 \u6b63\u5f0f\u53d1\u5e03\u3002\\n\\n### QEMU\\n\\n6 \u6708 30 \u65e5\uff0cSong Gao [\u63d0\u4ea4\u4e86](https://patchwork.ozlabs.org/project/qemu-devel/list/?series=361811)\\nLASX \u7684\u6307\u4ee4\u6a21\u62df\u652f\u6301\uff0c\u5185\u542b\u6240\u6709 LASX \u6307\u4ee4\u7684\u8bed\u4e49\u5efa\u6a21\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n6 \u6708 29 \u65e5\uff0cyetist \u7684 IPXE \u9f99\u67b6\u6784\u79fb\u690d[\u88ab\u4e0a\u6e38\u5408\u5e76](https://github.com/ipxe/ipxe/pull/820)\u3002\\n\u8fd9\u5bf9\u9f99\u67b6\u6784\u673a\u5668\u7684\u65e0\u4eba\u503c\u5b88\u8fd0\u7ef4\u662f\u4e00\u5927\u5229\u597d\u3002\uff08\u611f\u8c22 yetist \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16\\n\\n### AOSCC 2023\uff1a7 \u6708 15 \u81f3 16 \u65e5\uff0c\u4e0a\u79d1\u5927\u89c1\uff01\\n\\n\u8ddd\u79bb\u4eca\u5e74 AOSCC \u8fd8\u6709\u4e0d\u5230\u4e00\u4e2a\u6708\uff0c\u672c\u6b21\u805a\u4f1a\u7684\u65e5\u7a0b\u7e41\u591a\uff0c\u4e0d\u4ec5\u6709\u793e\u533a\u9879\u76ee\u76f8\u5173\u7684\u5c55\u793a\u3001\u8ba8\u8bba\u548c\u6295\u7968\uff0c\u8fd8\u6709\u8bb8\u591a\u6765\u81ea\u5f00\u6e90\u4e1a\u754c\u7684\u4ee3\u8868\u95e8\u5c06\u4f1a\u5230\u573a\u5206\u4eab\u7ecf\u9a8c\uff0c\u56de\u7b54\u95ee\u9898\u3002\\n\\n\u8be6\u89c1\uff1a[\u6d3b\u52a8\u65e5\u7a0b](https://wiki.aosc.io/zh/community/aoscc/2023/)\u3002\\n\\n#### \u201c\u9f99\u82af\u4e0e\u4f60\uff1a\u4f60\u95ee\u6211\u7b54\u201d\u95ee\u9898\u5f81\u96c6\\n\\n\u8fd1\u5e74\u6765\uff0c\u7531 LoongArch \u67b6\u6784\u9a71\u52a8\u7684\u9f99\u82af 5000 \u7cfb\u5217\u5904\u7406\u5668\u5c55\u73b0\u51fa\u4e86\u76f8\u5f53\u53ef\u89c2\u7684\u6027\u80fd\u63d0\u5347\uff0c\u4ea6\u5728\u5f00\u6e90\u793e\u533a\u4e2d\u6536\u83b7\u4e86\u4e0d\u5c11\u4eba\u6c14\uff1b\u4e0e\u6b64\u540c\u65f6\uff0c\u4f01\u4e1a\u4e0e\u793e\u533a\u7684\u201c\u65b0\u65e7\u4e16\u754c\u201d\u4ea4\u66ff\u4e0e\u5728\u4e0a\u6e38\u7684\u78b0\u649e\u4e0e\u4ea4\u6d41\u4e5f\u6210\u4e3a\u4e86\u6700\u8fd1\u51e0\u5e74 LoongArch \u751f\u6001\u53c2\u4e0e\u8005\u4eec\u65f6\u523b\u5173\u6ce8\u7684\u4e8b\u60c5\u3002\u672c\u6b21 AOSCC \u6211\u4eec\u6709\u5e78\u9080\u8bf7\u5230\u4e86\u6765\u81ea LoongArch \u793e\u533a\u7684\u4e0a\u6e38\u8d21\u732e\u8005\u548c\u9f99\u82af\u4e2d\u79d1\u7684\u5de5\u7a0b\u5e08\u4eec\u6765\u4e00\u540c\u4ecb\u7ecd\u548c\u89e3\u7b54\u5404\u4f4d\u7684\u95ee\u9898\u548c\u7591\u60d1\u3002\\n\\n\u8003\u8651\u5230\u65e5\u7a0b\u5b89\u6392\u8f83\u4e3a\u7d27\u51d1\uff0c\u6211\u4eec\u51b3\u5b9a\u63d0\u524d\u6536\u96c6\u793e\u533a\u63d0\u95ee\uff0c\u8bf7[\u4f7f\u7528\u672c\u95ee\u5377](https://forms.gle/QgdzPmcXqjwitmQm7)\u63d0\u4ea4\u60a8\u5e0c\u671b\u5f97\u5230\u89e3\u7b54\u7684\u95ee\u9898\u3002\\n\\n#### \u4e0e\u4f1a\u8005\u767b\u8bb0\\n\\n\u7531\u4e8e\u672c\u6b21 AOSCC \u7ebf\u4e0b\u6d3b\u52a8\u5728\u4e0a\u6d77\u79d1\u6280\u5927\u5b66\u4e3e\u884c\uff0c\u6821\u65b9\u5b89\u4fdd\u8981\u6c42\u6765\u8bbf\u8005\u767b\u8bb0\u4e2a\u4eba\u4fe1\u606f\uff0c\u6709\u610f\u53c2\u52a0\u7ebf\u4e0b\u6d3b\u52a8\u7684\uff0c\u8bf7\u4e8e 7 \u6708 13 \u65e5\u524d[\u586b\u5199\u767b\u8bb0\u95ee\u5377](https://forms.gle/vc8sd3yah7eMNmoP7)\u3002\\n\\n:::info \u8bf4\u660e\\n\u672c\u8868\u683c\u4ec5\u7531\u793e\u533a\u4ee3\u8868\uff08\u767d\u94ed\u9aa2\uff09\u548c GeekPie \u5bf9\u63a5\u4ee3\u8868\uff08\u79e6\u6590\u7136\uff09\u67e5\u9605\uff0c\u5e76\u4ea4\u7531\u6821\u65b9\u5f55\u5165\u3002\\n:::"},{"id":"these-weeks-in-loongarch-6","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-6","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-27-these-weeks-in-loongarch-6.md","source":"@site/newsletter/2023-06-27-these-weeks-in-loongarch-6.md","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-27T05:57:42.000Z","formattedDate":"2023\u5e746\u670827\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{"label":"\u6bcf\u5468\u4e24\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],"readingTime":4.95,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-6","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","authors":["xen0n"],"date":"2023-06-27T05:57:42.000Z","tags":["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 7 \u671f","permalink":"/newsletter/this-week-in-loongarch-7"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","permalink":"/newsletter/this-week-in-loongarch-5"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468:sheep:\u4e86\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\u9274\u4e8e\u8be5\u5021\u8bae\u7684\u9f99\u67b6\u6784\u90e8\u5206\u4e3b\u4f53\u5de5\u4f5c\u5df2\u7ecf\u5b8c\u6210\uff0c\u540e\u7eed\u76f8\u5173\u5de5\u4f5c\u5c06\u5728 Linux \u4e00\u8282\u5408\u5e76\u62a5\u9053\u3002\\n\\n\u611f\u8c22 [@heiher](https://github.com/heiher) \u7684\u53c2\u4e0e\uff0c\u76ee\u524d\u6253\u8fc7\u8865\u4e01\u7684 LLVM/Clang\\n\u5df2\u7ecf\u53ef\u4ee5\u6784\u5efa\u57fa\u672c\u7684 LoongArch Linux \u955c\u50cf\u4e86\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6[\u76f8\u5173\u5185\u6838\u8865\u4e01](https://lore.kernel.org/loongarch/20230625095644.3156349-1-kernel@xen0n.name/)\u5df2\u88ab\u63a5\u53d7\uff0c\\n\u5c06\u8fdb\u5165 v6.5-rc1\uff1b\\nLLVM \u7684\u53d8\u66f4\u60c5\u51b5\u89c1 LLVM \u4e00\u8282\u3002\\n\u4e0a\u6e38\u793e\u533a[\u706b\u901f\u8ddf\u8fdb\u4e86](https://github.com/ClangBuiltLinux/boot-utils/issues/108)\u76f8\u5173\u7684\u81ea\u52a8\u5316\u5f15\u5bfc\u6d4b\u8bd5\u652f\u6301\uff0c\\n\u53d1\u73b0\u7684\u5c0f\u5751\u5c06\u5728\u672c\u5468\u5feb\u901f\u586b\u5e73\uff0c\u540e\u7eed\u7684 LLVM/Clang \u517c\u5bb9\u6027\u5c06\u7531\u8be5\u8bbe\u65bd\u81ea\u52a8\u5316\u4fdd\u8bc1\u3002\\n\\n\u76ee\u524d\u8fd8\u7f3a\u6a21\u5757\u548c\u53ef\u91cd\u5b9a\u4f4d\uff08`CONFIG_RELOCATABLE`\uff09\u652f\u6301\uff0c\u8fd9\u90e8\u5206\u9884\u8ba1\u5728\u540e\u7eed\u7684\u5f00\u53d1\u5468\u671f\u4e5f\u4f1a\u6162\u6162\u89e3\u51b3\u6389\u3002\\n\\n### Linux\\n\\n\u76ee\u524d Linux v6.5 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u7ecf\u5f00\u542f\u3002\u672c\u5468\u671f\u7684\u9f99\u67b6\u6784\u76f8\u5173\u91cd\u5927\u53d8\u66f4\u6709\uff1a\\n\\n* [\u5411\u91cf\u6269\u5c55\u652f\u6301](https://lore.kernel.org/loongarch/20230613151918.2039498-1-chenhuacai@loongson.cn/)\u3002\\n \u9700\u8981\u7f16\u8bd1\u5668\u3001\u6c47\u7f16\u5668\u652f\u6301\u5411\u91cf\u6307\u4ee4\uff0c\u624d\u80fd\u6253\u5f00\u76f8\u5e94 Kconfig \u914d\u7f6e\u9879\u3002\\n \u8fc7\u4e00\u9635\u5b50\u5e94\u8be5\u90fd\u80fd\u7528\u4e0a\u4e86\u3002\\n* 3A6000/LA664 \u7684[\u7ec6\u7c92\u5ea6\u5185\u5b58\u6805\u969c\u652f\u6301](https://lore.kernel.org/loongarch/20230516124536.535343-1-chenhuacai@loongson.cn/)\u3002\\n* 3A6000/LA664 \u7684[\u540c\u65f6\u591a\u7ebf\u7a0b\uff08SMT\uff0c\u201c\u8d85\u7ebf\u7a0b\u201d\uff09\u652f\u6301](https://lore.kernel.org/loongarch/20230614093755.88881-1-wangliupu@loongson.cn/)\u3002\\n \u8865\u4e01\u900f\u9732\u8be5\u652f\u6301\u9700\u8981\u56fa\u4ef6\u914d\u5408\uff0c\u4ee5\u6700\u521d\u7528\u4e8e AArch64 \u7684 ACPI PPTT \u8868\u7ed3\u6784\u4f20\u9012\u5904\u7406\u5668\u6838\u7684\u62d3\u6251\u4fe1\u606f\u3002\\n* 3A6000/LA664 \u7684[\u786c\u4ef6\u9875\u8868\u904d\u5386\u5355\u5143\u652f\u6301](https://lore.kernel.org/loongarch/20230516124610.535360-1-chenhuacai@loongson.cn/)\u3002\\n* \u521d\u6b65\u7684 ClangBuiltLinux \u9002\u914d\u3002\\n\\n\u8be6\u60c5\u8bf7[\u79fb\u6b65\u9f99\u67b6\u6784\u7684\u4e0a\u6e38\u96c6\u6210\u5206\u652f](https://git.kernel.org/chenhuacai/linux-loongson/l/loongarch-next)\u3002\\n\\n6 \u6708 20 \u65e5\uff0cYouling Tang \u57fa\u4e8e :ta: [4 \u6708\u4efd\u7684 libelf \u5de5\u4f5c](https://sourceware.org/pipermail/elfutils-devel/2023q2/006107.html)\uff0c\\n\u5f00\u59cb\u5c06 [ORC unwinder](https://www.kernel.org/doc/html/latest/arch/x86/orc-unwinder.html)\\n\u79fb\u690d\u5230\u9f99\u67b6\u6784\uff1a[\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/1687247209-31676-1-git-send-email-tangyouling@loongson.cn/)\u4e00\u7248\u521d\u7a3f\u8865\u4e01\u3002\\n\uff08\u611f\u8c22 [@xry111](https://github.com/xry111) \u7684\u65b0\u95fb\u7ebf\u7d22\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n6 \u6708 25 \u65e5\uff0cmengqinggang \u5411 GNU binutils \u90ae\u4ef6\u5217\u8868[\u63d0\u4ea4\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127990.html) LSX/LASX \u652f\u6301\uff0c\\n\u53c8[\u6dfb\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127993.html) `R_LARCH_64_PCREL` \u652f\u6301\u3002\\n\\n#### LLVM\\n\\n\u4e24\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining [\u5141\u8bb8\u4e86](https://reviews.llvm.org/D150196)\u5728\u4efb\u4f55\u573a\u666f\u4e0b\u4f7f\u7528\u6d6e\u70b9\u3001\u5411\u91cf\u7b49\u6269\u5c55\u6307\u4ee4\uff0c\u4ee5\u4fbf\u88f8\u673a\u8f6f\u4ef6\u3001\u5185\u6838\u7b49\u5177\u5907\u8db3\u591f\u63a7\u5236\u529b\u7684\u7a0b\u5e8f\u5728\u672c\u8eab\u4e0d\u4f7f\u7528\u8fd9\u4e9b\u6307\u4ee4\u7684\u524d\u63d0\u4e0b\uff0c\u4ecd\u7136\u80fd\u591f\u81ea\u884c\u7ba1\u7406\u76f8\u5e94\u786c\u4ef6\u8d44\u6e90\u3002\\n :::info \u8fd9\u662f\u4e3a\u5565\\n \u9f99\u67b6\u6784\u4e0b\uff0c\u7ba1\u7406\u6269\u5c55\u8d44\u6e90\u9700\u8981\u7528\u5230\u6269\u5c55\u6307\u4ee4\uff0c\u4f46\u5148\u524d\u5982\u679c\u544a\u77e5 LLVM \u4e0d\u4f7f\u7528\u8fd9\u4e9b\u6307\u4ee4\uff0c\u90a3\u4e48\u53ea\u8981\u5c1d\u8bd5\u4f7f\u7528\u90fd\u4f1a\u62a5\u9519\u3002\\n \u5373\u4fbf\u7a0b\u5e8f\u5458\u77e5\u9053\u81ea\u5df1\u5728\u505a\u4ec0\u4e48\u3001\u54ea\u4e9b\u5730\u65b9\u7684\u624b\u5199\u6c47\u7f16\u7528\u5230\u6269\u5c55\u6307\u4ee4\u4e5f\u662f\u5b89\u5168\u7684\uff0c\u4e5f\u6ca1\u6cd5\u641e\u3002\\n :::\\n* xen0n \u4e3a `llvm-objcopy` [\u6dfb\u52a0\u4e86](https://reviews.llvm.org/D153609)\u9f99\u67b6\u6784\u652f\u6301\u3002\\n* xen0n \u4f7f Clang \u5904\u7406 `-m*-float` \u53c2\u6570\u65f6[\u4e5f\u4e0d\u5fd8\u68c0\u67e5](https://reviews.llvm.org/D153707) `-mabi`\u3001`-mfpu` \u9009\u9879\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* Ami-zhang \u63a5\u8fd1\u5b8c\u6210\u4e86 MSan \u7684\u9f99\u67b6\u6784\u79fb\u690d\uff1a[D140528](https://reviews.llvm.org/D140528)\u3001[D152692](https://reviews.llvm.org/D152692)\uff0c\u4e0d\u65e5\u5c06\u5408\u5e76\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[loongarch-opcodes \u9879\u76ee](https://github.com/loongson-community/loongarch-opcodes)\u6574\u7406\u5b8c\u6210\u4e86\u6240\u6709\\nLSX\u3001LASX \u6307\u4ee4\u7f16\u7801\u4fe1\u606f\u3002\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003\u8d77\u6765\u4e86\u3002\\n\u5728\u9f99\u82af\u516c\u5e03\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e8c\u4e4b\u524d\uff0c\u793e\u533a\u540c\u5b66\u4e5f\u53ef\u4ee5\u6839\u636e QEMU \u6e90\u7801\uff0c\u63a8\u8fdb\u6307\u4ee4\u6587\u6863\u7684\u7f16\u64b0\u4e86\u3002\\n\\n\u8fd1\u65e5 Gentoo \u793e\u533a\u4e00\u4f4d\u56fd\u9645\u53cb\u4eba\u62ff\u5230\u4e86 7A2000 \u677f\u5b50\uff0c\u9f99\u67b6\u6784\u7684\u670b\u53cb\u9010\u6e10\u589e\u591a :sunglasses:\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-5","metadata":{"permalink":"/newsletter/this-week-in-loongarch-5","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-12-this-week-in-loongarch-5.md","source":"@site/newsletter/2023-06-12-this-week-in-loongarch-5.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-12T06:42:22.000Z","formattedDate":"2023\u5e746\u670812\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":6.82,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-5","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","authors":["xen0n"],"date":"2023-06-12T06:42:22.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-6"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","permalink":"/newsletter/this-week-in-loongarch-4"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n6 \u6708 5 \u65e5\uff0cGitHub loongson \u7ec4\u7ec7\u4e0b\u51fa\u73b0\u4e86\u65b0\u7684\u53ef\u534f\u4f5c\u7684\u6587\u6863\u5e93\uff1a[la-abi-specs](https://github.com/loongson/la-abi-specs)\u3002\\n\u8fd9\u53ef\u88ab\u89c6\u4e3a\u9f99\u82af\u516c\u53f8\u5728 [LoongArch-Documentation \u5e93](https://github.com/loongson/LoongArch-Documentation)\u88ab\u5f52\u6863\u4e4b\u540e\u7ed9\u51fa\u7684\u89e3\u51b3\u65b9\u6848\u3002\\n\\n\u6ce8\u610f\uff1a\u6b64\u6587\u6863\u5e93\u7684\u8bb8\u53ef\u8bc1\u4ecd\u7136\u4e3a CC-BY-NC-ND 4.0\uff0c\u5e76\u4e14\u6dfb\u52a0\u4e86\u5fc5\u987b\u7b7e\u7f72\u8d21\u732e\u8005\u8bb8\u53ef\u534f\u8bae\uff08CLA\uff09\u624d\u80fd\u53c2\u4e0e\u8d21\u732e\u7684\u63d0\u793a\u3002\\n\u76ee\u524d CLA \u76f8\u5173\u4e8b\u5b9c\u4ecd\u7136\u53ea\u80fd\u901a\u8fc7\u8be2\u95ee\u76f8\u5173\u4eba\u5458\u4e86\u89e3\uff1b\u7b14\u8005\u4e86\u89e3\u5230\u7684\u60c5\u51b5\u662f\uff1a\\n\\n* CLA \u5df2\u7ecf\u5b9a\u7a3f\uff0c\u4e0d\u65e5\u5c06\u4e8e\u9f99\u82af\u5b98\u7f51\u6216\u5176\u4ed6\u6e20\u9053\u516c\u5f00\u3002\\n* \u540e\u7eed\u4f1a\u63d0\u4f9b\u7f51\u9875\u7b49\u81ea\u52a8\u5316\u7684\u7b7e\u7f72\u3001\u6821\u9a8c\u65b9\u5f0f\u3002\\n* \u8be5 CLA \u4e0e Google CLA \u7c7b\u4f3c\uff0c\u4f46\u6dfb\u52a0\u4e86\u66f4\u591a\u9650\u5236\u6027\u6761\u6b3e\uff0c\u8bf7\u8d21\u732e\u8005\u4eec\u6ce8\u610f\u3002\\n\\n:::warning\\n\u7b14\u8005\u4e0d\u662f\u5f8b\u5e08\uff0c\u4ee5\u4e0b\u7684\u5206\u6790\u4e0d\u662f\u6cd5\u5f8b\u5efa\u8bae\u3002\u8bf7\u5f85\u9f99\u82af CLA \u6587\u672c\u6b63\u5f0f\u516c\u5e03\u4e4b\u540e\u81ea\u884c\u9605\u8bfb\u3001\u5224\u65ad\u3002\\n:::\\n\\n\u4e0e Google CLA \u76f8\u6bd4\uff0c\u5177\u4f53\u7684\u4e0d\u540c\u4e4b\u5904\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\\n\\n* \u65b0\u589e\u4e86**\u5176\u4ed6\u77e5\u8bc6\u4ea7\u6743\u6743\u5229\u6388\u4e88\u6761\u6b3e**\u3002\\n\\n \u5728 Google CLA \u7b2c 3 \u6761\u4e0e\u7b2c 4 \u6761\u4e4b\u95f4\uff0c\u6dfb\u52a0\u4e86\u5173\u4e8e\u300c\u5176\u4ed6\u77e5\u8bc6\u4ea7\u6743\u6743\u5229\u300d\u5982\u5546\u6807\u6743\u3001\u6280\u672f\u79d8\u5bc6\u3001\u4e13\u6709\u6280\u672f\u7b49\u7684\u6743\u5229\u8bb8\u53ef\u6388\u4e88\u6761\u6b3e\u3002\\n\\n* \u65b0\u589e\u4e86**\u6eaf\u53ca\u65e2\u5f80\u6761\u6b3e**\u3002\\n\\n \u53ea\u8981\u7b7e\u7f72\u8be5 CLA\uff0c\u6743\u5229\u8bb8\u53ef\u5c06\u81ea\u300c\u60a8\u300d\u9996\u6b21\u5411\u9f99\u82af\u4e2d\u79d1\u63d0\u4ea4\u8d21\u732e\u4e4b\u65e5\u8d77\u751f\u6548\uff0c\u5e76\u975e\u4ece\u7b7e\u7f72\u65f6\u523b\u8d77\u3002\\n\\n :::info\\n FSF copyright assignment \u7b49\u6709\u7c7b\u4f3c\u5b89\u6392\u7684\u534f\u8bae\u4e00\u822c\u4e5f\u4f1a\u63d0\u4f9b\u4e0d\u6eaf\u53ca\u65e2\u5f80\u7684\u534f\u8bae\u6587\u672c\u7248\u672c\u3002\\n :::\\n\\n* \u65b0\u589e\u4e86**\u7ea6\u5b9a\u7ba1\u8f96\u6761\u6b3e**\u3002\\n\\n \u7ea6\u5b9a\u4f7f\u7528\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\u6cd5\u5f8b\u3002\\n \u4f46\u8fdb\u4e00\u6b65\u7ea6\u5b9a\u4e86\u300c\u4efb\u4f55\u7531\u672c\u534f\u8bae\u4ea7\u751f\u7684\u6cd5\u5f8b\u8bc9\u8bbc\u6216\u7a0b\u5e8f\u5747\u5e94\u6392\u4ed6\u6027\u5730\u63d0\u4ea4\u81f3\u9f99\u82af\u4e2d\u79d1\u6240\u5728\u5730\u7684\u6cd5\u9662\u8fdb\u884c\u5ba1\u7406\u300d\u3002\\n\\n :::info\\n \u5982\u4e0d\u7ea6\u5b9a\u7ba1\u8f96\uff0c\u4e00\u573a\u6c11\u4e8b\u7ea0\u7eb7\u9ed8\u8ba4\u5e94\u7531\u88ab\u544a\u6240\u5728\u5730\u6cd5\u9662\u7ba1\u8f96\u3002\\n \u8fd9\u662f\u4e3a\u4e86\u63d0\u9ad8\u539f\u544a\u8bc9\u8bbc\u6210\u672c\uff0c\u4ee5\u4f7f\u5176\u4e0d\u6ee5\u7528\u8bc9\u6743\uff08\u5426\u5219\uff0c\u4e00\u4e2a\u672a\u4f5c\u51c6\u5907\u7684\u88ab\u544a\u8981\u4e48\u5c06\u4e0d\u5f97\u4e0d\u5954\u6ce2\u81f3\u539f\u544a\u6240\u5728\u5730\u5e94\u8bc9\uff0c\u8981\u4e48\u627f\u62c5\u4e0d\u5e94\u8bc9\u7684\u4e0d\u5229\u540e\u679c\uff1b\u7b49\u4e8e\u5b58\u5728\u8d77\u8bc9\u8005\u300c\u6298\u817e\u300d\u4ed6\u8005\u7684\u53ef\u80fd\u6027\uff09\u3002\\n \u6309\u7167\u5f53\u524d\u63aa\u8f9e\uff0c\u6b64\u4e0a\u5c42\u8bbe\u8ba1\u5931\u6548\u3002\\n :::\\n\\n* \u65b0\u589e\u4e86**\u591a\u8bed\u8a00\u7248\u672c\u6761\u6b3e**\u3002\\n\\n \u8be5 CLA \u63d0\u4f9b\u4e86\u4e2d\u82f1\u6587\u4e24\u79cd\u7248\u672c\uff0c\u5e76\u7ea6\u5b9a\u4e86\u5982\u6709\u610f\u601d\u51b2\u7a81\uff0c\u5219\u4ee5\u4e2d\u6587\u7248\u4e3a\u51c6\u3002\\n\\n* \u4e0e Google CLA \u7b2c 4 \u6761\u76f8\u6bd4\uff0c\u5173\u4e8e\u5f53\u300c\u60a8\u300d\u662f\u6cd5\u4eba\u65f6\u7684\u627f\u8bfa\u63aa\u8f9e\u6709\u8c03\u6574\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\nheiher \u52a0\u5165\u4e86\u6298\u817e\u7684\u884c\u5217\uff0c\u76ee\u524d\u5df2\u7ecf\u5728\u4e00\u5b9a\u7684\u914d\u7f6e\u4e0b\u7cca\u51fa\u4e86\u4e00\u7248\u80fd\u591f\u5de5\u4f5c\u7684\u5185\u6838\u3002\\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01\u4ed6\u5728\u6298\u817e\u8fc7\u7a0b\u4e2d\u53d1\u73b0\uff1a\\n\\n* LLVM \u4e0d\u5e94\u8be5\u628a\u90a3\u4e9b\u6ca1\u6709\u6570\u636e\u4f9d\u8d56\u7684 CSR\u3001IOCSR \u64cd\u4f5c\u4f18\u5316\u6389\u3002\\n\\n### Linux\\n\\n6 \u6708 7 \u65e5\uff0c\u4e0a\u6e38\u58f0\u97f3\u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005 Takashi Iwai [\u5408\u5e76\u4e86](https://lore.kernel.org/loongarch/87mt1b1rif.wl-tiwai@suse.de/) Yanteng Si \u524d\u4e00\u9635\u8d34\u51fa\u7684 LS7A \u96c6\u6210\u58f0\u5361\u652f\u6301\u8865\u4e01\u3002\\n\\n6 \u6708 5 \u65e5\uff0cYingkun Meng [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230605120934.2306548-1-mengyingkun@loongson.cn/)\u9f99\u82af 2K \u7cfb\u5217\u3001LS7A \u7684 I2S \u63a7\u5236\u5668\u652f\u6301\u3002\u8fd9\u4e5f\u662f\u4e00\u79cd\u300c\u96c6\u6210\u58f0\u5361\u300d\u786c\u4ef6\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### GCC\\n\\nchenglulu \u5728\u4f18\u5316 perlbench \u8dd1\u5206\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\u4e86 [PR 110136](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110136)\\n\u8fd9\u6837\u4e00\u4e2a\u4e25\u91cd\u5f71\u54cd\u6027\u80fd\u7684\u60c5\u51b5\uff0c\\n\u9042[\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-June/621006.html)\u76f8\u5e94\u7684\u4fee\u590d\u8865\u4e01\u3002\\n\\n:::info\\n\u6240\u6709 `jr $ra` \u90fd\u88ab\u89c6\u4e3a\u8fc7\u7a0b\u8c03\u7528\u8fd4\u56de\u3002\\n\u56e0\u6b64\u5982\u679c\u4e00\u822c\u7684\u95f4\u63a5\u8df3\u8f6c\u4e0d\u5e78\u4f7f\u7528\u4e86`$ra` \u5b58\u653e\u76ee\u6807\u5730\u5740\uff0c\\n\u90a3\u4e48\u8fc7\u7a0b\u8c03\u7528\u8fd4\u56de\u548c\u95f4\u63a5\u8df3\u8f6c\u7684\u5206\u652f\u9884\u6d4b\u90fd\u4f1a\u88ab\u7834\u574f\u3002\\n:::\\n\\n#### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* [\u9ed8\u8ba4\u53ef\u751f\u6210\u975e\u5bf9\u9f50\u8bbf\u5b58](https://reviews.llvm.org/D149946)\u3002\u8fd9\u662f\u7531\u4e8e 2K1000LA \u7b49\u4e0d\u652f\u6301\u786c\u4ef6\u975e\u5bf9\u9f50\u8bbf\u5b58\u7684\u578b\u53f7\u51e0\u4e4e\u4e0d\u89c1\u4e8e\u901a\u7528\u573a\u666f\uff0c\u4e14\u540e\u7eed\u4f1a\u8d8a\u6765\u8d8a\u5c11\uff082K2000\u30012K3000 \u8fd9\u79cd\u9884\u671f\u4f1a\u5927\u6279\u91cf\u51fa\u8d27\u7684 LA364 \u578b\u53f7\u5df2\u88ab\u8bc1\u5b9e\u652f\u6301\uff09\u3002\u6709\u9700\u8981\u9002\u914d LA264\u3001LA132 \u7b49\u578b\u53f7\u7684\u5f00\u53d1\u8005\uff0c\u9700\u81ea\u884c\u8c03\u6574\u7f16\u8bd1\u53c2\u6570\u4ee5\u7981\u7528\u6b64\u884c\u4e3a\u3002\\n* [\u6dfb\u52a0 LAELF v20230519 \u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49](https://reviews.llvm.org/D152184)\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* [LLD LoongArch port](https://reviews.llvm.org/D138135) \u7684\u4ee3\u7801\u5ba1\u67e5\u6709\u4e86\u8fdb\u5c55\uff0c\u6b63\u5728\u6539\u4ee3\u7801\u3002\\n* xen0n \u4e3a `RelocationResolver` [\u9002\u914d](https://reviews.llvm.org/D152344) LAELF v20230519 \u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u3002\\n\\n#### Rust\\n\\n\u81ea[\u6dfb\u52a0\u88f8\u673a LoongArch \u652f\u6301](https://github.com/rust-lang/compiler-team/issues/628)\u7684\u91cd\u5927\u53d8\u66f4\u63d0\u6848Major Change Proposal\u4e8e 6 \u6708 6 \u65e5\u6700\u7ec8\u901a\u8fc7\u540e\uff0c\\nheiher \u65cb\u5373[\u63a8\u8fdb\u4e86](https://github.com/rust-lang/rust/pull/112310)\u5b9e\u73b0\u3002\\n\\n\u4ee5\u4e0b `no_std` targets \u81ea 6 \u6708 8 \u65e5\u7684 nightly \u8d77\uff0c\u5df2\u7ecf\u53ef\u4ee5\u4f7f\u7528\uff0c\u5c06\u51fa\u73b0\u4e8e 1.72.0 \u7248\u672c\uff1a\\n\\n* `loongarch64-unknown-none`\uff0cLA64 LP64D\uff08\u53cc\u7cbe\u5ea6\u786c\u6d6e\u70b9\uff09\u88f8\u673a\\n* `loongarch64-unknown-none-softfloat`\uff0cLA64 LP64S\uff08\u8f6f\u6d6e\u70b9\uff09\u88f8\u673a\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\nYANG Xudong [\u4f18\u5316\u4e86](https://www.postgresql.org/message-id/flat/b522a0c5-e3b2-99cc-6387-58134fb88cbe%40ymatrix.cn)\\nPostgreSQL \u5728 LoongArch \u4e0a\u7684 CRC \u8ba1\u7b97\uff0c\\n\u5e76\u5c06\u8865\u4e01[\u63d0\u4ea4\u5230\u4e86](https://commitfest.postgresql.org/43/4353/)\\nPostgreSQL Commitfest 2023-07\u3002\\n\u76ee\u524d\u5411\u793e\u533a\u548c\u5468\u520a\u8bfb\u8005\u4eec\u5bfb\u6c42 review\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-4","metadata":{"permalink":"/newsletter/this-week-in-loongarch-4","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-05-this-week-in-loongarch-4.md","source":"@site/newsletter/2023-06-05-this-week-in-loongarch-4.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-05T06:10:50.000Z","formattedDate":"2023\u5e746\u67085\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.48,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-4","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","authors":["xen0n"],"date":"2023-06-05T06:10:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","permalink":"/newsletter/this-week-in-loongarch-5"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","permalink":"/newsletter/this-week-in-loongarch-3"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u9f99\u82af\u7684 binutils \u7ef4\u62a4\u8005 mengqinggang \u5c06\u5148\u524d\u62a5\u9053\u8fc7\u7684 LoongArch linker relaxation\\n\u4f18\u5316[\u63a8\u5165\u4e86\u4e0a\u6e38](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=57a930e3bfe4b2c7fd6463ed39311e1938513138)\u3002\\n\u4f46\u7531\u4e8e [LoongArch-Documentation \u5e93](https://github.com/loongson/LoongArch-Documentation)\u7684\u7279\u6b8a\u60c5\u51b5\u4ecd\u672a\u89e3\u9664\uff0c\\n\u4e0e\u6b64\u6539\u52a8\u914d\u5957\u7684 ELF psABI \u89c4\u8303\u6587\u6863\u66f4\u65b0\u4e5f\u4ecd\u7136\u6ca1\u6709\u53d1\u751f\u3002\\n\u5bf9\u4e8e\u8fd9\u4e9b\u65b0 relocs \u7684\u7528\u6cd5\uff0c\u76ee\u524d\u53ea\u80fd\u4ee5\u4ee3\u7801\u7684\u5177\u4f53\u884c\u4e3a\u4e3a\u51c6\u3002\\n\\nbinutils \u7684\u5176\u4ed6\u4e0a\u6e38\u7ef4\u62a4\u8005\u968f\u540e\u5e2e\u5fd9\u4fee\u590d\u4e86 LoongArch \u4ee3\u7801\u7684\u4e00\u4e9b[\u98ce\u683c\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=a15891aaea006d06066573449efbda353dd2863e)\u4e0e\\n\u901a\u8fc7fuzzing \u53d1\u73b0\u7684[\u7f13\u51b2\u533a\u6ea2\u51fa\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=74a965d8e09217f3d8f8295c9126b77cdd62b798)\u3001[\u6bb5\u9519\u8bef\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=89c70cd358b8fa46b84cd100efc95495ff0160ae)\u3002\\n\\n\u5efa\u8bae\u5173\u5fc3\u9f99\u67b6\u6784\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe\u3001\u8d28\u91cf\u7684\u540c\u5b66\u4e5f\u53ef\u4ee5\u5173\u6ce8 binutils \u7b49\u4e0a\u6e38\u7684\u6c9f\u901a\u6e20\u9053\uff0c\u4e00\u8d77\u53c2\u4e0e\u9f99\u67b6\u6784\u76f8\u5173\u4ee3\u7801\u3001\u529f\u80fd\u3001\u8d28\u91cf\u7684\u5b8c\u5584\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n* Gentoo \u4e0a\u6e38\u5df2\u5c06 [`kdeutils-meta`][kdeutils]\u3001[`kdegames-meta`][kdegames] \u4e24\u4e2a meta-packages keyworded\uff0c\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u76f4\u63a5 `emerge` \u4e86\u3002\\n* Gentoo \u6b63\u5728\u4e3a Rust 1.71.0 \u7684\u9f99\u67b6\u6784\u652f\u6301[\u505a\u597d\u51c6\u5907](https://github.com/gentoo/gentoo/pull/31241)\u3002\u987a\u5e26\u4e5f\u5c06\u4fee\u590d\u8001\u9f99\u82af\u7cfb\u7edf\u7684 Rust \u652f\u6301\u3002\\n\\n[kdeutils]: https://packages.gentoo.org/packages/kde-apps/kdeutils-meta\\n[kdegames]: https://packages.gentoo.org/packages/kde-apps/kdegames-meta\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u672c\u5468\u6ca1\u6709\u8fd9\u65b9\u9762\u7684\u65b0\u52a8\u5411\u3002\\n\\n### Linux\\n\\n6 \u6708 1 \u65e5\uff0c\u77e5\u540d\u79d1\u6280\u5a92\u4f53 Phoronix [\u62a5\u9053\u4e86](https://www.phoronix.com/news/Loongson-Etnaviv-PCI-Driver)\\nSui Jingfeng \u4e3a\u9f99\u82af 2K1000 \u548c LS7A1000 \u5185\u7f6e\u7684 Vivante GC1000 GPU IP\\n\u505a\u7684[\u5185\u6838\u9002\u914d](https://lore.kernel.org/lkml/20230530160126.2344425-1-suijingfeng@loongson.cn/)\u548c\\n[Mesa \u9002\u914d](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14606)\u3002\\n\\n5 \u6708 31 \u65e5\uff0cBinbin Zhou [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1685448898.git.zhoubinbin@loongson.cn/)\u9f99\u82af 2 \u53f7\u7cfb\u5217\u7684 APB DMA \u5f15\u64ce\u652f\u6301\u3002\\n\\n5 \u6708 31 \u65e5\uff0cYanteng Si [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1685501806.git.siyanteng@loongson.cn/) LS7A \u6865\u7247\u7684\u9ad8\u89e3\u6790\u5ea6\u97f3\u9891\uff08HD Audio\uff09\u652f\u6301\u3002\\n\\n### LLVM\\n\\n\u4e0a\u5468\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* Ami-zhang [\u4fee\u590d\u4e86][D151794] LLVM \u9759\u6001\u5206\u6790\u7ec4\u4ef6\u5bf9 LoongArch \u7684 `i32` \u7c7b\u578b\u53c2\u6570\u3001\u8fd4\u56de\u503c\u7684\u5904\u7406\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u6839\u636e\u5148\u524d\u7684 Linux \u5185\u6838\u8865\u4e01\uff0c\u4e3a LLVM [\u6dfb\u52a0\u4e86][D151655] 3A6000/LA664 \u7684\u7ec6\u7c92\u5ea6\u5185\u5b58\u6805\u969c\u652f\u6301\u3002\\n\\n[D151655]: https://reviews.llvm.org/D151655\\n[D151794]: https://reviews.llvm.org/D151794\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[KatyushaScarlet](https://github.com/KatyushaScarlet)\\n[\u5411\u5927\u5bb6\u4ecb\u7ecd](https://katyusha.net/536.html) :ta: \u57fa\u4e8e DOSBox-X \u6574\u5408\u7684\u6e38\u620f\u6a21\u62df\u5668\u3002\\n\u4e0d\u8fc7\u4f3c\u4e4e\u5728 QEMU \u6a21\u62df\u6761\u4ef6\u4e0b\u53ef\u80fd\u65e0\u6cd5\u542f\u52a8\u3002\\n\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u52a0\u5165 :ta: \u7684\u884c\u5217\u4e00\u8d77\u6298\u817e\uff01\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-3","metadata":{"permalink":"/newsletter/this-week-in-loongarch-3","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-29-this-week-in-loongarch-3.md","source":"@site/newsletter/2023-05-29-this-week-in-loongarch-3.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-05-29T04:57:02.000Z","formattedDate":"2023\u5e745\u670829\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.68,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-3","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","authors":["xen0n"],"date":"2023-05-29T04:57:02.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","permalink":"/newsletter/this-week-in-loongarch-4"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","permalink":"/newsletter/this-week-in-loongarch-2"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n5 \u6708 24 \u65e5\u4e0b\u5348\uff0cRust \u8bed\u8a00\u7684 `loongarch64-unknown-linux-gnu` \u76ee\u6807[\u6210\u529f\u664b\u5347][rust-loong-tier2]\u5230\\n[Tier 2 with Host Tools]\uff08\u5e26\u5bbf\u4e3b\u5de5\u5177\u7684\u4e8c\u7ea7\u67b6\u6784[^\u6ce8\u4e00]\uff09\u3002\\n\u8be5\u652f\u6301\u5df2\u4ece 5 \u6708 25 \u65e5\u5f00\u59cb\u51fa\u73b0\u4e8e Rust 1.71.0 Nightly \u7248\u672c\uff0c\u5e76\u5c06\u5728 7 \u6708 13 \u65e5\u7a33\u5b9a\u3002\\n\\n5 \u6708 26 \u65e5\uff0cmengqinggang \u5728 binutils \u90ae\u4ef6\u5217\u8868\u8d34\u51fa\u4e86 [LoongArch linker relaxation \u4f18\u5316][binutils-loong-relax]\u7684\u8865\u4e01\u3002\\n\\n:::info \u8fd9\u5565\u73a9\u610f\uff0c\u8fd9\u4e48\u653e\u677e\uff1f\\n\\nLinker relaxation \u6682\u65e0\u5e7f\u6cdb\u91c7\u7528\u7684\u4e2d\u6587\u7ffb\u8bd1\uff0c\u62d9\u8bd1\u300c\u94fe\u63a5\u5668\u5f1b\u8c6b\u300d\u6216\u300c\u94fe\u63a5\u5668\u677e\u5f1b\u300d\uff1a\\n\u7b80\u5355\u5730\u8bf4\uff0c\u8be5\u4f18\u5316\u662f\u94fe\u63a5\u5668\u6839\u636e\u7f16\u8bd1\u5668\u3001\u6c47\u7f16\u5668\u751f\u6210\u4ee3\u7801\u65f6\u63d0\u4f9b\u7684\u989d\u5916\u4fe1\u606f\uff0c\u5c06\u53ef\u7f29\u77ed\u7684\u8f83\u957f\u5e8f\u5217\u7f29\u77ed\uff0c\\n\u4ee5\u8fbe\u5230\u51cf\u5c11\u6307\u4ee4\u6570\uff0c\u4e14\u4e0d\u7528\u5173\u5fc3 code model \u7b49\u4ee3\u7801\u751f\u6210\u7ec6\u8282\u7684\u597d\u5904\uff1b\\n\u8fd9\u7c7b\u4f3c\u6750\u6599\u79d1\u5b66\u4e2d\u7684\u300c\u5e94\u529b\u5f1b\u8c6b/\u677e\u5f1b\u300d\u73b0\u8c61\uff0c\u5de5\u7a0b\u4e0a\u4e43\u81f3\u5728\u5bb6\u63c9\u9762\u65f6\uff0c\u300c\u91ca\u653e\u5e94\u529b\u300d\u4e5f\u662f\u5fc5\u987b\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002\\n\u5728 Linker relaxation \u4e2d\uff0c\u88ab\u91ca\u653e\u7684\u300c\u5e94\u529b\u300d\u5c31\u662f\u4e3a\u4e86\u5b9e\u73b0\u4e00\u5b9a\u8bed\u4e49\uff0c\u6240\u53ef\u80fd\u7528\u5230\u7684\u6700\u957f\u6307\u4ee4\u5e8f\u5217\u5566\u3002\\n\\n\u66f4\u591a\u4fe1\u606f\u53ef\u53c2\u8003 MaskRay \u7684\u4e13\u9898\u6587\u7ae0\uff1a[*The dark side of RISC-V linker relaxation*](http://maskray.me/blog/2021-03-14-the-dark-side-of-riscv-linker-relaxation)\\n\u4e0e [*RISC-V linker relaxation in lld*](http://maskray.me/blog/2022-07-10-riscv-linker-relaxation-in-lld)\u3002\\n\uff08\u4ece\u7b2c\u4e00\u7bc7\u6587\u7ae0\u7684\u6807\u9898\u53ef\u89c1\uff0c\u8fd9\u4e2a\u4f18\u5316\u5bf9\u57fa\u7840\u7ec4\u4ef6\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u4e0d\u89c1\u5f97\u5b8c\u5168\u662f\u597d\u4e8b:smirk_cat:\u3002\uff09\\n\\n\u8be5\u4f18\u5316\u80fd\u5e26\u6765\u6027\u80fd\u597d\u5904\uff0c\u4f46\u4e5f\u5c06\u8f83\u4e3a\u6df1\u523b\u5730\u5f71\u54cd LoongArch \u76ee\u6807\u4ee3\u7801\u7684\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7528\u6cd5\u3001\u7f16\u8bd1\u5668\u4ee3\u7801\u751f\u6210\uff0c\u4e43\u81f3\u7f16\u8bd1\u5668\u547d\u4ee4\u884c\u4f7f\u7528\u65b9\u5f0f[^\u6ce8\u4e8c]\u7b49\u591a\u4e2a\u65b9\u9762\uff1b\\n\u56e0\u6b64\u5efa\u8bae\u5f00\u53d1\u8005\u540c\u5b66\u4eec\u5bc6\u5207\u5173\u6ce8\u3002\\n\\n:::\\n\\n[binutils-loong-relax]: https://sourceware.org/pipermail/binutils/2023-May/127630.html\\n[rust-loong-tier2]: https://github.com/rust-lang/rust/pull/110936\\n[Tier 2 with Host Tools]: https://doc.rust-lang.org/rustc/target-tier-policy.html#tier-2-with-host-tools\\n\\n[^\u6ce8\u4e00]: \u53ea\u6709 x86\u3001AMD64 \u548c AArch64 \u8fd9\u79cd\u5e7f\u6cdb\u6d41\u884c\u67b6\u6784\u624d\u80fd\u8dfb\u8eab Tier 1\u3002\u4f5c\u4e3a\u53c2\u8003\uff0c`riscv64gc-unknown-linux-gnu` \u4e5f\u548c LA64 Linux \u4e00\u6837\u4f4d\u4e8e Tier 2 with host tools \u7ea7\u522b\u3002\\n[^\u6ce8\u4e8c]: \u7531\u4e8e linker relaxation \u53ef\u4ee5\u5220\u9664\u6307\u4ee4\uff0c\u56e0\u6b64\u53ea\u8981\u6709\u4e86 linker relaxation \u90a3\u4e48\u7f16\u8bd1\u7a0b\u5e8f\u65f6\u5c31\u5c06\u4e0d\u518d\u9700\u8981\u6709\u65f6\u624b\u5de5\u6307\u5b9a code model \u4ee5\u5bb9\u8bb8\u66f4\u5927\u7684\u8df3\u8f6c\u8303\u56f4\u7b49\u60c5\u51b5\u53d1\u751f\u4e86\u3002\u56e0\u6b64\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u7edd\u5927\u90e8\u5206\u573a\u666f\u5c31\u4e0d\u518d\u9700\u8981\u5173\u5fc3\u6216\u6307\u5b9a `-mcmodel` \u8fd9\u4e2a\u9009\u9879\u4e86\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n\uff08\u4e0a\u671f\u6ca1\u6709\u6ce8\u610f\u5230\uff095 \u6708 20 \u65e5\uff0cDebian \u4e0a\u6e38\u65b0\u5efa\u4e86 `pool-loong64` \u6587\u4ef6\u5939\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u4e0a\u5468\u6682\u65e0\u8fdb\u5c55\uff08\u63a8\u8fdb\u8be5\u9879\u76ee\u7684\u540c\u5b66\u90fd\u5728\u5fd9\u522b\u7684\uff09\u3002\\n\\n### Linux\\n\\n5 \u6708 22 \u65e5\uff0cYinbo Zhu [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230522093156.7108-1-zhuyinbo@loongson.cn/)\u9f99\u82af 2 \u53f7\u7cfb\u5217\u7684\u7535\u6e90\u7ba1\u7406\u652f\u6301\u8865\u4e01\u3002\\n\\n5 \u6708 23 \u65e5\uff0cTiezhu Yang [\u5c1d\u8bd5\u91cd\u6784](https://lore.kernel.org/loongarch/1684837327-18203-1-git-send-email-yangtiezhu@loongson.cn/) `perf` \u5de5\u5177\u7684\u7cfb\u7edf\u8c03\u7528\u8868\u3002\\n\\n5 \u6708 25 \u65e5\uff0cBinbin Zhou [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1684983279.git.zhoubinbin@loongson.cn/)\u9f99\u82af RTC \u63a7\u5236\u5668\u9a71\u52a8\u7684\u7b2c 4 \u7248\u8865\u4e01\u3002\\n\\n5 \u6708 29 \u65e5\uff0cJianmin Lv [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230529010954.2678-1-lvjianmin@loongson.cn/)\u9f99\u82af\u4e2d\u65ad\u63a7\u5236\u5668\u9a71\u52a8\u7684\u4e00\u4e9b\u884c\u4e3a\u4fee\u590d\u7684\u7b2c 2 \u7248\u8865\u4e01\u3002\\n\\n### LLVM\\n\\n\u672c\u5468\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* tangyouling\u3001Ami-zhang \u4e3a compiler-rt fuzzer \u7ec4\u4ef6[\u9002\u914d\u4e86][D140607]\u975e 4KiB \u9875\u7684\u7cfb\u7edf\u3002\u5f53\u7136\uff0c\u4e5f\u5305\u62ec\u9f99\u67b6\u6784\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u7ec8\u4e8e\u627e\u5230\u4e86\u8db3\u591f\u65f6\u95f4[\u8c03\u8bd5\u5e76\u4fee\u590d\u4e86][D138135] lld/ELF LoongArch port \u7684 TLS \u5904\u7406\u903b\u8f91\u3002\u8be5\u8865\u4e01\u7ec8\u4e8e\u79f0\u5f97\u4e0a\u300c\u5b8c\u6210\u300d\u4e86\u3002\\n\\n[D138135]: https://reviews.llvm.org/D138135\\n[D140607]: https://reviews.llvm.org/D140607\\n\\n### Rust\\n\\n[\u6dfb\u52a0\u9f99\u67b6\u6784\u88f8\u673a targets \u7684 MCP][loong-baremetal-mcp] \u6b63\u5728\u516c\u793a\u671f\u5185\u3002\u76ee\u524d\u6ca1\u6709\u53cd\u5bf9\u610f\u89c1\uff0c\u9884\u8ba1\u672c\u5468\u5c06\u83b7\u5f97\u901a\u8fc7\u3002\\n\\n\u9f99\u67b6\u6784 Rust \u7ef4\u62a4\u8005\u4eec\u4e5f\u5728\u7740\u624b\u4e3a rustup \u6dfb\u52a0\u652f\u6301\u4e86\uff1a\\n\\n* [\u5347\u7ea7\u4f9d\u8d56\u7248\u672c][rustup-pr-1]\u3001\\n* [\u4fee\u590d\u7f16\u8bd1][rustup-pr-2]\u3001\\n* [\u6dfb\u52a0 CI \u652f\u6301][rustup-pr-3]\u3002\\n\\n[loong-baremetal-mcp]: https://github.com/rust-lang/compiler-team/issues/628\\n[rustup-pr-1]: https://github.com/rust-lang/rustup/pull/3365\\n[rustup-pr-2]: https://github.com/rust-lang/rustup/pull/3364\\n[rustup-pr-3]: https://github.com/rust-lang/rustup/pull/3363\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u8fd9\u4e9b PRs \u90fd\u5df2\u88ab\u5408\u5e76\u3002\\n\u9884\u8ba1\u5230 Rust 1.71.0 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u9f99\u67b6\u6784 Rust \u5f00\u53d1\u8005\u5c06\u5f97\u4ee5\u4eab\u53d7\u4e0d\u900a\u5176\u4ed6\u67b6\u6784\u7684\u540c\u7b49\u5f00\u53d1\u4f53\u9a8c\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u672c\u5468\u6ca1\u6709\u6295\u7a3f\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-2","metadata":{"permalink":"/newsletter/this-week-in-loongarch-2","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-22-this-week-in-loongarch-2.md","source":"@site/newsletter/2023-05-22-this-week-in-loongarch-2.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-05-22T04:05:38.000Z","formattedDate":"2023\u5e745\u670822\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.485,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-2","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","authors":["xen0n"],"date":"2023-05-22T04:05:38.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","permalink":"/newsletter/this-week-in-loongarch-3"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","permalink":"/newsletter/this-week-in-loongarch-1"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u672c\u680f\u76ee\u5e76\u975e\u6bcf\u671f\u90fd\u6709\u3002\u5982\u679c\u4f60\u770b\u5230\u4e86\uff0c\u4e00\u5b9a\u662f\u4e0a\u5468\u53d1\u751f\u4e86\u91cd\u5927\u4e8b\u4ef6\uff01\\n\\n5 \u6708 17 \u65e5\u665a\u95f4\uff0cGNU GRUB2 \u7684 LoongArch \u79fb\u690d[\u8fdb\u5165\u4e0a\u6e38][grub-msg]\uff0c\\n\u5c06\u4e8e\u8fd1\u671f\u7684 2.12 \u7248\u672c\u6b63\u5f0f\u53d1\u5e03\u3002\\n\u4ece[\u56fd\u5185 LoongArch \u793e\u533a\u6700\u65e9\u7684\u4ee3\u7801\u63d0\u4ea4\u4e0e\u5185\u90e8\u5ba1\u67e5][la64-grub-first-pr]\u4ee5\u6765\uff0c\\n\u5df2\u5c06\u8fd1\u4e24\u5e74\u65f6\u95f4\uff1b\u4ece[\u5411\u4e0a\u6e38\u6b63\u5f0f\u63d0\u4ea4\u7684\u7b2c\u4e00\u7248][grub-first-submission]\u5f00\u59cb\uff0c\\n\u4e5f\u5feb\u4e00\u5e74\u534a\u4e86\u3002\\n\\n[grub-msg]: https://lists.gnu.org/archive/html/grub-devel/2023-05/msg00089.html\\n[la64-grub-first-pr]: https://github.com/loongarch64/grub/pull/1\\n[grub-first-submission]: https://lists.gnu.org/archive/html/grub-devel/2022-01/msg00036.html\\n\\n\u8fd9\u671f\u95f4\uff0c\u4ee5\u4e0b\u540c\u5b66\u4ee5\u5404\u79cd\u5f62\u5f0f\u53c2\u4e0e\u4e86\u4ee3\u7801\u7684\u5f00\u53d1\u3001\u5ba1\u67e5\u3001\u6d4b\u8bd5\u7b49\u5de5\u4f5c\uff1a\uff08\u4ee5 ID \u4e3a\u5e8f\uff09\\n\\n* [@cnmushiba](https://github.com/cnmushiba)\\n* [@hudsonzuo](https://github.com/hudsonzuo)\\n* [@kilaterlee](https://github.com/kilaterlee)\\n* [@sdlaqz](https://github.com/sdlaqz)\\n* [@sunhaiyong1978](https://github.com/sunhaiyong1978)\\n* [@xen0n](https://github.com/xen0n)\\n* [@xry111](https://github.com/xry111)\\n* `yangqiming `\\n* [@yetist](https://github.com/yetist)\\n* [@zhangwenlong8911](https://github.com/zhangwenlong8911)\\n* [@zhuyaliang](https://github.com/zhuyaliang)\\n* [@zwaizwai](https://github.com/zwaizwai)\\n\\n\u5f53\u7136\uff0c\u9664\u4e86\u8fd9\u4e9b\u540d\u5b57\u4e4b\u5916\uff0c\u8fd8\u6709\u5176\u4ed6\u6ca1\u6709\u51fa\u73b0\u5728\u8ba8\u8bba\u4e32\u3001\u63d0\u4ea4\u5386\u53f2\u7684\u65e0\u540d\u82f1\u96c4\u3002\\n\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u4eec\u7684\u4ed8\u51fa\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n\u4e0a\u5468\u6ca1\u6709\u53d1\u884c\u7248\u65b9\u9762\u7684\u65b0\u52a8\u5411\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u9f99\u82af LLVM \u56e2\u961f\u4e0e xen0n \u6b63\u5728\u5bf9 LLVM \u8fdb\u884c\u5fc5\u8981\u7684\u4fee\u6539\uff0c\u4ee5\u4f7f\u5176\u8db3\u4ee5\u6784\u5efa Linux \u5185\u6838\u3002\\n\u4e0a\u4e00\u8f6e\u8fed\u4ee3\u57fa\u672c\u5b8c\u6210\uff0c\u53d1\u73b0\u4e86\u66f4\u591a\u7684\u5f85\u8ddf\u8fdb\u9879\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u7684\u5751\uff1a\\n\\n* \u62fc\u63a5\u6307\u4ee4\u5b57\u4f7f\u7528\u7684 `parse_r` \u8f85\u52a9\u4f8b\u7a0b\u76ee\u524d\u4e0d\u80fd\u5728 LLVM \u5904\u7406\u5f62\u5982 `$a0` \u7684\u5bc4\u5b58\u5668\u540d\u3002\\n* `` \u7528\u5230\u4e86\u4e0d\u80fd\u88ab\u6b63\u786e\u5904\u7406\u7684\u5199\u6cd5\u3002\\n* `la_abs` \u5b8f\u6240\u4f7f\u7528\u5230\u7684\u91cd\u5b9a\u4f4d\u5199\u6cd5\u6d89\u53ca\u4e86\u4e0d\u540c\u6bb5\uff08section\uff09\u95f4\u7684\u504f\u79fb\u8ba1\u7b97\uff0c\u4e0d\u88ab LLVM \u652f\u6301\uff0c\u9700\u8981\u6539\u5199\u3002\\n* `addrspace`\uff08\u5728 C \u4e00\u4fa7\uff1a`address_space(X)` \u5c5e\u6027\uff09\u4e0d\u80fd\u88ab\u7528\u4ee5\u7ed5\u8fc7\u5bf9 `model` \u5c5e\u6027\u7684\u6b63\u7ecf\u652f\u6301\uff0c`model` \u4ecd\u7136\u9700\u8981\u88ab\u5b9e\u73b0\u3002\\n\\n### Linux\\n\\n5 \u6708 16 \u65e5\uff0cHuacai Chen \u5728 Linux/LoongArch \u90ae\u4ef6\u5217\u8868\u8d34\u51fa\u4e86\u4e24\u4e2a\u9488\u5bf9\u9f99\u82af 3A6000\\n\uff08LA664 \u5fae\u67b6\u6784\uff09\u7684\u6027\u80fd\u4f18\u5316\u8865\u4e01\u3002\u8fd9\u4e5f\u662f LA664 \u5fae\u67b6\u6784\u7684\u65b0\u9c9c\u7279\u6027\u9996\u6b21\u89c1\u8bf8\u62a5\u7aef\u3002\\n\u5b83\u4eec\u5206\u522b\u662f\uff1a[\u66f4\u7ec6\u7c92\u5ea6\u7684\u5185\u5b58\u6805\u969c\u64cd\u4f5c][la664-dbar]\u4e0e[\u9875\u8868\u904d\u5386\u7684\u786c\u4ef6\u52a0\u901f\u652f\u6301][la664-ptw]\u3002\\n\\n5 \u6708 15 \u65e5\uff0cTianrui Zhao \u8d34\u51fa\u4e86 [LoongArch KVM \u7684\u7b2c 10 \u7248\u8865\u4e01][kvm-r10]\u3002\u7136\u800c\u865a\u62df\u5316\u6307\u4ee4\u96c6\u6269\u5c55\u7684\u624b\u518c\u4ecd\u7136\u6ca1\u6709\u516c\u5f00\u3002\\n\\n5 \u6708 14 \u65e5\uff0cImmad Mir [\u4fee\u590d\u4e86][fix-debugfs-init]\u975e\u5bf9\u9f50\u8bbf\u5b58\u6a21\u62df\u529f\u80fd\u7684 debugfs \u521d\u59cb\u5316\u8fc7\u7a0b\u7684\u8fd4\u56de\u503c\u5904\u7406\u3002\u8be5\u8865\u4e01\u5df2\u88ab\u63a5\u53d7\u3002\\n\\n[la664-dbar]: https://lore.kernel.org/loongarch/20230516124536.535343-1-chenhuacai@loongson.cn/\\n[la664-ptw]: https://lore.kernel.org/loongarch/20230516124610.535360-1-chenhuacai@loongson.cn/\\n[kvm-r10]: https://lore.kernel.org/loongarch/20230515021522.2445551-1-zhaotianrui@loongson.cn/\\n[fix-debugfs-init]: https://lore.kernel.org/loongarch/CY5PR12MB64558068B314942BA1B2ED2BC67B9@CY5PR12MB6455.namprd12.prod.outlook.com/\\n\\n### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining \u4e3a LoongArch [\u6dfb\u52a0\u4e86 LP64S\uff0864 \u4f4d\u8f6f\u6d6e\u70b9\uff09ABI \u652f\u6301][D150417]\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n* SixWeining \u4f7f Clang \u5728\u7f16\u8bd1\u6c47\u7f16\u8bed\u8a00\u7684\u6e90\u7801\u65f6[\u80fd\u591f\u6b63\u786e\u5411\u6c47\u7f16\u5668\u4f20\u9012 ABI \u76f8\u5173\u9009\u9879][D150537]\u3002\\n \u8fd9\u4e5f\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n\\n\u4e0a\u5468\u6ca1\u6709\u65b0\u7684 LoongArch \u76f8\u5173\u52a8\u5411\u3002\\n\\n[D150417]: https://reviews.llvm.org/D150417\\n[D150537]: https://reviews.llvm.org/D150537\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u4e0a\u5468\u6ca1\u6709\u6295\u7a3f\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-1","metadata":{"permalink":"/newsletter/this-week-in-loongarch-1","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-15-this-week-in-loongarch-1.md","source":"@site/newsletter/2023-05-15-this-week-in-loongarch-1.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","description":"\u7531\u5fd7\u613f\u8005\u4eec\u81ea\u53d1\u7f16\u64b0\u7684 LoongArch® \u793e\u533a\u751f\u6001\u5468\u62a5\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u4e0e\u5927\u5bb6\u89c1\u9762\u4e86\uff01","date":"2023-05-15T13:49:14.000Z","formattedDate":"2023\u5e745\u670815\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.185,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-1","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","authors":["xen0n"],"date":"2023-05-15T13:49:14.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","permalink":"/newsletter/this-week-in-loongarch-2"}},"content":"\u7531\u5fd7\u613f\u8005\u4eec\u81ea\u53d1\u7f16\u64b0\u7684 LoongArch® \u793e\u533a\u751f\u6001\u5468\u62a5\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u4e0e\u5927\u5bb6\u89c1\u9762\u4e86\uff01\\n\u6bcf\u4e2a\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u5e26\u6765\u793e\u533a\u8d21\u732e\u8005\u4eec\u4ece\u6700\u524d\u7ebf\u4f20\u6765\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\u3002\\n\\n\x3c!-- truncate --\x3e\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n* Loong Arch Linux: yetist \u53d1\u5e03\u4e86 2023.05.08 \u7248\u672c\u7684 ISO \u955c\u50cf\u3002\\n* Debian: 5 \u6708 15 \u65e5\u95f4\uff0czhangdandan \u547c\u5401\u611f\u5174\u8da3\u7684\u540c\u5b66\u53bb[\u7533\u8bf7\u521b\u5efa debian-loongarch \u90ae\u4ef6\u5217\u8868\u7684 bug][debian-loongarch] \u4e0b\u56de\u590d\u8868\u793a\u652f\u6301\u3002\\n* Deepin: \u4e2d\u56fd\u65f6\u95f4 5 \u6708 6 \u65e5\u51cc\u6668 03:59\uff0cRevy \u5728 Deepin \u793e\u533a[\u63d0\u4ea4\u4e86\u589e\u52a0\u9f99\u67b6\u6784\u652f\u6301\u7684 PR][deepin-loong]\u3002\u8f9b\u82e6\u4e86\uff01\\n\\n[loongarchlinux-isos]: https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/\\n[debian-loongarch]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023585\\n[deepin-loong]: https://github.com/deepin-community/rfcs/pull/2\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u9f99\u82af LLVM \u56e2\u961f\u4e0e xen0n \u6b63\u5728\u5bf9 LLVM \u8fdb\u884c\u5fc5\u8981\u7684\u4fee\u6539\uff0c\u4ee5\u4f7f\u5176\u8db3\u4ee5\u6784\u5efa Linux \u5185\u6838\u3002\\n\\n### Linux\\n\\n* \u5317\u4eac\u65f6\u95f4 5 \u6708 11 \u65e5\uff0c`drm-next` \u5206\u652f[\u63a5\u53d7\u4e86\u4e3a DCN \u67b6\u6784 AMD \u663e\u5361\u6dfb\u52a0\u9f99\u67b6\u6784\u9002\u914d\u7684\u8865\u4e01][dc-fp-loong]\u3002\\n \u8be5\u8865\u4e01\u5df2\u8fdb\u5165 linux-next\uff0c\u53ef\u65b9\u4fbf\u8bd5\u7528\u4e86\u3002\\n\\n[dc-fp-loong]: https://gitlab.freedesktop.org/agd5f/linux/-/commit/d3295311e589a14a7496f0e14b5be6c3b5d9e134\\n\\n### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining \u4e3a LoongArch Clang \u7684\u5185\u8054\u6c47\u7f16\uff08inline asm\uff09[\u6dfb\u52a0\u4e86][D136436]\u4e0d\u5e26 `$` \u524d\u7f00\u7684\u901a\u7528\u5bc4\u5b58\u5668\u652f\u6301\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n* SixWeining \u4e3a LoongArch Clang \u7684\u5185\u8054\u6c47\u7f16[\u6dfb\u52a0\u4e86][D150089]\u5bf9\u6d6e\u70b9\u6761\u4ef6\u7801\u5bc4\u5b58\u5668 `$fccX` \u7684 clobber \u652f\u6301\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u5c1d\u8bd5\u4e3a LoongArch \u540e\u7aef[\u6dfb\u52a0\u5bf9 large \u4ee3\u7801\u6a21\u578b\u7684\u652f\u6301][D150522]\uff08GCC \u53eb\u8fd9\u4e2a\u6a21\u578b `extreme`\uff09\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n\\n[D136436]: https://reviews.llvm.org/D136436\\n[D150089]: https://reviews.llvm.org/D150089\\n[D150522]: https://reviews.llvm.org/D150522\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\ndonmor \u540c\u5b66\u4f7f\u7528 QEMU \u6a21\u62df\u7684\u9f99\u67b6\u6784\u9a8c\u8bc1\u4e86\u5f88\u591a\u8f6f\u4ef6\u548c\u6e38\u620f\uff1a\\n\\n* [TheXTech SMBX](https://github.com/Wohlstand/TheXTech)\uff0c\u540c\u4eba\u9a6c\u91cc\u5965\u5f15\u64ce\u3002\\n \u4f7f\u7528 `-sw` \u53c2\u6570\u8f6f\u89e3\u53ef\u5728 QEMU \u8fd0\u884c~~\u4e00\u5e27\u7535\u7ade~~\uff0c\u636e\u7fa4\u53cb\u8bf4\u72ec\u663e\u5b9e\u673a\u53ef\u73a9\\n* [EasyRPG Player](https://easyrpg.org/player)\uff0cRPG2000/2003 \u865a\u62df\u673a\uff0c\u5728 QEMU \u53ef\u6d41\u7545\u8fd0\u884c\\n* [LTFS](https://github.com/LinearTapeFileSystem/ltfs)\uff0c\u78c1\u5e26\u673a\u7684\u9a71\u52a8\u3002\u53ef\u80fd\u9700\u8981\u7a0d\u5fae\u6539\u4e00\u4e9b\u4ee3\u7801\\n* [FRP](https://gofrp.org/)\uff0c\u5185\u7f51\u7a7f\u900f\u5de5\u5177\uff0c\u61c2\u7684\u90fd\u61c2\uff08\\n* [SpaceCadetPinball](https://github.com/k4zmu2a/SpaceCadetPinball)\uff0cWindows XP \u4e09\u7ef4\u5f39\u7403\u7684\u79fb\u690d\u7248\u3002\\n \u9700\u8981\u81ea\u884c\u83b7\u53d6\u539f\u7248\u6587\u4ef6\u653e\u5165 `~/.local/share/SpaceCadetPinball`\u3002\\n QEMU \u5e27\u6570\u611f\u4eba\\\\_(:\u0437\u300d\u2220)\\\\_\\n* [Seafile](https://www.seafile.com/)\uff0c\u5927\u540d\u9f0e\u9f0e\u7684\u7f51\u76d8\uff0c\u5728\u8bba\u575b\u4e5f\u88ab\u63d0\u8d77\u597d\u591a\u6b21\u3002\\n \u6b64\u6b21\u7f16\u8bd1\u7684\u662f\u793e\u533a\u7248 9.0.10\uff0c\u4e0d\u6392\u9664\u4e13\u4e1a\u7248\u53ef\u4ee5 LATX \u8fd0\u884c\uff08\\n \u9664\u7f51\u9875\u7aef Office \u96c6\u6210\u548c\u5ba2\u6237\u7aef OAuth\uff08\u6ca1\u8bd5\u8fc7\uff0c\u636e\u8bf4\u56e0\u4e3a\u7f3a\u5c11 qt5-webengine\uff09\u5916\uff0c\u5927\u90e8\u5206\u529f\u80fd\u5df2\u57fa\u672c\u53ef\u7528\uff0cseadrive \u9700\u6307\u5b9a\u4f7f\u7528 qt5-webkit\uff08\u5df2\u8fdb\u5165 Arch \u6e90\uff09\\n* [np2kai](http://domisan.sakura.ne.jp/article/np2kai/np2kai.html)\uff0c\u5927\u540d\u9f0e\u9f0e\u7684 PC98 \u6a21\u62df\u5668 nekoproject2 \u7684\u8de8\u5e73\u53f0\u6539\u7248\uff0c\u5df2\u7ecf\u8fdb\u5165 libretro\u3002\\n QEMU \u53ef\u542f\u52a8\uff0c\u80fd\u8fd0\u884c\u4e1c\u65b9\u65e7\u4f5c\uff0c\u7136\u800c\u5e27\u6570\u4e0d\u5230 1fps\uff08\u60b2\uff09\\n* [Onscripter-Yuri](https://github.com/YuriSizuku/OnscripterYuri)\uff0cNScripter\u865a\u62df\u673a\u3002\\n QEMU \u53ef\u542f\u52a8\uff0c\u4e5f\u6bd4\u8f83\u5361\uff0c\u4e0d\u8fc7\u8fd9\u4e5f\u662f\u4e2a\u4e0d\u4f1a\u8ba9\u4eba\u6709\u7a7a\u5173\u5fc3\u5e27\u6570\u7684\u73a9\u610f\uff08\\n \u636e\u8bf4\u53ef\u4ee5\u542f\u52a8 FSN\uff0c\u6708\u7403\u4eba\u72c2\u559c\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"}]}')}}]); \ No newline at end of file diff --git a/assets/js/a68796e0.74a659b0.js b/assets/js/a68796e0.74a659b0.js new file mode 100644 index 00000000..3270a7e5 --- /dev/null +++ b/assets/js/a68796e0.74a659b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[2484],{4790:n=>{n.exports=JSON.parse('{"blogPosts":[{"id":"these-weeks-in-loongarch-33","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-33","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-24-these-weeks-in-loongarch-33.md","source":"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-23T19:20:00.000Z","formattedDate":"2024\u5e741\u670823\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{"label":"\u6bcf\u5468\u4e24\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],"readingTime":12.405,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-33","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","authors":["xen0n"],"date":"2024-01-23T19:20:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},"unlisted":false,"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","permalink":"/newsletter/this-week-in-loongarch-32"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u4e24\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5404\u5927\u5de5\u5177\u94fe\u9879\u76ee\uff0c\u4ee5\u53ca `libLoL`\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468\u73b0\u5b9e\u751f\u6d3b\u7e41\u5fd9\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e09\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 1 \u6708 23 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nLinux 6.8 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u5173\u95ed\uff0cv6.8-rc1 \u5df2\u7ecf\u53d1\u5e03\u3002\u6839\u636e Huacai Chen \u7684\\n[KVM PR](https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/)\\n\u4e0e[\u67b6\u6784 PR](https://lore.kernel.org/loongarch/20240119110700.335741-1-chenhuacai@loongson.cn/)\uff0c\\n\u672c\u5468\u671f\u7684 LoongArch \u53d8\u66f4\u4e3b\u8981\u6709\uff1a\\n\\n* \u62ac\u5347\u4e86 LLVM/Clang \u7684\u6700\u4f4e\u652f\u6301\u7248\u672c\u5230 18\uff0c\u5e76\u652f\u6301 Rust \u8bed\u8a00\uff08WANG Rui\uff09\u3002\\n* \u5185\u7f6e\u4e86\u9f99\u82af 2K \u7cfb\u5217 SoC \u7684\u8bbe\u5907\u6811\uff08Binbin Zhou\uff09\u3002\\n* BPF JIT \u4f18\u5316\u4e0e\u4fee\u590d\uff08Hengqi Chen\uff09\u3002\\n* \u652f\u6301\u5904\u7406 UEFI ESRT \u8868\u683c\uff0c\u4e3a\u7cfb\u7edf\u5185\u7684\u56fa\u4ef6\u5347\u7ea7\u65b9\u6848\u5982 fwupd \u505a\u51c6\u5907\uff08Huacai Chen\uff09\u3002\\n* \u4f7f\u7528\u516c\u5171\u8bbe\u65bd\u5b9e\u73b0\u4e86 `crashkernel` \u5185\u6838\u53c2\u6570\uff08Youling Tang\uff09\u3002\\n* \u4fee\u590d\u4e86 `execve` \u540e\u7684 FCSR \u521d\u59cb\u5316\u95ee\u9898\uff08Xi Ruoyao\uff09\u3002\\n* \u5b8c\u5584\u4e86 KVM \u5185\u5b58\u7ba1\u7406\u4e0e\u5b9a\u65f6\u5668\u6a21\u62df\uff08Bibo Mao\uff09\u3002\\n* \u652f\u6301\u5728 KVM \u865a\u62df\u673a\u4e2d\u4f7f\u7528 LSX\u3001LASX \u4e86\uff08Tianrui Zhao\uff09\u3002\\n\\n\u4e0d\u5de7\u7684\u662f\uff0c\u5408\u5e76 LoongArch KVM \u76f8\u5173\u4fee\u6539\u65f6[\u6f0f\u6389\u4e86](https://lore.kernel.org/loongarch/20240120114412.2208a8c1@canb.auug.org.au/)\u4e00\u4e2a\u4fee\u590d\u6784\u5efa\u9519\u8bef\u7684\u8865\u4e01\u3002\\n\u8fd9\u662f\u9488\u5bf9 KVM \u5206\u652f\u7684\u4ee3\u7801\u91cd\u6784\u7684\u8ddf\u8fdb\uff0c\u4f46\u7531\u4e8e\u53cc\u65b9\u5206\u652f\u57fa\u7840\u4e0d\u540c\uff0c\u56e0\u800c\u9700\u8981 Linus \u5728\u5408\u5e76\u65f6\u624b\u5de5\u64cd\u4f5c\uff1b\u6ca1\u6709\u4eba\u63d0\u9192\u81ea\u7136\u5c31\u4e0d\u4f1a\u64cd\u4f5c\u3002\\n\u76ee\u524d\u5982\u679c\u8981\u7f16\u8bd1\u4e3b\u7ebf\u5185\u6838\uff0c\u9700\u8981\u6253\u4e0a\u8be5\u8865\u4e01\uff0c\u6216\u8005\u7981\u7528 KVM \u529f\u80fd\u3002\\n\u4e0d\u8fc7\u5728\u76ee\u524d\u7684\u4ed3\u5e93\u72b6\u6001\u4e0b\uff0c\u8be5\u8865\u4e01\u5df2\u7ecf\u53ef\u4ee5\u76f4\u63a5\u6253\u4e0a\u4e86\uff1b\u56e0\u6b64\u6b64\u95ee\u9898\u9884\u8ba1\u5c06\u5f88\u5feb\u5728\u4e3b\u7ebf\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n1 \u6708 10 \u65e5\uff0c\u9f99\u82af\u7f16\u8bd1\u5668\u56e2\u961f[\u8d34\u51fa\u4e86](https://github.com/loongson/gcc/issues/114)\u4e00\u4efd\u8c03\u7528\u7ea6\u5b9a\u6269\u5c55\u7684\u8349\u7a3f\uff0c\u8be5\u6269\u5c55\u5141\u8bb8\u901a\u8fc7\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u3002\\n\u8fd9\u6837\u505a\u53ef\u4ee5\u51cf\u5c11\u5185\u5b58\u8bbf\u95ee\uff0c\u8fdb\u800c\u63d0\u5347\u6027\u80fd\uff1b\u4f46\u4e5f\u6709\u517c\u5bb9\u6027\u3001\u4ee5\u53ca\u4e0e\u9075\u5faa\u73b0\u6709\u8c03\u7528\u7ea6\u5b9a\u7684\u5b58\u91cf\u4ee3\u7801\u7684\u4e92\u64cd\u4f5c\u6027\u7b49\u65b9\u9762\u7684\u62c5\u5fe7\u3002\\n\\n\u5de5\u5355[\u968f\u9644\u4e86](https://github.com/loongson/gcc/pull/113)\u9f99\u82af\u56e2\u961f\u505a\u7684\u539f\u578b\u5b9e\u73b0\uff1a\\n\u8bf7\u5728\u610f\u6280\u672f\u7ec6\u8282\u7684\u540c\u5b66\u4eec\u5173\u6ce8\uff0c\u4ee5\u6c42\u5c06\u5927\u6982\u7387\u4f1a\u5b58\u5728\u7684\u95ee\u9898\u5c3d\u65e9\u66b4\u9732\u3001\u4fee\u590d\u3002\\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01\\n\\n#### binutils {#binutils}\\n\\nGNU Binutils 2.42 \u5206\u652f\u5df2\u4e8e 1 \u6708 15 \u65e5[\u5207\u51fa](https://sourceware.org/pipermail/binutils/2024-January/131859.html)\uff0c\\n\u7406\u60f3\u72b6\u51b5\u4e0b\uff0c\u5c06\u4e8e\u5206\u652f\u7ba1\u7406\u5458\u65f6\u533a\u7684 1 \u6708 29 \u65e5\u53d1\u5e03\u3002\\n\\n[Xi Ruoyao][xry111] \u8d76\u5728\u6b63\u5f0f\u53d1\u5e03\u524d\u505a\u4e86\u4e9b\u5de5\u4f5c\uff1a\\n\\n* \u6309\u7167 LoongArch ABI v2.30 [\u8c03\u6574\u4e86](https://sourceware.org/pipermail/binutils/2024-January/131871.html )\u82e5\u5e72\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7c7b\u578b\u7684\u8bed\u4e49\uff0c\\n* [\u4fee\u4e86](https://sourceware.org/pipermail/binutils/2024-January/131975.html)\u6d4b\u8bd5\uff0c\\n* [\u6574\u7406\u4e86](https://sourceware.org/pipermail/binutils/2024-January/132050.html) 2.42 \u7248\u672c\u7684 LoongArch \u53d8\u66f4\u5185\u5bb9\u6587\u6863\u3002\\n\\n[xry111]: https://github.com/xry111\\n\\n#### GCC {#gcc}\\n\\nLulu Cheng \u8ba9 GCC \u5728\u4f7f\u7528 `extreme` \u4ee3\u7801\u6a21\u578b\u65f6\uff0c[\u4f7f\u7528](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641865.html)\u5b8f\u6307\u4ee4\u751f\u6210\u7b26\u53f7\u5730\u5740\uff0c\\n\u4f46 [Xi Ruoyao] [\u8ba4\u4e3a](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641919.html)\u5e94\u8be5\u6362\u4e00\u79cd\u505a\u6cd5\u3002\\n\\nLulu Cheng \u8fd8\u5c06 GOT\uff08\u5168\u5c40\u504f\u79fb\u8868\uff09\u8bb0\u5f55[\u6807\u8bb0\u4e3a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642896.html)\u53ea\u8bfb\u3002\\n\u8fd9\u53ef\u80fd\u4f1a\u5141\u8bb8\u66f4\u591a\u4f18\u5316\u3002\\n\\nXi Ruoyao [\u53d1\u73b0\u4e86](https://gcc.gnu.org/PR113418) GCC \u5411\u91cf\u6d4b\u8bd5\u5957\u4ef6\u672c\u8eab\u7684\u4e00\u4e9b\u95ee\u9898\u3002\\n\\nXi Ruoyao \u8fd8[\u9002\u914d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/643644.html) TLS LD/GD relaxation\u3002\\n\\n#### LLVM {#llvm}\\n\\nLLVM 18 \u7684\u4ee3\u7801\u5c06\u4e8e\u4e2d\u56fd\u65f6\u95f4 1 \u6708 24 \u65e5\u51bb\u7ed3\u3002\\n\\n[wangleiat] [\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/78943)\u76ee\u6807\u7279\u6027\uff08target feature\uff09`auto-vec`\uff0c\\n\u7528\u4ee5\u63a7\u5236\u662f\u5426\u8fdb\u884c\u81ea\u52a8\u5411\u91cf\u5316\u3002\\n\u76ee\u524d\u6b64\u7279\u6027\u9ed8\u8ba4\u5173\u95ed\uff0c\u56e0\u4e3a\u4ecd\u9700\u4e00\u4e9b\u5de5\u4f5c\u91cf\u624d\u80fd\u786e\u4fdd\u5b9e\u9645\u63d0\u5347\u6027\u80fd\u3002\\n\\n[yjijd] [\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/78924)\u5411\u91cf\u7c7b\u578b\u7684\u6574\u6570\u8f6c\u6d6e\u70b9\u6570\u64cd\u4f5c\uff1a\\n\u5373 LLVM IR \u7684 `sitofp` \u4e0e `uitofp` \u64cd\u4f5c\u3002\\n\\n[Ami-zhang] [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/78238) LoongArch\\nv1.10 \u7684\u65b0\u589e\u6307\u4ee4\u652f\u6301\u3002\\n\\n[Ami-zhang] \u8fd8[\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/78962)\u76ee\u6807\u7279\u6027 `frecipe`\uff0c\\n\u4ee5\u53ca\u76f8\u5e94\u7684 Clang intrinsics\uff0c\u4ee5\u4fbf\u5f00\u53d1\u8005\u63a7\u5236 LoongArch v1.10 \u7684\u6d6e\u70b9\u8fd1\u4f3c\u53d6\u5012\u6570\u7b49\u64cd\u4f5c\u7684\u4f7f\u7528\u4e0e\u5426\u3002\\n\\n[MQ-mengqing] [\u5b8c\u5584\u4e86](https://github.com/llvm/llvm-project/pull/77728)\u5f00\u542f\\nlinker relaxation \u60c5\u51b5\u4e0b\u7684 DWARF \u8c03\u8bd5\u4fe1\u606f\u5904\u7406\u3002\\n\\n[MQ-mengqing] \u8fd8\u6839\u636e\u6700\u65b0 LoongArch ELF psABI\\n[\u5904\u7406\u4e86](https://github.com/llvm/llvm-project/pull/72962)\u6c47\u7f16\u5668\u5bf9\u9f50\u6307\u793a\u3002\\n\u622a\u81f3\u53d1\u7a3f\uff0c\u6b64 PR \u4ecd\u7136\u6ca1\u6709\u5408\u5e76\uff1b\u4e0d\u8fc7\u5df2\u7ecf\u901a\u8fc7\u4ee3\u7801\u5ba1\u67e5\uff0c\u56e0\u6b64\u8d76\u4e0a LLVM 18 \u5e94\u8be5\u95ee\u9898\u4e0d\u5927\u3002\\n\\n[Ami-zhang]: https://github.com/Ami-zhang\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n[wangleiat]: https://github.com/wangleiat\\n[yjijd]: https://github.com/yjijd\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### `libLoL` \u67b6\u6784\u5347\u7ea7\uff0c\u517c\u5bb9\u6027\u6301\u7eed\u63d0\u5347 {#liblol}\\n\\n1 \u6708 19 \u65e5\uff0c\u4ee5 0.1.0 \u7248\u672c\u7684\u53d1\u5e03\u4e3a\u6807\u5fd7\uff0c`libLoL` \u5df2\u8f6c\u5411\u5171\u4eab sysroot \u7684\uff0c\u4ec5\u5728 libc\\n\u5c42\u9762\u5904\u7406\u7b26\u53f7\u7248\u672c\u95ee\u9898\u7684\u65b9\u6848\uff0c\u800c\u4e0d\u518d\u9700\u8981\u4ece\u65e7\u4e16\u754c\u53d1\u884c\u7248\uff08\u5982 Loongnix\uff09\u53d6\u7528\u7cfb\u7edf\u5e93\u3002\\n\u8fd9\u6837\u65e2\u8ba9\u517c\u5bb9\u5c42\u7684\u4f53\u79ef\u5f97\u5230\u5927\u5e45\u7f29\u51cf\uff1a\u5b89\u88c5\u5305\u73b0\u5df2\u4e0d\u8db3 1MiB\uff0c\\n\u4e5f\u907f\u514d\u4e86\u5148\u524d\u7531\u4e8e\u4f7f\u7528\u5546\u4e1a\u53d1\u884c\u7248\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u800c\u53ef\u80fd\u4e3a\u793e\u533a\u53d1\u884c\u7248\u63d0\u4f9b\u8005\u3001\u7528\u6237\u5e26\u6765\u7684\u6cd5\u5f8b\u98ce\u9669\u3002\\n\u66f4\u591a\u6280\u672f\u7ec6\u8282\u8bf7\u89c1 `libLoL` \u7684 [README \u6587\u6863](https://github.com/AOSC-Dev/liblol/blob/master/README.zh.md)\u3002\\n\uff08\u672c\u7ad9\u4e0d\u4e45\u4e5f\u5c06\u4e0a\u67b6\u76f8\u5173\u9605\u8bfb\u6750\u6599\u3002\uff09\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c`libLoL` \u5df2\u8fed\u4ee3\u81f3 0.1.3 \u7248\u672c\uff1a\u53c8\u4fee\u590d\u4e86\u65e7\u4e16\u754c .NET 8\u3001WPS PDF\u3001\u9489\u9489\u7b49\u5e94\u7528\u6216\u7ec4\u4ef6\u7684\u517c\u5bb9\u6027\u95ee\u9898\u3002\\n\u5982\u679c\u60a8\u4f9d\u8d56\u7684\u65e7\u4e16\u754c\u5e94\u7528\u4ecd\u7136\u4e0d\u80fd\u5b8c\u7f8e\u8fd0\u884c\uff0c\u8bf7\u5c06\u95ee\u9898\u62a5\u544a\u5230 `libLoL` \u4e0a\u6e38[\u5de5\u5355\u7cfb\u7edf](https://github.com/AOSC-Dev/liblol/issues)\uff0c\\n\u4ee5\u4fbf\u5f00\u53d1\u8005\u4eec\u5e2e\u5fd9\u3002\\n\\n### \u9700\u8981\u4fee\u8ba2\u300a\u624b\u518c\u300b\u4ee5\u660e\u786e `ftint` \u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a {#ftint-edge-cases}\\n\\n\u5728\u6d4b\u8bd5\u6b63\u5219\u8868\u8fbe\u5f0f\u5e93 PCRE2 \u65b0\u7248\u7684 LoongArch JIT \u652f\u6301\u65f6\uff0c[xen0n](https://github.com/xen0n)\\n[\u53d1\u73b0](https://github.com/loongson-community/discussions/issues/36)\u4ee3\u7801\u4e2d\u7f3a\u5931\u4e86\u5173\u4e8e\u6d6e\u70b9\u6570\u8f6c\u6574\u6570\u64cd\u4f5c\u5728\\nLoongArch \u4e0a\u7684\u8fb9\u754c\u60c5\u51b5\u884c\u4e3a\u7684\u8bb0\u8f7d\u3002\\n\u867d\u7136 [lrzlin] \u9a6c\u4e0a[\u505a\u4e86\u5b9e\u9a8c\u5e76\u4fee\u590d\u4e86](https://github.com/zherczeg/sljit/pull/226)\u6b64\u95ee\u9898\uff0c\\n\u4f46 [xry111] \u968f\u5373[\u6307\u51fa][ftint-issue]\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5bf9\u6b64\u672a\u52a0\u8be6\u7ec6\u8bf4\u660e\uff0c\u56e0\u800c\u7406\u8bba\u4e0a\u4ecd\u53ef\u80fd\u5b58\u5728\u884c\u4e3a\u4e0e\u5f53\u4e0b\u5b9e\u9a8c\u7ed3\u679c\u4e0d\u7b26\u7684\u82af\u7247\u3002\\n\u793e\u533a\u5df2\u5c06\u6b64\u95ee\u9898\u63d0\u9192\u5230\u9f99\u82af\u5b98\u65b9\uff1a\u6211\u4eec\u6ca1\u6743\u9650\u6539\u300a\u624b\u518c\u300b\uff0c\u53ea\u80fd\u4f60\u4eec\u6765\u4e86\uff01\\n\\n[lrzlin]: https://github.com/lrzlin\\n[ftint-issue]: https://github.com/loongson-community/discussions/issues/38\\n\\n### \u793e\u533a\u7ef4\u62a4\u7684 LoongArch Chromium \u8865\u4e01\u96c6\u73b0\u5df2\u53ef\u7528 {#chromium-patchset}\\n\\nChromium \u6d4f\u89c8\u5668\uff0c\u53ca\u57fa\u4e8e\u5176\u5185\u6838\u7684\u4e00\u4f17\u884d\u751f\u9879\u76ee\u5982 QtWebEngine\u3001Electron \u7b49\u7b49\uff0c\u5df2\u6210\u4e3a\u5f53\u4ee3\u684c\u9762\u3001\u79fb\u52a8\u7aef\u4e0d\u53ef\u6216\u7f3a\u7684\u57fa\u7840\u8bbe\u65bd\u3002\\n\u4f46\u7531\u4e8e\u5176\u4ee3\u7801\u89c4\u6a21\u5e9e\u5927\uff0c\u4e14\u6f14\u8fdb\u6781\u4e3a\u8fc5\u901f\u3001\u6fc0\u8fdb\uff0c\u4e00\u76f4\u4ee5\u6765\uff0c\u5982\u4f55\u6301\u7eed\u7ef4\u62a4\u53ef\u7528\u7684 Chromium \u5206\u652f\u8fd9\u4ef6\u4e8b\uff0c\u5bf9\u90a3\u4e9b\u975e x86 \u6216 ARM \u67b6\u6784\u7684\u7cfb\u7edf\u96c6\u6210\u5de5\u4f5c\u8005\u800c\u8a00\uff0c\u90fd\u662f\u4e00\u5757\u5fc3\u75c5\u3002\\n\u5373\u4fbf\u300c\u591a\u91d1\u300d\u5982 IBM PowerPC\uff0c\u300c\u7f51\u7ea2\u300d\u5982 RISC-V\uff0c\u4e5f\u53ea\u80fd\u7d27\u8d76\u6162\u8d76\uff0c\u800c\u6682\u672a\u80fd\u8fdb\u5165 Chromium \u4e3b\u7ebf\uff0c\u4ece\u65e5\u5e38\\n`git rebase` \u89e3\u51b2\u7a81\u7684\u82e6\u6d77\u300c\u4e0a\u5cb8\u300d\u3002\\n\\n\u622a\u81f3\u76ee\u524d\uff0cLoongArch \u4e5f\u5e76\u672a\u5728 Chromium \u4e3b\u7ebf\u5f97\u5230\u5b8c\u6574\u652f\u6301\uff0c\u56e0\u6b64\u4e3a LoongArch \u6253\u5305\u7684\u540c\u5b66\u4eec\u4e5f\u8981\u81ea\u884c\u7ef4\u62a4\u5206\u652f\u3002\\n\u9f99\u82af\u516c\u53f8\u5148\u524d\u5373\u51fa\u4e8e\u4e1a\u52a1\u9700\u6c42\uff0c\u9002\u914d\u4e86\u9f99\u82af\u6d4f\u89c8\u5668\u3001Electron \u7b49\u9879\u76ee\uff1b\\n\u4f46\u7531\u4e8e\u8ddf\u8fdb\u65b0\u7248\u672c\u4e0d\u53ca\u65f6\u3001\u65e0\u7edf\u4e00\u7684\u8865\u4e01\u5206\u53d1\u6e20\u9053\u7b49\u56e0\u7d20\uff0c\u8fd9\u4e9b\u5de5\u4f5c\u5e76\u672a\u80fd\u60e0\u53ca\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7684\u5de5\u4f5c\u4eba\u5458\u3002\\n\u9f99\u82af\u5f00\u6e90\u793e\u533a\u4e8e 2023 \u5e74 10 \u6708\u5373[\u5173\u6ce8\u4e86](https://github.com/loongson-community/discussions/issues/2)\u6b64\u4e8b\uff0c\\n\u547c\u5401\u7ef4\u62a4\u4e00\u5957\u516c\u5171\u7684 Chromium \u8865\u4e01\u96c6\uff1b\u4f46\u9650\u4e8e\u4eba\u529b\uff0c\u5f53\u65f6\u672a\u6709\u56de\u5e94\u3002\\n\\n\u597d\u5728\u65b0\u7684\u4e00\u5e74\uff0c\u52c7\u58eb\u4eec\u7ec8\u7a76\u7ad9\u4e86\u51fa\u6765\uff1a\\n\u57fa\u4e8e [SignKirigami](https://github.com/prcups)\\n[\u5236\u4f5c\u7684](https://github.com/prcups/qt6-webengine-loongarchlinux)\\nQt6 WebEngine \u8865\u4e01\u96c6\uff0c[\u6770\u54e5](https://github.com/jiegec)\u5b8c\u6210\u4e86\u5b8c\u6574\\nChromium \u7684\u6784\u5efa\u4e0e\u6d4b\u8bd5\u5de5\u4f5c\uff0c\u6210\u679c\u5df2\u5728\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09\u7ec4\u7ec7\u4e0b[\u516c\u5f00\u4e86](https://github.com/AOSC-Dev/chromium-loongarch64)\u3002\\n\\n### OpenSSL {#openssl}\\n\\n[lrzlin] [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/23301) xry111\uff08:clown_face:\u2014\u2014\u672c\u4eba\u8bed\uff09\u4e4b\u524d\u91cd\u6784\u4ee3\u7801\u65f6\u7684\u4e00\u5904\u4e0d\u5c0f\u5fc3\uff0c\\n\u6b64 bug \u6709\u53ef\u80fd\u5bfc\u81f4 ChaCha20 \u7b97\u6cd5\u7684 SIMD \u4f18\u5316\u7248\u672c\u6c38\u8fdc\u8dd1\u4e0d\u5230\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[Xinmudotmoe] \u5728\u9f99\u82af\u56fa\u4ef6\u56e2\u961f\u672a\u63d0\u4f9b\u76f8\u5e94\u652f\u6301\u7684\u60c5\u51b5\u4e0b\uff0c\u81ea\u5df1\u52a8\u624b\u4e30\u8863\u8db3\u98df\uff0c[\u624b\u5de5\u79fb\u9664\u4e86](https://github.com/loongson/Firmware/issues/80#issuecomment-1903111698)\\n3C5000 \u5de5\u4f5c\u7ad9\u4e3b\u677f\u56fa\u4ef6\u4e2d\u6240\u6709\u4e0e\u663e\u793a\u76f8\u5173\u7684\u6a21\u5757\uff0c\u7ec8\u4e8e\u80fd\u5728 3C5000 \u5de5\u4f5c\u7ad9\u4e0a\u4f7f\u7528\u8fd1\u5e74\u7684 AMD \u663e\u5361\u4e86\u3002\\n\u4f46 :ta: [\u8b66\u544a\u8bf4](https://github.com/loongson-community/areweloongyet/issues/16#issuecomment-1903435237)\u8fd9\u6837\u505a\u8981\u4ed8\u51fa\u5f88\u5927\u4ee3\u4ef7\uff08\u539f\u6587\u7ecf\u8fc7\u4e86\u4e9b\u8bb8\u7f16\u8f91\uff09\uff1a\\n\\n:::warning \u8b66\u544a\\n\u8fd9\u79cd\u65b9\u5f0f\u6709\u4e00\u4e9b\u5df2\u77e5\u95ee\u9898\u3002\\n\\n* \u4e0d\u540c\u4e8e 3A6000 \u56fa\u4ef6\u4e2d\u5b98\u65b9\u63d0\u4f9b\u7684\u5173\u95ed x86emu \u529f\u80fd\uff0c\u6b64\u65b9\u5f0f\u540c\u65f6\u4f7f\u56fa\u4ef6\u5931\u53bb\u70b9\u4eae\u5c4f\u5e55\u7684\u80fd\u529b\uff083A6000 \u56fa\u4ef6\u4e0b\u5173\u95ed x86emu \u540e\uff0c\u4ecd\u53ef\u901a\u8fc7\u677f\u8f7d\u663e\u5361\u770b\u5230\u56fa\u4ef6\u914d\u7f6e\u9009\u9879\uff09\u3002\\n \u4f46\u4fee\u6539\u540e\u4ecd\u53ef\u901a\u8fc7\u4e32\u53e3\u914d\u7f6e\u56fa\u4ef6\u3002\\n* \u4e0d\u80fd\u5728\u63d2\u5165 BMC \u7684\u60c5\u51b5\u4e0b\u542f\u52a8\uff0c\u5426\u5219\u8702\u9e23\u5668\u4f1a\u957f\u9e23\uff0c\u65e0\u6cd5\u542f\u52a8\u3002\\n* \u4e0d\u80fd\u901a\u8fc7 BMC \u5237\u5165\u4fee\u6539\u540e\u7684\u56fa\u4ef6\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7 BMC \u6062\u590d\u4e3a\u539f\u7248\u56fa\u4ef6\u3002\\n\\n\u9274\u4e8e\u6b64\uff0c\u8f83\u300c\u732e\u796d\u6d41\u300d\u800c\u8a00\uff0c\u672c\u65b9\u6848\u98ce\u9669\u53ef\u80fd\u5927\u4e8e\u6536\u76ca\u3002\\n:::\\n\\n\u540c\u65f6\uff0c\u7ecf\u8fc7 :ta: \u7684\u6d4b\u8bd5\uff0c3C5000 \u8d85\u9891\u540e\u53ef\u4ee5\u7a33\u5b9a\u5728\u5168\u6838 2.5GHz\uff0c\u5e76[\u8dd1\u4e86](https://openbenchmarking.org/result/2401037-NE-COREMARK311)\\nCoreMark\u3002\\n\u8d85\u9891\u540e\u7684\u591a\u6838\u5206\u6570\u5927\u7ea6\u662f 3A5000 \u7684 4 \u500d\uff0c3A6000 \u7684 2 \u500d\u3002\\n\\n[Kiri2002] [\u6b63\u5728\u63a8\u8fdb](https://bbs.loongarch.org/d/357)\u5c06 Arch Linux \u4e2d\u6587\u793e\u533a\uff08archlinuxcn\uff09\\n\u7ef4\u62a4\u7684\u8f6f\u4ef6\u5305\u5728 Loong Arch Linux \u4e0a\u6253\u5305\u7684\u5de5\u4f5c\u3002\\n\\n[Kiri2002]: https://github.com/Kiri2002\\n[Xinmudotmoe]: https://github.com/Xinmudotmoe\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u5df2\u63a5\u8fd1\u5c3e\u58f0\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-32","metadata":{"permalink":"/newsletter/this-week-in-loongarch-32","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-08-this-week-in-loongarch-32.md","source":"@site/newsletter/2024-01-08-this-week-in-loongarch-32.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-08T12:00:00.000Z","formattedDate":"2024\u5e741\u67088\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":9.795,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-32","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","authors":["xen0n"],"date":"2024-01-08T12:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 33 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-33"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","permalink":"/newsletter/this-week-in-loongarch-31"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux\u3001GCC\u3001LLVM \u4ee5\u53ca\u8bb8\u591a\u7684\u53d1\u884c\u7248\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\n[heiher] [\u5b8c\u6210\u4e86](https://github.com/ClangBuiltLinux/linux/issues/1884#issuecomment-1879564435)\\nClangBuiltLinux \u7684\u6a21\u5757\uff08`CONFIG_MODULES`\uff09\u652f\u6301\u3002\\n\u81f3\u6b64 LLVM/Clang \u5de5\u5177\u94fe\u5df2\u7ecf\u53ef\u4ee5\u7528\u6765\u6784\u5efa\u5168\u529f\u80fd\u7684 LoongArch Linux \u4e86\u3002\\n\\nheiher \u8fd8\u4e3a Linux \u7684 Rust \u57fa\u7840\u8bbe\u65bd[\u63d0\u4ea4\u4e86](https://lore.kernel.org/rust-for-linux/20240106065941.180796-1-wangrui@loongson.cn/)\\nLoongArch \u652f\u6301\u3002\\n\u5f88\u5feb\u5c31\u53ef\u7528 Rust \u8fd9\u4e00\u65b0\u5174\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e3a LoongArch \u8fd9\u4e00\u65b0\u5174\u67b6\u6784\u505a\u5185\u6838\u3001\u9a71\u52a8\u5f00\u53d1\u4e86\uff01\\n\\nBibo Mao [\u7ee7\u7eed\u4f18\u5316](https://lore.kernel.org/loongarch/20240108064056.232546-1-maobibo@loongson.cn/)\\nLoongArch KVM \u6027\u80fd\uff1a\\n\u4ee5\u534f\u52a9\u865a\u62df\u5316\uff08para-virtualization\uff09\u65b9\u5f0f\uff0c\u901a\u8fc7 `hvcl` \u6307\u4ee4\uff0c\\n\u52a0\u901f\u865a\u62df\u673a\u7684\u5904\u7406\u5668\u95f4\u4e2d\u65ad\uff08inter-processor interrupts\uff0cIPI\uff09\u5904\u7406\u3002\\n\u6539\u8fc7\u4e4b\u540e\uff0c16 \u6838\u7684\u865a\u62df\u673a\u4e2d UnixBench \u591a\u6838\u8dd1\u5206\u8fbe\u5230\u4e86\u7269\u7406\u673a\u60c5\u5f62\u7684 98.8%\uff08\u4f46\u4f5c\u8005\u672a\u7ed9\u51fa\u6539\u8fc7\u4e4b\u524d\u7684\u6027\u80fd\u5f00\u9500\u60c5\u51b5\uff09\u3002\\n\\n
\\n`hvcl` \u662f\u5565\u610f\u601d\uff1f\\n\\n\u4ece\u7528\u6cd5\u4e0a\u770b\uff0c`hvcl` \u662f `HyperVisor CaLl` \u7684\u7f29\u5199\uff0c\u300c\u76d1\u7ba1\u8c03\u7528\u300d\u7684\u610f\u601d\uff1a\u5411\u865a\u62df\u673a\u7ba1\u7406\u5668\uff08VM hypervisor\uff09\u8bf7\u6c42\u4e9b\u4ec0\u4e48\u3002\\n\\n\u8fd9\u6837\u4e00\u6765\uff0c\u53ef\u80fd\u6709\u7684\u8bfb\u8005\u4f1a\u7422\u78e8\u4e86\uff1a\u4e3a\u5565\u4e0d\u50cf `syscall` \u4e00\u6837\uff0c\u53eb\u4e00\u4e2a\u957f\u4e00\u70b9\u4f46\u66f4\u5b8c\u6574\u7684\u540d\u5b57\u5462\uff1f\\n\u4f5c\u4e3a\u4e00\u4e2a\u80fd\u591f\u5bf9\u6700\u5e38\u7528\u6307\u4ee4\u4e4b\u4e00\u5374\u53d6\u5230 `pcaddu12i` \u8fd9\u6837\u957f\u7684\u540d\u5b57\u4fdd\u6301\u5bb9\u5fcd\u7684\u67b6\u6784\uff0c\\n\u663e\u7136 `hypcall` \u8fd9\u79cd\u540d\u5b57\u66f4\u8fbe\u610f\uff0c\u5e76\u4e14\u4e0e\u5e38\u7528\u6307\u4ee4 `syscall` \u98ce\u683c\u4e00\u81f4\u3002\\n\u5b9e\u5219\u4e0d\u7136\uff1a\u5728 `dbcl`\uff08`DeBugger CaLl`\uff0c\u8c03\u8bd5\u5668\u8c03\u7528\uff1b\u7528\u6765\u5c06\u4e0b\u4f4d\u673a CPU \u653e\u5165\u8c03\u8bd5\u6a21\u5f0f\uff09\u4e0e `hvcl` \u4e4b\u95f4\uff0c\\n`syscall` \u53cd\u5012\u6210\u4e86\u300c\u5f02\u7c7b\u300d\uff01\\n\\n\u4e3a\u4e86\u964d\u4f4e\u5b66\u4e60\u8005\u7684\u8bb0\u5fc6\u8d1f\u62c5\uff0c\u7b14\u8005\u4ee5\u4e3a\u547d\u540d\u4e0a\u5982\u679c\u80fd\u505a\u5230\u4e00\u81f4\uff0c\u53ef\u80fd\u66f4\u52a0\u53cb\u597d\uff1a\\n\u8981\u4e48\u5c06 `dbcl` \u4e0e `hvcl` \u6539\u6210\u66f4\u8fbe\u610f\u7684 `dbgcall` \u4e0e `hypcall`\uff0c\\n\u8981\u4e48\u5c06 `syscall` \u6539\u6210\u66f4\u7b80\u7ec3\u7684 `sycl` \u6216 `sscl` \u4e4b\u7c7b\u3002\\n\u8003\u8651\u5230 `syscall` \u662f\u4e2a\u5e38\u89c1\u5355\u8bcd\u4e86\uff0c\u4e0d\u7528\u80cc\uff0c\u90a3\u4e48\u524d\u4e00\u79cd\u6539\u6cd5\u53ef\u80fd\u66f4\u53d7\u6b22\u8fce\u3002\\n\u6c47\u7f16\u4ee3\u7801\u7684\u517c\u5bb9\u6027\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u56e0\u4e3a\u5148\u524d\u7684\u540d\u79f0\u4e00\u65f6\u534a\u4f1a:\u513f:\u4e0d\u4f1a\u88ab\u79fb\u9664\u652f\u6301\u3002\\n\\n
\\n\\n[heiher]: https://github.com/heiher\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### GCC {#gcc}\\n\\nYang Yujie [\u5728\u91cd\u6784](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/642084.html)\\nLoongArch \u540e\u7aef\u7684\u547d\u4ee4\u884c\u9009\u9879\u5904\u7406\u903b\u8f91\u3002\\n\\nLulu Cheng [\u4f18\u5316\u6389\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641989.html)\u4f34\u968f\u4e00\u4e9b\u4f4d\u64cd\u4f5c\u7684\u591a\u4f59\u7684\u7b26\u53f7\u6269\u5c55\u64cd\u4f5c\u3002\\n\u8fd9\u5bf9\u6240\u6709\u8f6f\u4ef6\u7684\u4f4d\u64cd\u4f5c\u6027\u80fd\u90fd\u6709\u79ef\u6781\u5f71\u54cd\uff1b\u5728\u8dd1\u5206\u65b9\u9762\uff0c\u4e5f\u5bf9 SPEC2017 \u7684 `500.perlbench` \u7528\u4f8b\u6709 1.8% \u7684\u63d0\u5347\u3002\\n\\nYang Yujie \u4e3a\u4e86\u66f4\u597d\u7684 LTO\uff08\u94fe\u63a5\u65f6\u4f18\u5316\uff09\uff0c\u7ed9 LoongArch \u540e\u7aef[\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641930.html)\u7f16\u8bd1\u9009\u9879\u7684\u4fdd\u5b58\u6062\u590d\u3002\\n\u8fd9\u5c06\u4fee\u590d\u4e0a\u6e38 bug [PR113233](https://gcc.gnu.org/PR113233)\u3002\\n\\nJiahao Xu \u4e3a LA464 [\u907f\u514d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641889.html)\u6267\u884c\\n`xvpermi.q` \u6307\u4ee4\u65f6\u53ef\u80fd\u78b0\u5230\u7684\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\nchenxiaolong \u4e3a\u4e86\u80fd\u7ed9 LoongArch \u6b63\u5e38\u542f\u7528 GCC \u5411\u91cf\u5316\u65b9\u9762\u7684\u516c\u5171\u6d4b\u8bd5\u7528\u4f8b\uff0c[\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641868.html)[\u4e00\u5806](https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641878.html)\u5730\u65b9\u3002\\n\\nliwei \u628a LSX \u4e0e LASX \u539f\u5148\u4e0d\u5171\u4eab\u7684\u4e24\u4efd\u5e38\u91cf\u5411\u91cf\u6392\u5217\uff08constant vector permutation\uff09\u5b9e\u73b0\\n[\u7edf\u4e00\u6210\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641477.html)\u4e00\u4efd\u3002\\n\u5728\u51c0\u5220\u9664\u4e86 888 \u884c\u4ee3\u7801\u4e4b\u5916\uff0c\u8dd1\u5206\u8fd8\u63d0\u9ad8\u4e86\u3002\\n\\n#### LLVM {#llvm}\\n\\n[heiher] \u6700\u7ec8\u5b8c\u6210\u4e86\u5468\u62a5\u7b2c 24 \u671f[\u62a5\u9053\u7684](./2023-11-13-this-week-in-loongarch-24.md#llvm) `code_model` \u652f\u6301\u5de5\u4f5c\uff1a\\n\u5408\u5e76\u4e86 [Clang](https://github.com/llvm/llvm-project/pull/72078) \u4e0e\\n[LoongArch \u540e\u7aef](https://github.com/llvm/llvm-project/pull/72079)\u4e24\u90e8\u5206\u7684\u6700\u7ec8\u7248\u672c\u3002\\n\\n\u6765\u81ea\u817e\u8baf\u7684 [DamonFool] \u8d70\u8fc7\u8def\u8fc7\uff0c\u7ed9 LoongArch \u540e\u7aef[\u4fee\u4e86](https://github.com/llvm/llvm-project/commit/52d1397e38ee88b170585c9c824d08e6975890ca)\u4e00\u5904\u975e\u8c03\u8bd5\u914d\u7f6e\u4e0b\u672a\u4f7f\u7528\u7684\u53d8\u91cf\uff08\u5426\u5219\u4f1a\u62a5\u9519\uff09\u3002\\n\\n[wangleiat] [\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/76555)\u66f4\u591a\\nLoongArch psABI v2.30 \u8bed\u4e49\uff1a\\n\u6362\u7528 `pcaddu18i + jirl` \u5b9e\u73b0 `medium` \u4ee3\u7801\u6a21\u578b\u7684\u8fc7\u7a0b\u8c03\u7528\uff0c\\n\u5e76\u786e\u4fdd\u4e86 `extreme` \u4ee3\u7801\u6a21\u578b\u4e0b\u88c5\u8f7d\u7b26\u53f7\u5730\u5740\u64cd\u4f5c\u7684\u6307\u4ee4\u4e00\u5b9a\u76f8\u90bb\u3002\\n\\n[MQ-mengqing] [\u6539\u8fdb\u4e86](https://github.com/llvm/llvm-project/pull/76552)\\nLLVM MC \u5bf9\u4ee3\u7801\u6bb5\u5bf9\u9f50\u7684\u5904\u7406\u65b9\u5f0f\uff0cLoongArch \u548c RISC-V \u90fd\u4ece\u4e2d\u83b7\u76ca\u3002\\n\\n[DamonFool]: https://github.com/DamonFool\\n[wangleiat]: https://github.com/wangleiat\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n[heiher] \u7ed9 Rust \u6700\u5e38\u7528\u7684 JSON \u683c\u5f0f\u652f\u6301\u5e93 `serde_json`\\n[\u6807\u8bb0\u4e86](https://github.com/serde-rs/json/pull/1100)\\nLoongArch \u6700\u9002\u5408\u5927\u6570\u8fd0\u7b97\u7684\u6574\u6570\u7c7b\u578b\u5bbd\u5ea6\u662f 64 \u4f4d\u3002\\n\u4e0a\u6e38\u7ef4\u62a4\u8005\u534a\u5c0f\u65f6\u540e\u5c31\u7ed9\u5408\u5e76\u4e86\uff0c\u4e14\u53d1\u4e86 `1.0.111` \u65b0\u7248\u672c\u3002\\n\u8bf7\u540c\u5b66\u4eec\u6309\u9700 `cargo update` \u4ee5\u67e5\u6536\u8fd9\u90e8\u5206\u514d\u8d39\u6027\u80fd\u63d0\u5347\u3002\\n\\n:::info \u82b1\u7d6e\\n\u8fd9\u5751\u662f xen0n \u5728\u7f16\u8bd1 ripgrep \u65f6\u5019\u767e\u65e0\u804a\u8d56\uff0c\u8eba\u5728\u6905\u5b50\u4e0a\u770b\u5c4f\u5e55\u4e0a\u6eda\u52a8\u7684\u7f16\u8bd1\u8fdb\u5ea6\uff0c\u5076\u7136\u6ce8\u610f\u5230\u7684\u3002\\n\u6709\u65f6\u8eba\u5e73\u653e\u7a7a\u4e5f\u80fd\u521b\u9020\u4ef7\u503c\uff01\\n:::\\n\\n[xen0n] \u5411 gentoo-zh overlay [\u63a8\u5165\u4e86](https://github.com/microcai/gentoo-zh/pull/4109)\\nAOSC OS \u7684 liblol \u65b0\u65e7\u4e16\u754c\u517c\u5bb9\u89e3\u51b3\u65b9\u6848\u6253\u5305\u3002\\n\u6b64 overlay \u5305\u542b\u534e\u8bed\u7528\u6237\u5708\u5b50\u5e38\u7528\u7684\u8bb8\u591a\u8f6f\u4ef6\uff1b\\n\u540e\u7eed Gentoo \u7528\u6237\u4eec\u4e5f\u80fd\u7528\u76f8\u540c\u59ff\u52bf\u5b89\u88c5 WPS Office \u7b49\u65e7\u4e16\u754c\u95ed\u6e90\u8f6f\u4ef6\u4e86\u3002\\n\u4f8b\u5982\uff1a\u53ea\u8981 `emerge wps-office` \u5373\u53ef\u81ea\u52a8\u62c9\u5165 liblol \u53ca\u5176\u5185\u6838\u6a21\u5757\u3002\\n\\n:::info \u6ce8\u610f\u4e8b\u9879\\n\u76ee\u524d liblol \u63d0\u4f9b\u7684\u4f9d\u8d56\u5e93\u4e3b\u8981\u90fd\u6765\u81ea Loongnix®\uff0c\\n\u56e0\u6b64\u5728\u6211\u4eec\u5b8c\u6210\u5ba1\u8ba1\u8fd9\u4e9b\u6765\u81ea Loongnix \u7684\u6587\u4ef6\u7684\u5f00\u6e90\u8bb8\u53ef\u3001\u5e76\u786e\u8ba4\u5176\u4e2d\u4e0d\u542b\u95ed\u6e90\u6216\u4e13\u6709\u5185\u5bb9\u4e4b\u524d\uff0c\\n\u60a8\u90fd\u9700\u8981\u660e\u786e\u63a5\u53d7\u300a\u57fa\u7840\u7248 Loongnix \u64cd\u4f5c\u7cfb\u7edf\u6700\u7ec8\u7528\u6237\u8bb8\u53ef\u534f\u8bae\u300b\uff0c\u624d\u80fd\u5b89\u88c5 liblol\uff1a\\n\\n```\\n# e.g. /etc/portage/package.license/liblol\\napp-emulation/liblol Loongnix-Base-EULA\\n```\\n\\n\u6b64\u5916\uff0c\u9996\u6b21\u5b89\u88c5 `la_ow_syscall` \u5185\u6838\u6a21\u5757\u4e4b\u540e\uff0c\u8be5\u6a21\u5757\u4e0d\u4f1a\u88ab\u81ea\u52a8\u8f7d\u5165\u2014\u2014\u5728 Gentoo\\n\u6211\u4eec\u4e00\u822c\u4e0d\u5e2e\u7528\u6237\u505a\u8fd9\u79cd\u4e8b\uff0c\u800c\u4ee3\u4e4b\u4ee5 `emerge` \u7ed3\u675f\u540e\u7684\u6e29\u99a8\u63d0\u9192\u3002\\n\u5728\u5b89\u88c5\u5b8c liblol \u540e\u3001\u4f7f\u7528\u65e7\u4e16\u754c\u8f6f\u4ef6\u524d\uff0c\\n\u60a8\u53ef\u4ee5\u7b80\u5355\u91cd\u542f\u7cfb\u7edf\uff0c\u6216\u8005\u4ee5 `root` \u8eab\u4efd `modprobe la_ow_syscall`\uff1a\\n\u53ea\u9700\u6267\u884c\u8fd9\u4e00\u6b21\u5373\u53ef\uff0c\u540e\u7eed\u6bcf\u6b21\u7cfb\u7edf\u542f\u52a8\u65f6\u90fd\u4f1a\u81ea\u52a8\u52a0\u8f7d\u4e86\u3002\\n:::\\n\\n
\\n\u81f4\u6253\u5305\u4eba\u4eec\\n\\n\u5bf9\u65e7\u4e16\u754c\u8f6f\u4ef6\u5305\u7684\u6807\u8bb0\u65b9\u5f0f\u662f `RDEPEND` \u4e2d\u7684 `loong? ( virtual/loong-ow-compat )`\\n\u8868\u8fbe\u5f0f\u3002\\n\\n\u9700\u8981\u6ce8\u610f\uff1a\u65e7\u4e16\u754c\u7a0b\u5e8f\u7684\u52a8\u6001\u94fe\u63a5\u4f9d\u8d56\u90fd\u662f\u57fa\u4e8e liblol sysroot\uff08`/opt/lol`\uff09\u89e3\u6790\u7684\uff0c\\n\u800c\u4e0e\u5bbf\u4e3b\u7cfb\u7edf libdir \u65e0\u5173\u3002\\n\u8fd9\u4e0e Gentoo \u5f53\u4e0b\u7684 multilib \u65b9\u6848\u4e0d\u540c\uff0c\u53cd\u5012\u4e0e\u51e0\u5e74\u524d\u7684 `emul-linux-x86-*` \u5927\u5305\u795e\u4f3c\uff1b\\n\u56e0\u6b64\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\uff0c\u610f\u5728\u6ee1\u8db3\u52a8\u6001\u94fe\u63a5\u4f9d\u8d56\u7684 `RDEPEND` \u9879\uff0c\u90fd\u4e0d\u5e94\u5f53\u5bf9 `loong` \u9002\u7528\u3002\\n\\n\u6253\u5305\u4eba\u4eec\u53ef\u53c2\u8003 [WPS Office \u7684\u6253\u5305\u505a\u6cd5](https://github.com/microcai/gentoo-zh/pull/4112)\uff0c\\n\u4e3a\u5176\u4ed6\u65e7\u4e16\u754c\u8f6f\u4ef6\u6253\u5305\u3002\\n\u63d0\u4ea4\u524d\uff0c\u8bb0\u5f97\u7b80\u5355\u6d4b\u4e0b\u8f6f\u4ef6\u529f\u80fd\uff1a\\n\u5982\u679c liblol sysroot \u91cc\u7f3a\u4f9d\u8d56\uff0c\u53ef\u4ee5[\u53bb liblol \u4e0a\u6e38\u62a5\u544a](https://github.com/shankerwangmiao/liblol/issues)\u3002\\n\\n\u540e\u7eed\uff0c\u6b64\u6253\u5305\u5de5\u4f5c\uff08\u5c24\u5176\u662f\u8d77\u5230\u6807\u8bb0\u4f5c\u7528\u7684 virtual \u5305\uff09\u5c06\u8fdb\u4e00\u6b65\u4e0a\u6e38\u81f3 Gentoo \u4e3b\u6e90\uff1b\\n\u8fd9\u5c06\u5728 liblol \u7684 license \u5ba1\u8ba1\u5de5\u4f5c\u5b8c\u6210\u4e4b\u540e\u8fdb\u884c\u3002\\n\\n
\\n\\n[xen0n]: https://github.com/xen0n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u793e\u533a\u65b0\u9762\u5b54 [LiarOnce] \u7ed9 Loong Arch Linux [\u6253\u5305\u4e86](https://github.com/LiarOnce-LoongAL/vscodium-electron-loong64)\u4f7f\u7528\u7cfb\u7edf Electron \u7684\u6700\u65b0\u7248\u672c VSCodium\u3002\\n\\n[LiarOnce]: https://github.com/LiarOnce\\n\\n\u793e\u533a\u65b0\u9762\u5b54 [hackpascal] \u5728 OpenWrt \u4e0a\u6e38[\u8d34\u51fa\u4e86](https://github.com/openwrt/openwrt/pull/14357)\\nLoongArch64 \u7684\u79fb\u690d\uff0c\u4f7f\u7528 Linux 6.6 \u5185\u6838\u3002\\n\u5148\u524d [phorcys] \u5df2\u7ecf[\u7ef4\u62a4\u4e86](https://github.com/phorcys/openwrt-loongarch)\u4e00\u4e2a\\nfork \u6709\u4e00\u6bb5\u65f6\u95f4\uff0c\u4f46\u7b14\u8005\u5370\u8c61\u4e2d :ta: \u4f3c\u4e4e\u65e0\u610f\u5c06\u5176\u4e0a\u6e38\uff1b\u7ed3\u679c\u53c8\u4e00\u540d\u52c7\u58eb\u5c31\u51fa\u73b0\u4e86\u3002\\n\u770b\u8d77\u6765 OpenWrt \u786e\u5b9e\u662f\u73a9\u5bb6\u521a\u9700\uff01\\n\\n[hackpascal]: https://github.com/hackpascal\\n[phorcys]: https://github.com/phorcys\\n\\n\u7fa4\u53cb [amdyes][jiangcuo] \u8fd1\u65e5\u5c06 :ta: [\u7ef4\u62a4\u7684](https://github.com/jiangcuo/Proxmox-Port)\\nProxmox VE\uff08PVE\uff09\u79fb\u690d\u4e0e\u4e0a\u6e38\u6700\u65b0\u7248\u672c\u540c\u6b65\u4e86\uff0c\u652f\u6301 64 \u4f4d\u7684 LoongArch \u4ee5\u53ca ARM\u3001RISC-V \u5e73\u53f0\u3002\\n\u9f99\u67b6\u6784\u7684\u5bb6\u5ead\u6570\u636e\u4e2d\u5fc3\u5e94\u7528\u62fc\u56fe\u773c\u89c1\u5730\u5b8c\u6574\u8d77\u6765\uff01\\n\\n[jiangcuo]: https://github.com/jiangcuo\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-31","metadata":{"permalink":"/newsletter/this-week-in-loongarch-31","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2024-01-01-this-week-in-loongarch-31.md","source":"@site/newsletter/2024-01-01-this-week-in-loongarch-31.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2024-01-02T15:25:00.000Z","formattedDate":"2024\u5e741\u67082\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.845,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-31","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","authors":["xen0n"],"date":"2024-01-02T15:25:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 32 \u671f","permalink":"/newsletter/this-week-in-loongarch-32"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","permalink":"/newsletter/this-week-in-loongarch-30"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux \u548c\u5de5\u5177\u94fe\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u665a\u95f4\uff0c\u56e0\u4e3a\u5468\u4e00\u662f\u5143\u65e6\u5047\u671f\u3002\u65b0\u5e74\u5feb\u4e50 :tada:\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\n[Xi Ruoyao][xry111] [\u67e5\u660e\u5e76\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20240102123706.6099-2-xry111@xry111.site/)\u9f99\u67b6\u6784\u4e0a\\nLinux \u4e00\u76f4\u4ee5\u6765\u7684[\u5076\u73b0\u95ee\u9898](https://github.com/loongson-community/discussions/issues/7)\uff1a\\n\u521b\u5efa\u65b0\u8fdb\u7a0b\u65f6\uff0c\u65b0\u8fdb\u7a0b\u53ef\u80fd\u7ee7\u627f\u5230\u4e0d\u5e72\u51c0\u7684 FCSR\uff08\u6d6e\u70b9\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668\uff09\u5185\u5bb9\uff0c\u5bfc\u81f4\u540e\u7eed\u505a\u6d6e\u70b9\u64cd\u4f5c\u65f6\u8fdf\u65e9\u53d1\u751f\u975e\u9884\u671f\u884c\u4e3a\u751a\u81f3\u5d29\u6e83\u3002\\n\u6b64 bug \u662f\u4ece MIPS \u5185\u6838\u5e26\u6765\u7684\u9057\u4ea7\u3002\u7531\u4e8e MIPS \u7684 FCSR \u521d\u59cb\u5316\u9700\u8981\u8003\u8651\u7a0b\u5e8f\u7684\u6267\u884c\u57df\uff08personality\uff09\uff0cXi Ruoyao \u4e0d\u77e5\u9053\u600e\u4e48\u4fee\uff0c\\n\u6240\u4ee5\u53ea\u80fd[\u62a5\u544a\u4e86](https://lore.kernel.org/linux-mips/7a6aa1bbdbbe2e63ae96ff163fab0349f58f1b9e.camel@xry111.site/)\u8be5\u95ee\u9898\uff0c\\n\u7b49\u5f85 MIPS \u76f8\u5173\u7ef4\u62a4\u8005\u5904\u7406\u3002\\n\\n[xen0n] [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231227070317.1936234-1-kernel@xen0n.name/)\u4f7f\u7528\u6700\u65b0\\nbinutils\u3001gcc \u6784\u5efa\u5185\u6838\u65f6 `modpost` \u4f1a\u5d29\u6e83\u7684\u95ee\u9898\u3002\\n\\n[xry111]: https://github.com/xry111\\n[xen0n]: https://github.com/xen0n\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### binutils {#binutils}\\n\\n\u7531\u5e38\u4f73\u741b\u540c\u5b66\u64cd\u5200\u7684\uff0c\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u5230\u7684](./2023-12-05-this-week-in-loongarch-27/index.md#abi) LoongArch\\nTLS LE relaxation \u7279\u6027\u7684 binutils \u90e8\u5206\uff0c\u6210\u529f\u8fdb\u5165\u4e3b\u7ebf\u4e86\u3002\\n\u8ba9\u6211\u4eec\u795d\u8d3a :ta: \u52a0\u5165\u4e0a\u6e38\u8d21\u732e\u8005\u7684\u884c\u5217 :tada:\uff01\\n\\n#### GCC {#gcc}\\n\\n[Xi Ruoyao][xry111] [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641443.html)\\nxen0n [\u62a5\u544a\u7684][PR113148] bug:\\nXWayland \u7b49\u8f6f\u4ef6\u4e2d\u5b58\u5728\u4e2a\u522b\u5185\u542b\u5927\u91cf\u6d6e\u70b9\u6bd4\u8f83\u64cd\u4f5c\u7684\u51fd\u6570\uff0c\u7f16\u8bd1\u8fd9\u4e9b\u51fd\u6570\u65f6 gcc \u4f1a\u5d29\u6e83\u3002\\n\\n[PR113148]: https://gcc.gnu.org/PR113148\\n\\nXi Ruoyao \u8fd8[\u5141\u8bb8\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641609.html)\u5229\u7528\\n`{,x}vf{min,max}` \u56db\u79cd\u6307\u4ee4\u6765\u5411\u91cf\u5316\u5faa\u73af\u4e2d\u7684\u53d6\u6700\u5927/\u6700\u5c0f\u503c\u64cd\u4f5c\u3002LoongArch \u7684\u8fd9\u56db\u79cd\u6307\u4ee4\u8bbe\u8ba1\u4e0a\u5c31\u7b26\u5408 IEEE 754-2008 \u8bed\u4e49\uff0c\\n\u56e0\u800c\u53ef\u7528\u3002\\n\\n\u5468\u62a5\u7b2c 30 \u671f[\u63d0\u5230\u7684](./2023-12-26-this-week-in-loongarch-30/index.md#gcc)\\nXi Ruoyao \u5f53\u65f6\u300c\u6b63\u5728\u8c03\u6574\u300d\u7684\u8865\u4e01\uff0c\u73b0\u5df2\u5b8c\u6210\u6539\u8fdb\u5de5\u4f5c\uff0c[\u8fdb\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/r14-6863)\u3002\\n\\n\u7531 Lulu Cheng \u5f00\u53d1\u7684\uff0c\u4e0a\u4e00\u8282\u4e2d\u63d0\u5230\u7684 TLS LE relaxation \u7279\u6027\u7684 gcc \u90e8\u5206\uff0c\\n\u4e5f[\u8fdb\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/r14-6879)\u3002\\n\\n#### LLVM {#llvm}\\n\\n[yjijd] \u6309\u7167 LoongArch psABI v2.30\uff0c[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/74990)\u5148\u524d\u4f1a\u7528\u5411\u91cf\u5bc4\u5b58\u5668\u4f20\u9012\u5411\u91cf\u53c2\u6570\u7684\u95ee\u9898\u3002\\n\\n[wangleiat] \u4fee\u590d\u4e86\u4e00\u7cfb\u5217 SIMD \u4ee3\u7801\u751f\u6210\u4e0a\u7684\u9519\u8bef\uff1a\\n\\n* [`{,x}vbitseli.b` \u7684\u8bef\u7528](https://github.com/llvm/llvm-project/commit/da5378e87e11689d05a58198d6e15e9551916794)\uff0c\\n* [`xvrepl128vei` \u7684\u8bef\u7528](https://github.com/llvm/llvm-project/commit/c7367f985e0d27aeb8bc993406d1b9f4ca307399)\uff0c\u4ee5\u53ca\\n* [`vector_extract` \u5728 LASX \u4e0a\u7684\u9519\u8bef\u7f16\u8bd1\u7ed3\u679c](https://github.com/llvm/llvm-project/commit/47c88bcd5de91522241cca1aaa1b7762ceb01394)\u3002\\n\\nGo \u56e2\u961f\u7684 [abner-chenc] \u548c Xiaolin Zhao \u6765 LLVM \u4e0a\u6e38\u4e32\u95e8\u4e86\uff1a:ta: \u4eec\u7ed9 TSan\\n[\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72819) Go `loong64` \u652f\u6301\u3002\\n\\n[yjijd]: https://github.com/yjijd\\n[wangleiat]: https://github.com/wangleiat\\n[abner-chenc]: https://github.com/abner-chenc\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\nSlackwareloong \u7ef4\u62a4\u8005 [shipujin] \u8bf4\uff1aSlackware \u4e2d\u6587\u793e\u533a\u5728 Slackwareloong LTS 1.0 \u7cfb\u7edf\u4e0b\uff0c\\n\u6210\u529f\u9a8c\u8bc1\u4e86\u6784\u5efa\u3001\u8fd0\u884c KDE Plasma 6 Beta 2 \u7248\u672c\u684c\u9762\u73af\u5883\u3002\\n\u540e\u9762\u4f1a\u628a\u6784\u5efa\u597d\u7684\u76f8\u5173\u8f6f\u4ef6\u5305\u53d1\u5e03\u5230 Slackwareloong \u4e0b\u7684 KDE6 testing \u4ed3\u5e93\u3002\\n\u611f\u8c22 shipujin \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[shipujin]: https://github.com/shipujin\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\nLoongArch \u975e\u5b98\u65b9\u5f00\u6e90\u793e\u533a\uff08LA UOSC\uff09\u7248\u4e3b[\u675c\u6bd4][dbhrscom][\u53d1\u8d77\u4e86](https://bbs.loongarch.org/d/351-lauosc-freebsd-ports)\\nFreeBSD \u79fb\u690d\u9879\u76ee\uff0c\u5de5\u4f5c\u8fdb\u5ea6[\u653e\u5728\u4e86](https://gitee.com/lauosc/freebsd) Gitee \u4e0a\u3002\\n\u65e0\u5c18\uff08yu shan wei\uff09\u540c\u5b66\u4e5f\u5355\u72ec[\u7ef4\u62a4\u4e86](https://gitee.com/yushanwei/freebsd4loongarch)\u8865\u4e01\u96c6\u5408\u3002\\n\u611f\u8c22 [Haowu Ge][haowuge] \u5728\u7fa4\u804a\u4e2d\u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[dbhrscom]: https://bbs.loongarch.org/u/4\\n[haowuge]: https://github.com/haowuge\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-30","metadata":{"permalink":"/newsletter/this-week-in-loongarch-30","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-26-this-week-in-loongarch-30/index.md","source":"@site/newsletter/2023-12-26-this-week-in-loongarch-30/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-25T16:50:00.000Z","formattedDate":"2023\u5e7412\u670825\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.015,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-30","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","authors":["xen0n"],"date":"2023-12-25T16:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 31 \u671f","permalink":"/newsletter/this-week-in-loongarch-31"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","permalink":"/newsletter/this-week-in-loongarch-29"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 LoongArch® ABI v2.30\u3001\u5de5\u5177\u94fe\uff0c\u4ee5\u53ca AOSC \u7814\u53d1\u7684\u65b0\u65e7\u4e16\u754c\u517c\u5bb9\u65b9\u6848\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 12 \u6708 25 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20231223120642.1067728-1-chenhuacai@loongson.cn/)\\nLinux v6.8 \u5f00\u53d1\u5468\u671f\u7684\u9f99\u67b6\u6784 KVM \u53d8\u66f4 PR\u3002\\n\u5176\u4e2d\uff0cBibo Mao \u4fee\u590d\u4e86\u5b9a\u65f6\u5668\u7684\u6a21\u62df\uff1bTianrui Zhao \u8ba9\u865a\u62df\u673a\u5185\u90e8\u53ef\u4ee5\u4f7f\u7528 LSX\u3001LASX \u6307\u4ee4\u3002\\n\\nHuacai Chen [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231225070002.1350705-1-chenhuacai@loongson.cn/)\u5355\u8282\u70b9\u7684\u903b\u8f91\u5904\u7406\u5668\u6570\u91cf\u5927\u4e8e 64 \u65f6\uff0c\u7cfb\u7edf\u5f15\u5bfc\u8fc7\u7a0b\u4f1a\u5199\u574f\u4e00\u4e9b\u5185\u5b58\u5185\u5bb9\u7684\u95ee\u9898\u3002\\n\\n\u9f99\u82af QEMU \u5f00\u53d1\u8005 Song Gao \u4e3a\u65b9\u4fbf\u7528\u6237\u4ee5 FDT\uff08flattened device tree\uff0c\u62cd\u5e73\u8bbe\u5907\u6811\uff09\u534f\u8bae\u542f\u52a8\u4e3b\u7ebf\u5185\u6838\uff0c\\n\u9884\u5907\u4e3a\u4e3b\u7ebf\u5185\u6838\u7684\u9ed8\u8ba4\u914d\u7f6e[\u5f00\u542f](https://lore.kernel.org/loongarch/20231222024628.3138406-1-gaosong@loongson.cn)\u901a\u7528 PCIe \u5bbf\u4e3b\u652f\u6301\u3002\\n\\n[Xi Ruoyao][xry111] \u5c1d\u8bd5[\u5fae\u8c03\u4e86](https://lore.kernel.org/loongarch/20231214130206.21219-1-xry111@xry111.site/)\\nLoongArch \u4e0a\u4e0b\u6587\u5207\u6362\u4ee3\u7801\u4e2d\u4fdd\u5b58\u3001\u6062\u590d 8 \u4e2a\u6d6e\u70b9\u6761\u4ef6\u7801\u7684\u7247\u6bb5\uff0c\\n\u56e0\u4e3a\u5148\u524d\u7684\u7b80\u5355\u5199\u6cd5\u5728 LA464 \u4e0a\u6027\u80fd\u5f88\u5dee\u3002\\n\u7136\u800c Huacai Chen \u8fd8\u662f[\u559c\u6b22](https://lore.kernel.org/loongarch/CAAhV-H5m65qL05W9VZw7Qff-qg8TUc_wY8zs-pSeBuWSAFnSaQ@mail.gmail.com/)\u7b80\u5355\u7684\u4ee3\u7801\uff0c\\n\u56e0\u6b64\u4f30\u8ba1\u5728\u8c01\u638f\u51fa\u8fd9\u4e48\u6539\u53ef\u4ee5\u63d0\u5347\u4e0a\u4e0b\u6587\u5207\u6362\u6027\u80fd\u7684\u5ba2\u89c2\u8bc1\u636e\uff0c\u4f8b\u5982\u8dd1\u5206\u5bf9\u6bd4\u4e4b\u524d\uff0c\u8fd9\u4e2a\u8865\u4e01\u662f\u4e0d\u4f1a\u88ab\u6536\u4e86 :confused:\u3002\\n\\n:::info \u7a76\u7adf\u6709\u591a\u5dee\uff1f\\n\u6839\u636e Xi Ruoyao \u7684\u5b9e\u9a8c\u7ed3\u679c\uff0cLA464 \u4e0a\u6bcf\u6b21 `movcf2gr` \u82b1\u7684\u65f6\u95f4\u662f `movcf2fr + movfr2gr` \u7684 7 \u500d\uff0c\\n\u800c `movgr2cf` \u66f4\u662f `movgr2fr + movfr2cf` \u7684 15 \u500d\uff01\\n\u60f3\u5728\u6d6e\u70b9\u6761\u4ef6\u7801\u548c\u6574\u6570\u5bc4\u5b58\u5668\u4e4b\u95f4\u642c\u8fd0\u591a\u8fbe 1 \u6bd4\u7279\u7684\u6570\u636e\uff0c\u591a\u7ecf\u8fc7\u6d6e\u70b9\u5bc4\u5b58\u5668\u5012\u4e00\u624b\uff0c\u5c45\u7136\u80fd\u5feb\u51e0\u500d\u751a\u81f3\u5341\u51e0\u500d\uff0c\u7b80\u76f4\u79bb\u8c31\u3002\\n\u8fd8\u597d LA664 \u628a\u8fd9\u5751\u586b\u6389\u4e86\u3002\\n:::\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u4eca\uff0825\uff09\u65e5\u4e0b\u73ed\u524d\uff0c\u9f99\u82af\u5de5\u5177\u94fe\u56e2\u961f[\u5408\u5e76\u4e86](https://github.com/loongson/la-abi-specs/pull/5)\\nLoongArch ABI \u89c4\u8303\u6587\u6863\u7684 v2.30 \u66f4\u65b0\uff08\u6574\u4f53\u7248\u672c\u53f7\uff1b\u6587\u6863\u7248\u672c\u53f7\u4e3a v20231219\uff09\u3002\\n\u672c\u6b21\u66f4\u65b0\u7684\u4e3b\u8981\u5185\u5bb9\u6709\uff1a\\n\\n* \u660e\u786e\u4e86\u57fa\u7840 ABI \u4e0b\uff0c\u51fd\u6570\u7684\u5411\u91cf\u53c2\u6570\u7684\u4f20\u9012\u65b9\u5f0f\u3002\u57fa\u7840 ABI \u4e0d\u4fdd\u8bc1 SIMD \u6269\u5c55\u4e00\u5b9a\u5b58\u5728\uff0c\u56e0\u6b64\u53ea\u80fd\u5c06\u5411\u91cf\u53c2\u6570\u89c6\u4f5c\u57fa\u672c\u7c7b\u578b\u91cf\u7684\u6570\u7ec4\u5904\u7406\u3002\\n* \u4fee\u590d\u4e86\u4e00\u4e9b\u91cd\u5b9a\u4f4d\u64cd\u4f5c\u7684\u7b97\u672f\u63cf\u8ff0\u3002\\n* \u589e\u52a0\u4e86\u4ee3\u7801\u6a21\u578b\uff08code model\uff09\u7ae0\u8282\u3002\u4e3b\u8981\u662f\u660e\u786e\u5b9a\u4e49\u4e86 `normal`\u3001`medium` \u4e0e `extreme` \u4e09\u79cd\u4ee3\u7801\u6a21\u578b\uff0c\u4ee5\u53ca\u8981\u6c42 `extreme` \u4ee3\u7801\u6a21\u578b\u7684\u56db\u6761\u62fc\u63a5\u5730\u5740\u6307\u4ee4\u5fc5\u987b\u76f8\u90bb\u3002\\n \u540e\u8005\u662f\u5148\u524d\u9488\u5bf9\u8be5\u95ee\u9898\u7684\u793e\u533a\u8ba8\u8bba\u6240[\u63d0\u5230\u7684](https://github.com/loongson-community/discussions/issues/17)\u7b80\u5355\u65b9\u6848\u3002\\n \u5468\u62a5\u7b2c 26 \u671f\u7684[\u731c\u6d4b](../2023-11-27-this-week-in-loongarch-26.md#abi)\u51fa\u4e86\u4e9b\u504f\u5dee\uff1a\\n \u53ef\u80fd\u51fa\u4e8e\u5de5\u4f5c\u91cf\u548c\u517c\u5bb9\u6027\u8003\u8651\uff0c\u672c\u6b21\u5e76\u672a\u300c\u4e00\u6b65\u5230\u4f4d\u300d\uff0c\u76f4\u63a5\u5b9e\u73b0\u90a3\u4e2a\u901a\u8fc7\u63d0\u4f9b\u5b8c\u6574\u5173\u8054\u4fe1\u606f\u800c\u89e3\u51b3\u95ee\u9898\u7684\u590d\u6742\u65b9\u6848\u3002\\n \u672c\u7ad9\u7684\u57fa\u7ebf\u53c2\u8003\u6587\u6863\u4e5f\u5df2[\u540c\u6b65\u66f4\u65b0\u4e86](/docs/baseline-reference/)\u3002\\n* \u6b63\u5f0f\u52a0\u5165\u4e86\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u53ca\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#abi)\\n TLS \u63cf\u8ff0\u7b26\uff08TLSDESC\uff09\u76f8\u5173\u5b9a\u4e49\u3002\\n\\n#### binutils {#binutils}\\n\\nmengqinggang [\u4fee\u590d\u4e86](https://sourceware.org/pipermail/binutils/2023-December/131391.html)\u5148\u524d\u4f1a\u7ed9\u4e0d\u662f\u51fd\u6570\u7c7b\u578b\u7684\u7b26\u53f7\u4e5f\u751f\u6210\\nPLT\uff08procedure linkage table\uff0c\u8fc7\u7a0b\u94fe\u63a5\u8868\uff09\u8bb0\u5f55\u7684\u95ee\u9898\u3002\\n\\nmengqinggang \u8fd8\u6309\u7167\u672c\u6b21\u7684 ELF psABI \u66f4\u65b0\uff0c[\u5b9e\u73b0\u4e86](https://sourceware.org/pipermail/binutils/2023-December/131386.html)\\n`R_LARCH_ALIGN` \u5bf9\u6c47\u7f16\u5668 `.align` \u7b2c\u4e09\u4f4d\u7f6e\u7684\u8868\u8fbe\u5f0f\u53c2\u6570\u7684\u652f\u6301\u3002\\n\\n#### GCC {#gcc}\\n\\n[Xi Ruoyao][xry111] \u4fee\u590d\u4e86[\u6770\u54e5][jiegec][\u53d1\u73b0\u7684](https://gcc.gnu.org/PR113033)\u7f16\u8bd1\\nLSX \u7684\u5faa\u73af\u79fb\u4f4d\u64cd\u4f5c\u4f1a\u5d29\u6e83\uff08ICE\uff09\u7684\u95ee\u9898\uff1a[\u8865\u4e01\u7532](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640937.html)\u3001[\u8865\u4e01\u4e59](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641401.html)\u3002\\n\\nXi Ruoyao \u8fd8[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640808.html)\u540c\u6837\u7531\u6770\u54e5[\u53d1\u73b0\u7684](https://gcc.gnu.org/PR113034)\\n`__m128` \u7c7b\u578b\u7684\u300c\u4e0d\u7b49\u4e8e\u300d\u6bd4\u8f83\u64cd\u4f5c\u4f1a\u88ab\u9519\u8bef\u7f16\u8bd1\u7684\u95ee\u9898\u3002\\n\\nXi Ruoyao \u8fd8[\u8282\u7ea6\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640809.html)\u6bcf\u6b21 32 \u4f4d\u5faa\u73af\u79fb\u4f4d\u64cd\u4f5c\u5148\u524d\u90fd\u9644\u5e26\u7684\u4e00\u6b21\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u3002\\n\\nXi Ruoyao \u8fd8[\u5c1d\u8bd5\u89e3\u51b3\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640280.html)\u5148\u524d\u5728\\n`-mexplicit-relocs=auto` \u65f6\uff0c\u6709\u4e9b\u9002\u5408\u5408\u5e76\u7684\u7b26\u53f7\u5730\u5740\u88c5\u8f7d\u64cd\u4f5c\u6ca1\u88ab\u8bc6\u522b\u51fa\u6765\u3001\u4e88\u4ee5\u5408\u5e76\u7684\u95ee\u9898\uff1b\\n\u76ee\u524d\u8fd8\u6709\u5c0f\u5751\uff0c\u6b63\u5728\u8c03\u6574\u3002\\n\\nXi Ruoyao \u8fd8\u6539\u5584\u4e86\u5bf9\u4e8e\u6d6e\u70b9\u6761\u4ef6\u7801\u7684\u5904\u7406\uff1a[\u6e05\u7406\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640731.html)\\nLoongArch \u540e\u7aef\u5b9a\u4e49\u4e2d\u4e00\u5904\u4e0d\u4f1a\u88ab\u7528\u5230\u7684\u60c5\u51b5\uff0c\\n\u53c8[\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640713.html)\u6d6e\u70b9\u6761\u4ef6\u7801\uff08`FCCmode`\uff09\\n\u7684\u91cd\u65b0\u88c5\u8f7d\uff08reload\uff09\u3002\\n\u540e\u8005\u6709\u5229\u4e8e\u5728\u67d0\u5904\u6d6e\u70b9\u6bd4\u8f83\u64cd\u4f5c\u7684\u7ed3\u679c\u65e0\u6cd5\u9884\u6d4b\u65f6\uff0c\u63d0\u5347\u6b64\u5904\u7ed3\u679c\u5411\u76ee\u6807\u4f4d\u7f6e\u7684\u4fdd\u5b58\u6027\u80fd\u3002\\n\\nLulu Cheng [\u5b9e\u73b0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640977.html)\\nTLS LE (local-exec) relaxation\uff08\u7ebf\u7a0b\u672c\u5730\u5b58\u50a8\u7684\u672c\u5730\u6267\u884c\u6a21\u578b\u7684\u677e\u5f1b\uff09\u4f18\u5316\u7684\u7f16\u8bd1\u5668\u4e00\u4fa7\u3002\\n\u642d\u914d\u5468\u62a5\u7b2c 27 \u671f[\u63d0\u5230\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#abi)\u6c47\u7f16\u5668\u4e00\u4fa7\u652f\u6301\uff0c\\n\u9884\u8ba1\u80fd\u5728\u67d0\u4e9b\u591a\u7ebf\u7a0b\u573a\u666f\u4e0b\u63d0\u5347\u6027\u80fd\u3002\\n\\nLi Wei [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/641407.html)\u542f\u7528\u94fe\u63a5\u65f6\u4f18\u5316\uff08LTO\uff09\u65f6\uff0c\\n\u53ef\u80fd\u5bfc\u81f4\u4e2a\u522b\u4f4d\u57df\u88c5\u8f7d\u64cd\u4f5c\u88ab\u9519\u8bef\u7f16\u8bd1\u7684\u95ee\u9898\uff1b\u539f\u56e0\u662f `*bstrins__for_ior_mask` \u8fd9\u6761\u89c4\u5219\u5199\u9519\u4e86\u3002\\n\u8be5\u95ee\u9898\u81f3\u5c11\u6ce2\u53ca\u4e86 SPEC 2006 \u7684 `400.perlbench` \u7528\u4f8b\u3002\\n\\n\u672c\u671f\u7684 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n[jiegec]: https://github.com/jiegec\\n\\n#### LLVM {#llvm}\\n\\n\u7d27\u968f LoongArch ELF psABI v20231219\uff08\u6574\u4f53\u7248\u672c\u53f7 v2.30\uff09\u7684\u53d1\u5e03\uff0c[SixWeining]\\n[\u66f4\u65b0\u4e86](https://github.com/llvm/llvm-project/pull/73387)\u5148\u524d\u5bf9 LLD `extreme`\\n\u4ee3\u7801\u6a21\u578b\u7684\u7acb\u5373\u6570\u5904\u7406\u7684\u91cd\u5236\u3002\\n\u6309\u7167\u76ee\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\uff0c\u8fd9\u4f1a\u8ba9\u4e00\u4e9b\u5148\u524d\u9519\u8bef\u7684\u8fb9\u754c\u60c5\u51b5\u53d8\u6b63\u786e\uff0c\u4f46\u4e5f\u4f1a\u8ba9\u4e00\u4e9b\u5148\u524d\u6b63\u786e\u7684\u8fb9\u754c\u60c5\u51b5\u53d8\u9519\u8bef\uff1a\\n\u8fd8\u597d\u76ee\u524d\u51e0\u4e4e\u6ca1\u6709\u8f6f\u4ef6\u7528\u5230 `extreme` \u4ee3\u7801\u6a21\u578b\uff0c\u5269\u4e0b\u7684\u5c31\u53ea\u6709\u7948\u7977\uff01\\n\\n[MQ-mengqing] \u7ed9 linker relaxation \u505a\u51c6\u5907\uff1a\u4eff\u7167 RISC-V\uff0c[\u63a8\u8fdf\u4e86](https://github.com/llvm/llvm-project/pull/72960)\\nLLVM MC \u7684 LoongArch \u540e\u7aef\u51b3\u7b56\u662f\u5426\u4ea7\u751f\u300c\u52a0\u3001\u51cf\u300d\u7c7b\u578b\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7684\u65f6\u673a\u3002\\n\u7136\u800c\u5728\u8be5\u8865\u4e01\u5408\u5e76\u4e4b\u540e\uff0c\u53d1\u73b0\u4e00\u4e9b\u8f6f\u4ef6\u5f00\u59cb\u94fe\u63a5\u5931\u8d25\uff1a\\n\u8fd9\u662f\u7531\u4e8e DWARF v5 \u8c03\u8bd5\u4fe1\u606f\u7528\u5230\u4e86 ULEB128 \u7c7b\u578b\u7684\u52a0\u51cf\u64cd\u4f5c\uff0c\\n\u800c LoongArch \u6682\u672a\u5982 RISC-V \u4e00\u6837[\u5b9e\u73b0\u4e86](https://github.com/llvm/llvm-project/pull/72610)\u8fd9\u4e9b\u64cd\u4f5c\u3002\\n\u76ee\u524d MQ-mengqing [\u5199\u4e86](https://github.com/llvm/llvm-project/pull/72960#issuecomment-1868650942)\u4e00\u7248\u4fee\u590d\uff0c\\n\u6b63\u5728\u8865\u5145\u6d4b\u8bd5\u7528\u4f8b\u3002\\n\\n[SixWeining] \u4e3a LLD [\u65b0\u589e\u4e86](https://github.com/llvm/llvm-project/pull/73346)\\n`R_LARCH_CALL36` \u652f\u6301\u3002\\n\\n[SixWeining]: https://github.com/SixWeining\\n[MQ-mengqing]: https://github.com/MQ-mengqing\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n\u6b27\u6d32\u65f6\u95f4 12 \u6708 20 \u65e5\u665a\u95f4\uff0c\u9996\u5ea6\u5305\u542b\u4e86\u9f99\u67b6\u6784\u652f\u6301\u7684 GRUB 2.12\\n[\u6b63\u5f0f\u53d1\u5e03\u4e86](https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00052.html)\u3002\\n\u4e45\u7b49\u4e86\uff01\\n\u77e5\u540d\u79d1\u6280\u5a92\u4f53 Phoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/GRUB-2.12-Released)\u6b64\u4e8b\u3002\\n\u611f\u8c22 [xry111] \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n[xry111]: https://github.com/xry111\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n## `libLoL`: AOSC \u4e3a\u60a8\u5728\u65b0\u65e7\u4e16\u754c\u4e4b\u95f4\u67b6\u8d77\u6865\u6881\uff01 {#liblol}\\n\\n\u4f17\u6240\u5468\u77e5\uff0cLoongArch \u7684[\u65b0\u65e7\u4e16\u754c\u751f\u6001\u5272\u88c2\u95ee\u9898](/docs/old-and-new-worlds/)\u5df2\u7ecf\u56f0\u6270\u4e86\u793e\u533a\u53d1\u884c\u7248\u7528\u6237\u8bb8\u4e45\uff1a\\n\u867d\u7136\u8bb8\u591a\u95ed\u6e90\u8f6f\u4ef6\u90fd\u9646\u7eed\u652f\u6301\u4e86 LoongArch\uff0c\u4f46\u90fd\u662f\u5728\u91c7\u7528\u65e7\u4e16\u754c ABI \u7684\u5546\u4e1a\u53d1\u884c\u7248\u4e0a\uff0c\\n\u4ece\u800c\u4e0e\u57fa\u4e8e\u65b0\u4e16\u754c ABI \u7684\u793e\u533a\u53d1\u884c\u7248\u548c\u7528\u6237\u7fa4\u4f53\u300c\u7edd\u7f18\u300d\u3002\\n\u867d\u7136\u5728\u65e9\u5148[\u4e0a\u8bc1\u8def\u6f14\u7684\u6295\u8d44\u8005\u4e92\u52a8\u73af\u8282][sse-roadshow]\u300111 \u6708 28 \u65e5\u7684\u4ea7\u54c1\u53d1\u5e03\u4f1a\u4e0a\uff0c\\n\u9f99\u82af\u516c\u53f8\u90fd\u8868\u6001\u5c06\u5f00\u53d1\u65b0\u65e7\u4e16\u754c\u5e94\u7528\u7684\u517c\u5bb9\u65b9\u6848\uff0c\\n\u4f46\u622a\u81f3\u76ee\u524d\uff0c\u5173\u4e8e\u9f99\u82af\u65b9\u6848\u7684\u6280\u672f\u7ec6\u8282\uff0c\u6ee1\u6000\u70ed\u5ff1\u7684\u540c\u5b66\u4eec\u4ecd\u672a\u5728\u516c\u5f00\u6e20\u9053\u5f97\u5230\u6b63\u9762\u56de\u5e94\u3002\\n\u8003\u8651\u5230\u6027\u80fd\u559c\u4eba\u7684 3A6000 \u677f\u5361\u5df2\u7ecf\u9646\u7eed\u4e0a\u5e02\uff0c\u4e0d\u96be\u4f5c\u51fa\u5408\u7406\u63a8\u6d4b\uff1a\\n\u603b\u6709\u7fa4\u4f17\u7b49\u4e0d\u53ca\u4e24\u5e74\u540e\uff08\u65e0\u8bba\u5b9e\u9645\u66f4\u65e9\u6216\u66f4\u665a\uff09\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u5b98\u65b9\u65b0\u4e16\u754c\u7248\u672c\uff0c\u800c**\u73b0\u5728\u5c31\u8981\u7528**\uff01\\n\\n[sse-roadshow]: https://roadshow.sseinfo.com/roadshowIndex.do?id=16536#cd-placeholder-hdjl\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u4f5c\u4e3a\u300c\u7262\u8bb0\u670d\u52a1\u7528\u6237\u9700\u6c42\u8fd9\u4e00\u5b97\u65e8\u300d\u7684\u4e00\u7fa4\u4eba\uff0c\u6b64\u523b\u4fbf\u7ad9\u4e86\u51fa\u6765\u3002:ta: \u4eec\u7ed9\u51fa\u7684\u7b54\u6848\u662f\\n`libLoL`: LoongArch on LoongArch\u3002\\n\\nAOSC \u5f00\u53d1\u8005[\u738b\u9088][shankerwangmiao]\u4e0e[\u5218\u5b50\u5174][liushuyu]\uff0c\\n\u5728\u5185\u6838\u5c42\u9762\u5b9e\u73b0\u4e86\u4ee5\u5916\u6302\u6a21\u5757\uff08\u4ea6\u53ef\u7406\u89e3\u4e3a\u300c\u9a71\u52a8\u300d\uff09\u65b9\u5f0f\uff0c\u52a8\u6001\u8f7d\u5165\u7684\u65e7\u4e16\u754c\u7cfb\u7edf\u8c03\u7528\u652f\u6301\u3002\\n\u738b\u9088\u4e5f\u8bbe\u8ba1\u3001\u5b9e\u73b0\u4e86\u4f4d\u4e8e\u7528\u6237\u6001\u7684\u8fd0\u884c\u65f6\u90e8\u5206\uff1a\u6253\u5305\u4e86\u65e7\u4e16\u754c\u53c2\u8003\u53d1\u884c\u7248 Loongnix® \u7684\u6838\u5fc3\u8fd0\u884c\u65f6\u5e93\uff0c\\n\u4f7f\u65e7\u4e16\u754c\u5e94\u7528\u80fd\u591f\u6709\u300c\u56de\u5bb6\u7684\u611f\u89c9\u300d\u4ece\u800c\u6b63\u5e38\u542f\u52a8\u3002\\n\u76ee\u524d AOSC OS \u5df2\u7ecf\u80fd\u591f\u8fd0\u884c WPS Office \u4e0e\u9f99\u82af\u6d4f\u89c8\u5668\u7b49\u6807\u5fd7\u6027\u7684\u65e7\u4e16\u754c\u5e94\u7528\uff0c\\n\u5982\u56fe\u6240\u793a\uff08\u70b9\u51fb\u5373\u770b\u9ad8\u6e05\u5927\u56fe\uff09\uff1a\\n\\n[![\u542f\u7528\u4e86 libLoL \u7684 AOSC \u7cfb\u7edf\u4e0a\u6210\u529f\u8fd0\u884c\u65e7\u4e16\u754c WPS \u4e0e\u9f99\u82af\u6d4f\u89c8\u5668\u7684\u622a\u56fe](./liblol-showcase@0.5x.webp)](./liblol-showcase.webp)\\n\\n[shankerwangmiao]: https://github.com/shankerwangmiao\\n[liushuyu]: https://github.com/liushuyu\\n\\n\u540e\u7eed\uff0c\u5728\u5b8c\u6210\u914d\u5957\u5185\u6838\u6a21\u5757\u7684\u8f7d\u5165\u5411\u5bfc\u540e\uff0c\u4f7f\u7528\u9f99\u67b6\u6784\u8bbe\u5907\u7684 AOSC OS \u7528\u6237\u4fbf\u53ef\u6309\u9700\u542f\u7528\u6b64\u517c\u5bb9\u65b9\u6848\u4e86\u3002AOSC \u540c\u4ec1\u4eec\u4e5f\u6b22\u8fce\u5176\u4ed6\u65b0\u4e16\u754c\u53d1\u884c\u7248\u7ef4\u62a4\u8005\u8003\u5bdf `libLoL`\uff0c\u5e76\u89c6\u81ea\u8eab\u60c5\u51b5\u548c\u9700\u6c42\u96c6\u6210\u6b64\u9879\u76ee\u7684\u6210\u679c\u3002\\n\\n12 \u6708 23 \u65e5\u53d1\u5e03\u7684 AOSC \u53cc\u5468\u62a5\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u4e8c\u6708\u4e0b\u300b[\u8bb0\u8f7d\u4e86](https://github.com/AOSC-Dev/newsroom/blob/2c5443a792291702438cbf6059d8d4039ca5dc85/coffee-break/20231223/zh_CN.md#%E5%B1%95%E6%9C%9B-liblol%E9%BE%99%E6%9E%B6%E6%9E%84%E6%97%A7%E4%B8%96%E7%95%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%85%BC%E5%AE%B9%E8%BF%90%E8%A1%8C%E6%97%B6)\u8fd9\u9879\u5de5\u4f5c\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u63a8\u8350\u9605\u8bfb\u3002\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-29","metadata":{"permalink":"/newsletter/this-week-in-loongarch-29","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-18-this-week-in-loongarch-29/index.md","source":"@site/newsletter/2023-12-18-this-week-in-loongarch-29/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-18T15:30:00.000Z","formattedDate":"2023\u5e7412\u670818\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":13.645,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-29","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","authors":["xen0n"],"date":"2023-12-18T15:30:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 30 \u671f","permalink":"/newsletter/this-week-in-loongarch-30"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","permalink":"/newsletter/this-week-in-loongarch-28"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u793e\u533a\u7248\u9f99\u82af SIMD \u6307\u4ee4\u6587\u6863\u30013A6000 \u793e\u533a\u7248\u8d85\u9891\u56fa\u4ef6\uff0c\u4ee5\u53ca ABI\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nLinux 6.6 LTS \u5206\u652f\u65e5\u524d[\u5411\u540e\u79fb\u690d\u4e86](https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/diff/queue-6.6/loongarch-mark-dmw-tlb-_virt_to_page-exports-as-non-.patch?id=f5b20a28332e98771485a6ebbd97791f4031f6a5)\u653e\u5bbd\\n`{dmw,virt}_to_page` \u4e24\u4e2a\u7b26\u53f7\u7684\u8bb8\u53ef\u8bc1\u8981\u6c42\u7684\u63d0\u4ea4\u3002\\n\u8fd9\u610f\u5473\u7740 OpenZFS 2.2.x \u5c06\u53ef\u642d\u914d Linux 6.6.x \u7cfb\u5217\u4e2d\u7684 6.6.8 \u6216\u66f4\u9ad8\u7248\u672c\u4f7f\u7528\u4e86\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u5f00\u53d1\u8005[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)\u5728\u9002\u914d JetBrains® \u5f00\u53d1\u73af\u5883\u5168\u5bb6\u6876\u65f6\uff0c\\n\u53d1\u73b0\u6709 [Java \u7ec4\u4ef6](https://github.com/JetBrains/pty4j)\u60f3\u52a8\u6001\u52a0\u8f7d `libutil.so`\uff0c\u800c\u8be5\u5171\u4eab\u5e93\u5728 LoongArch \u4e0a\u5e76\u4e0d\u5b58\u5728\u3002\\n\u5728 glibc \u7684\u5b9e\u73b0\u4e2d\uff0c\u8be5\u5171\u4eab\u5e93\u7684\u6240\u6709\u51fd\u6570\u90fd[\u5408\u5e76\u5165 `libc.so` \u4e86](https://sourceware.org/git/?p=glibc.git;a=commit;h=734c60ebb607086ad6d67b2544d6b7baba72a652)\uff1b\\n\u6b64\u4e8b\u53d1\u751f\u5728 LoongArch \u8fdb\u5165 glibc \u4e0a\u6e38\u4e4b\u524d\uff0c\u56e0\u6b64 glibc \u5728 LoongArch \u4e0a\u81ea\u59cb\u5c31\u4e0d\u63d0\u4f9b\u8be5\u5171\u4eab\u5e93\u3002\\n\u4f46\u540c\u6837\u6765\u81ea AOSC \u7684 [Icenowy](https://github.com/Icenowy) \u7ffb\u67e5\u89c4\u8303\u6587\u6863\u53d1\u73b0 [LSB \u4f3c\u4e4e\u6709\u8981\u6c42\u63d0\u4f9b\u8be5\u6587\u4ef6](https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/libutil.html)\uff0c\\n\u6545[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/29)\u9f99\u82af\u793e\u533a\u7684\u8ddf\u8e2a\u5de5\u5355\uff0c\\n\u4ee5\u53ca\u76f8\u5e94\u7684 [glibc \u95ee\u9898\u62a5\u544a](https://sourceware.org/bugzilla/show_bug.cgi?id=31136)\u3002\\n\u6839\u636e\u76ee\u524d\u7684\u4e0a\u6e38\u53e3\u5f84\uff0c\u4f3c\u4e4e\u63d0\u4f9b\u4e00\u4e2a\u6307\u5411 `libc.so` \u7684\u7b26\u53f7\u94fe\u63a5\u5c31\u8db3\u591f\u4e86\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### .net {#dotnet}\\n\\n\u9f99\u82af\u4e2d\u79d1\u7684\u5de5\u7a0b\u5e08[\u4e54\u9e4f\u7a0b](https://github.com/shushanhf)\u5728 2023 \u5e74 12 \u6708 16 \u65e5\u4e3e\u884c\u7684\\n.NET Conf China 2023 \u4ecb\u7ecd\u4e86 LoongArch .net/Mono \u76f8\u5173\u8fdb\u5c55\uff1a\\n\\n* .net 8.0 EA \u7248\u7684\u65b0\u4e16\u754c\u4e8c\u8fdb\u5236\u5df2\u7ecf\u6709\u9996\u4e2a\u53d1\u5e03\u7248\u672c\uff1a[GitHub \u9875\u9762](https://github.com/shushanhf/LoongArch64-Blog-for-.NET-Mono/releases/tag/sdk8.0.0-LA64-newABI-upstream)\\n- Mono LoongArch \u652f\u6301\u9884\u8ba1 2024Q1 \u5f00\u59cb\u63a8\u9001\u793e\u533a\uff0c\u8ba1\u5212\u5728 2024 \u5e74 7 \u6708\u4e4b\u524d\u5b8c\u6210\\n- Unity®\uff08\u56e2\u7ed3\u5f15\u64ce\uff09\u5df2\u4e0e LoongArch \u5b8c\u6210\u9002\u914d\\n\\n\u51fa\u4e8e\u5386\u53f2\u539f\u56e0\uff0c\u5f00\u6e90\u4e16\u754c\u5bf9\u4e8e .net/Mono \u7684\u5173\u6ce8\u5ea6\u5e76\u4e0d\u9ad8\uff0c\u4f46 .net/Mono \u662f Unreal\uff08\u865a\u5e7b\uff09\u3001Unity\uff08\u56e2\u7ed3\uff09\u3001Godot\\n\u7b49\u6e38\u620f\u5f15\u64ce\u7684\u6838\u5fc3\u7ec4\u4ef6\uff0c\u4e5f\u662f\u5927\u91cf\u5546\u4e1a\u516c\u53f8\u90e8\u7f72\u684c\u9762\u3001\u670d\u52a1\u7aef\u4ea7\u54c1\u7684\u91cd\u8981\u751f\u6001\u3002LoongArch .net/Mono port\\n\u63a8\u9001\u8ba1\u5212\u660e\u786e\uff0c\u5bf9\u4e8e\u666e\u901a\u684c\u9762\u7528\u6237\uff0c\u5373\u4f7f\u4e3a\u4e86\u6253\u6e38\u620f\uff0c\u90a3\u4e5f\u662f\u6781\u597d\u7684\u3002\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/cd444646-6449-40f1-a418-8ca16d307ae2 --\x3e\\n![\u4f1a\u8bae\u73b0\u573a\u56fe\u7247 1](./dotnet-1.jpg)\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/ff3b38e8-2c42-4e8d-8b70-491ca42a6bb1 --\x3e\\n![\u4f1a\u8bae\u73b0\u573a\u56fe\u7247 2](./dotnet-2.jpg)\\n\\n\u4ee5\u4e0a\u7684\u65b0\u95fb\u7531 [phorcys] \u4e3a\u60a8\u64ad\u62a5\u3002\\n\\n### Gentoo {#gentoo}\\n\\n[xen0n](https://github.com/xen0n) \u6b63\u5728 Gentoo \u63a8\u8fdb LoongArch \u7684\u5b89\u88c5 CD \u4e0e LLVM/Clang stage3 \u7684\u6784\u5efa\u5de5\u4f5c\u3002\\n\u4e3a\u6b64\u9700\u8981\u7ed9 Gentoo \u53d1\u884c\u7248\u5185\u6838\uff08dist kernel\uff09[\u589e\u52a0](https://github.com/gentoo/gentoo/pull/34291)\\nLoongArch \u652f\u6301\uff0c\u4ee5\u53ca[\u589e\u52a0](https://github.com/gentoo/gentoo/pull/34324) Clang profiles\uff1b\\n\u4ed6\u89c9\u5f97\u5728 2024 \u5230\u6765\u4e4b\u524d\u6709\u671b\u5b8c\u6210\u8fd9\u4e24\u90e8\u5206\u5de5\u4f5c\u3002\\n\\n### Ghidra {#ghidra}\\n\\n\u8fd1\u65e5\uff0c\u7f8e\u56fd\u56fd\u5bb6\u5b89\u5168\u5c40\uff08NSA\uff09\u4e3a Ghidra\\n[\u589e\u52a0\u4e86](https://github.com/NationalSecurityAgency/ghidra/commit/0f09d6fed3b1c884f1843bda5ec1bf1dfbada06c) LoongArch \u652f\u6301\uff0c\\n\u5c06\u4e8e Ghidra 10.5 \u6b63\u5f0f\u53d1\u5e03\u3002Ghidra \u662f NSA \u4e3b\u5bfc\u5f00\u53d1\u7684\u8f6f\u4ef6\u9006\u5411\u5de5\u7a0b\u6846\u67b6\uff0c\u4e3a\u8fd1\u5e74\u5168\u7403\u4fe1\u606f\u5b89\u5168\u9886\u57df\u7684\u4ece\u4e1a\u8005\u6240\u9010\u6e10\u91c7\u7528\u3002\\n\u611f\u8c22[\u6770\u54e5][jiegec]\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n
\\n\u81f4\u5173\u5fc3\u6b64\u4e8b\u7684\u4e2d\u56fd\u7acb\u573a\u7f51\u53cb\u4eec\\n\\n\u5c3d\u7ba1\u672c\u7ad9\u8c08\u8bba\u6280\u672f\u8bdd\u9898\u5c3d\u91cf\u4e0d\u6d89\u53ca\u653f\u6cbb\u4e0e\u4eba\u4e8b\uff0c\u4f46\u7531\u4e8e NSA \u7684\u9690\u853d\u6218\u7ebf\u80cc\u666f\u5341\u5206\u660e\u663e\uff0c\\n\u7b14\u8005\u5408\u7406\u63a8\u6d4b\u90a3\u4e9b\u7ad9\u5728\u4e2d\u56fd\u5229\u76ca\u4e00\u8fb9\uff0c\u4f46\u4e0d\u719f\u6089\u4fe1\u606f\u5b89\u5168\u9886\u57df\u7684\u7f51\u53cb\u4eec\uff0c\u4f1a\u5bf9\u6b64\u6709\u8bf8\u591a\u7591\u8651\u3002\\n\u4ee5\u4e0b\u662f\u7b14\u8005\u7ad9\u5728\u4e2a\u4eba\u7acb\u573a\u7684\u5206\u6790\uff1a\\n\\n\u4efb\u4f55\u53d7\u5230\u5e7f\u6cdb\u652f\u6301\u7684\u67b6\u6784\uff0c\u90fd\u514d\u4e0d\u4e86\u88ab\u5b89\u5168\u7814\u7a76\u8005\u4eec\u4ed4\u7ec6\u5ba1\u89c6\u3002LoongArch \u4f5c\u4e3a\u56fd\u5185\u5916\u7684\u4ea7\u4e1a\u754c\u3001\u5f00\u6e90\u793e\u533a\u591a\u5c11\u90fd\u5728\u62e5\u62b1\u7684\u4e00\u95e8\u65b0\u5174\u67b6\u6784\uff0c\\n\u5b83\u53d7\u5230 NSA \u9879\u76ee\u7ec4\u91cd\u89c6\u5e76\u8fdb\u5165 Ghidra \u5168\u5bb6\u6876\uff0c\u662f\u5fc5\u7136\u7684\u53d1\u5c55\u3002\\n\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u4e5f\u80fd\u8d77\u5230\u79ef\u6781\u6548\u679c\u2014\u2014\u903c\u8feb\u9f99\u82af\u53ca\u793e\u533a\u7684\u53c2\u4e0e\u8005\u4eec\uff0c\u5fc5\u987b\u901a\u8fc7\u53ef\u516c\u5f00\u7684\u7cbe\u5fc3\u8bbe\u8ba1\u5b9e\u73b0\u8f6f\u786c\u4ef6\u7684\u6574\u4f53\u5b89\u5168\uff0c\\n\u800c\u4e0d\u80fd\u6307\u671b\u9760\u7740\u5411\u516c\u4f17\u9690\u85cf\u4ec0\u4e48\u4e1c\u897f\u6765\u6362\u53d6\u6682\u65f6\u7684\u300c\u5b89\u5168\u611f\u300d\u3002\\n\\n\u5b9e\u9645\u4e0a\uff1a\u5373\u4fbf LoongArch \u6587\u6863\u59cb\u7ec8\u4e0d\u88ab\u516c\u5f00\uff0c\u5728\u8db3\u591f\u591a\u7684\u793e\u533a\u6210\u5458\u6298\u817e\u8fc7\u540e\uff0c\u540c\u6837\u7684\u6587\u6863\u88ab\u5199\u51fa\u4e5f\u53ea\u662f\u65f6\u95f4\u95ee\u9898\u2014\u2014\u4f8b\u5982\u5728\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e00\u5c1a\u672a\u516c\u5e03\u7684\\n2021 \u5e74 3 \u6708\u521d\uff0cxen0n \u8fd8\u662f[\u80fd\u591f\u638f\u51fa](https://github.com/loongson-community/docs/pull/4)\u4fdd\u771f\u5ea6\u76f8\u5f53\u9ad8\u7684\u57fa\u7840\u6307\u4ee4\u6587\u6863\u3002\\n\u867d\u7136\u4e8b\u540e\u770b\u6765\u8fd9\u4efd\u6587\u6863\u7684\u9519\u8bef\u4e0d\u5c11\uff0c\u4f46\u8bf7\u6ce8\u610f\uff1a\u5f53\u65f6 LoongArch \u4e0d\u5149\u6ca1\u6709\u516c\u5f00\u6587\u6863\uff0c\u751a\u81f3\u5728\u516c\u5f00\u6e20\u9053\u8fde\u786c\u4ef6\u90fd\u6ca1\u6709\uff0c\\n\u800c\u8fd9\u4e9b\u4fe1\u606f\u53ea\u9700\u8981\u6709\u8db3\u91cf\u7684\u673a\u5668\u8bed\u8a00\uff0c\u9760\u8111\u5b50\u5c31\u8db3\u4ee5\u63ed\u9732\u4e86\u3002\\n\u5982\u679c\u5f53\u65f6\u80fd\u591f\u6478\u5230\u771f\u5b9e LoongArch \u786c\u4ef6\u4ee5\u5b9e\u9645\u9a8c\u8bc1\u60f3\u6cd5\uff0c\u6216\u8005\u5c06\u66f4\u591a\u673a\u5668\u8bed\u8a00\u6750\u6599\u52a0\u5165\u5206\u6790\uff0c\\n\u90a3\u4e48\u8ba9\u6587\u6863\u7684\u51c6\u786e\u7387\u8fbe\u5230 100% \u4e5f\u4e0d\u662f\u4ec0\u4e48\u96be\u4e8b\u3002\\n\\n\u8fd9\u5176\u5b9e\u610f\u5473\u7740\uff0c\u5982\u679c\u4e00\u4e2a\u67b6\u6784\u60f3\u4e0d\u88ab\u5b89\u5168\u7814\u7a76\u8005\u4eec\u76ef\u4e0a\uff0c\u53ea\u6709\u8ba9 :ta: \u4eec\u786c\u4ef6\u8f6f\u4ef6\u90fd\u62ff\u4e0d\u5230\uff1b\\n\u4f46\u8fd9\u6837\u4e00\u6765\uff0c\u4e5f\u5c31\u4e0d\u53ef\u80fd\u5c06\u6b64\u67b6\u6784\u5927\u9762\u79ef\u63a8\u5e7f\u4e86\u3002\\n\\n\uff08\u6b64\u5916\uff0c\u63a5\u4e0b\u6765\u5c06\u4e3a\u60a8\u62a5\u9053\u7684\u793e\u533a\u5236 3A6000 \u8d85\u9891\u56fa\u4ef6\uff0c\u5c31\u662f\u90a3\u4f4d\u4fe1\u606f\u5b89\u5168\u4ece\u4e1a\u8005\u4f7f\u7528 Ghidra\\n\u7814\u7a76\u3001\u64cd\u4f5c\u9f99\u82af\u56fa\u4ef6\u7684\u7ed3\u679c\u3002\\n\u8003\u8651\u5230\u300c\u771f\u6b63\u654f\u611f\u7684\u4fe1\u606f\u4e0d\u4f1a\u88ab\u516c\u5f00\u300d\u8fd9\u4e00\u70b9\uff0cNSA \u9009\u62e9\u5c06 Ghidra \u5f00\u6e90\uff0c\u53ef\u80fd\u4e5f\u662f\u5bf9\u5168\u7403\u540c\u884c\u7684\u8d21\u732e\u4e86\u3002\u2014\u2014\u7531\u4e8e\u4e2d\u56fd\u540c\u884c\u4eec\u5e76\u672a\u5c06\u81ea\u5df1\u7684\u7c7b\u4f3c\u6846\u67b6\u4e5f\u5f00\u6e90\uff0c\\n\u4e3a :ta: \u4eec\u62c5\u5fc3\u7684\u4e2d\u56fd\u7acb\u573a\u7f51\u53cb\u4eec\uff0c\u4e5f\u53ef\u4ee5\u653e\u5fc3\u4e86\u3002\uff09\\n\\n
\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u4e5f\u8bb8\u662f\u70ed\u5fc3\u7fa4\u4f17\u89c9\u5f97\u5feb\u5230\u5e74\u672b\u4e86\uff0c\u793e\u533a\u91cc\u65b0\u95fb\u8fd8\u4e0d\u591f\u5927\uff1b\\n\u56e0\u6b64\u5728\u5168\u56fd\u964d\u6e29\u7684\u80cc\u666f\u4e0b\uff0c\u6211\u4eec\u7684\u52c7\u58eb\u4eec\u8fd8\u662f\u633a\u8eab\u800c\u51fa\uff0c\u7528\u72e0\u6d3b:\u513f:\u52a0\u70ed\u5c4f\u5e55\u524d\u9605\u8bfb\u5468\u62a5\u7684\u60a8\\n\uff08\u548c\u60a8\u7684\u7535\u8111\u4e3b\u673a\u2014\u2014\u5982\u679c\u60a8\u770b\u5b8c\u4e4b\u540e\u4e5f\u70ed\u8840\u6cb8\u817e\uff0c\u800c\u51b3\u5b9a\u4e0a\u624b\u5e72\u70b9\u5565\u7684\u8bdd\uff09\uff01\\n\\n### 3A6000 XA61200 \u5b98\u65b9\u56fa\u4ef6\u7206\u6539\u8d85\u9891\uff01\\n\\n\u5728\u534e\u7855[\u53d1\u5e03\u4e86](https://www.bilibili.com/video/BV15u4y1A7aK) 3A6000 \u8d85\u9891\u89c6\u9891\u540e\uff0c\\n\u5bf9 3A6000 \u8d85\u9891\u7684\u5173\u6ce8\u4e00\u4e0b\u5b50\u591a\u4e86\u8d77\u6765\u3002\\n\\n\u867d\u7136\u9f99\u82af\u4e2d\u79d1\u7684\u56fa\u4ef6\u5de5\u7a0b\u5e08 [@MarsDoge] \u5df2\u7ecf\u5728\u8bc4\u8bba\u533a[\u63d0\u5230](https://github.com/loongson/Firmware/pull/79#issuecomment-1832171459)\uff0c\\n\u4f1a\u5728\u4e0b\u4e2a\u53d1\u5e03\u5468\u671f\uff082024 \u5e74 2 \u6708\uff09\u63d0\u4f9b\u56fa\u4ef6\u7684\u8d85\u9891\u9009\u9879\uff0c\u4f46\u793e\u533a\u7684\u5c0f\u4f19\u4f34\uff0c\u5df2\u7ecf\u5b8c\u5168\u7b49\u4e0d\u53ca\u4e86\u3002\\n\\nBilibili \u7528\u6237 [nywkkk]\uff08GitHub [@naivekun]\uff0918 \u65e5\u51cc\u6668[\u53d1\u5e03\u4e86](https://www.bilibili.com/video/BV11a4y1r7Qc)\u81ea\u5236\u7684\\nXA61200 \u4e3b\u677f\uff083A6000\uff09\u624b\u52a8\u81ea\u5b9a\u4e49\u8d85\u9891\u56fa\u4ef6\u3002\\n\\n[@MarsDoge]: https://github.com/MarsDoge\\n[nywkkk]: https://space.bilibili.com/25097496\\n[@naivekun]: https://github.com/naivekun\\n\\nnywkkk \u4e0a\u5468\u6839\u636e\u624b\u518c\u9006\u5411\u5e76\u4fee\u6539\u4e86\u4e3b\u677f UEFI \u56fa\u4ef6\uff0c\u901a\u8fc7\u4e8c\u8fdb\u5236\u4fee\u6539 PEI\uff08Pre-EFI Initialization\uff0cEFI \u524d\u521d\u59cb\u5316\uff09\u9636\u6bb5\\nPLL \u914d\u7f6e\uff0c\u8fbe\u6210\u4e86 3A6000 \u7684 2.7GHz \u8d85\u9891\uff1b:ta:\\n\u5c06\u6539\u597d\u7684\u56fa\u4ef6\u6587\u4ef6\u5728 GitHub \u4e0a[\u53d1\u5e03\u4e86](https://github.com/naivekun/ls3a6000-overclock-firmware)\u3002\\n\u672c\u5468 :ta: \u518d\u8fdb\u4e00\u6b65\uff0c\u7f16\u5199\u4e86\u8d85\u9891 UEFI PEI \u6a21\u5757\u5e76[\u516c\u5f00\u4e86](https://github.com/naivekun/LoongsonOverclockPkg)\u6a21\u5757\u6e90\u7801\uff1a\\n\u8be5\u6a21\u5757\u63d2\u5165\u4e3b\u677f\u56fa\u4ef6 PEI \u542f\u52a8\u94fe\u540e\uff0c\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u7535\u538b\u3001\u9891\u7387\u7684\u81ea\u5b9a\u4e49\u8c03\u8282\u3002\\n\\n\u5237\u5165\u4fee\u6539\u7248\u56fa\u4ef6\u540e\uff0c\u4e5f\u53ef\u4ee5\u5728 UEFI shell \u4e2d\u901a\u8fc7\u65b0\u589e\u7684 `overclock` \u547d\u4ee4\u8c03\u8282\u5904\u7406\u5668\u7535\u538b\uff0c\u9891\u7387\uff0c\u91cd\u542f\u540e\u751f\u6548\u3002\\n\u4f46\u5982\u679c\u9891\u7387\u6216\u7535\u538b\u592a\u9ad8\uff0c\u5219\u4f1a\u53d8\u7816\uff0c\u9700\u8981\u901a\u8fc7 SPI \u7f16\u7a0b\u5668\u5237\u5199\u56fa\u4ef6\uff0c\u6216\u8005\u5207\u6362\u5230\u4e3b\u677f\u5907\u7528\u56fa\u4ef6\u540e\u91cd\u5237\u56fa\u4ef6\u6765\u89e3\u51b3\u95ee\u9898\u3002\\n\u6ca1\u6709 SPI \u7f16\u7a0b\u5668\uff08CH341A\u3001FT2232 \u6216\u7c7b\u4f3c\u65b9\u6848\uff09\u7684\u7528\u6237\u53ef\u80fd\u4f1a\u9762\u4e34\u65e0\u6cd5\u6551\u7816\u7684\u98ce\u9669\u3002\\n\\n\u4e0d\u8fc7\uff0c\u7531\u4e8e 3A6000 \u548c 7A2000 \u7684\u5404\u4e2a\u9891\u7387\u57df\u8026\u5408\u5173\u7cfb\u6bd4\u8f83\u591a\uff0c\u76ee\u524d\u4fee\u6539\u56fa\u4ef6\u53ea\u662f\u521d\u6b65\u89e3\u51b3\u4e86\u9891\u7387\u3001\u7535\u538b\u7684\u8c03\u8282\uff0c\u6ca1\u6709\u5f7b\u5e95\u89e3\u8026\u3002\\n\u63d0\u9ad8\u8fd0\u884c\u9891\u7387\u4f1a\u5bf9 HT\u3001DDR \u548c\u6865\u7247\u9891\u7387\u6709\u5f71\u54cd\uff0c\u4f46\u731c\u6d4b\u5927\u90e8\u5206 3A6000 \u53ef\u4ee5\u8f7b\u677e\u8d85\u9891\u5230 2.7~2.8GHz \u7a33\u5b9a\u8fd0\u884c\uff0c\\n\u521a\u597d\u5bf9\u5e94\u8001\u80e1\u63d0\u5230\u7684\u300c3A6000 \u6709 200MHz \u777f\u9891\u63d0\u5347\u7a7a\u95f4\u300d\u3002\\n\u548c\u5927\u591a\u6570 Intel\u3001AMD CPU \u8d85\u9891\u4e00\u6837\uff0c\u5355\u901a\u9053\u5185\u5b58\u4f1a\u51cf\u5c11\u8d85\u9891\u96be\u5ea6\u4ee5\u53ca\u589e\u52a0\u7a33\u5b9a\u6027\u3002\\n\\n:::danger\\n\u867d\u7136\u76ee\u524d\u8d85\u9891\u81f3 2.8GHz \u4f1a\u5e26\u6765 10%~15% \u7684\u6027\u80fd\u63d0\u5347\uff0c\u4f46\u4ecd\u7136\u4e0d\u63a8\u8350\u666e\u901a\u7528\u6237\u8fdb\u884c\u8d85\u9891\u3002\\n\u8d85\u9891\u6709\u53ef\u80fd\u4f1a**\u6c38\u4e45\u635f\u574f**\u4f60\u7684 CPU \u548c\u4e3b\u677f\uff0c\u6709\u65f6\u4e5f\u4f1a\u8fde\u5e26\u635f\u574f\u5185\u5b58\u3001PCIe \u8bbe\u5907\u3002\\n\u5c24\u5176\u76ee\u524d 3A6000 \u8d85\u9891\u5c5e\u4e8e\u6781\u65e9\u671f\u6d4b\u8bd5\uff0c\u5e76\u6ca1\u6709\u660e\u786e\u7684\u7535\u538b\u9891\u7387\u5b89\u5168\u533a\u95f4\u3002\\n\u56e0\u6b64**\u8bf7\u52a1\u5fc5\u786e\u4fdd\u4f60\u5df2\u7ecf\u660e\u786e\u4e0a\u8ff0\u98ce\u9669\uff0c\u5e76\u51c6\u5907\u597d\u518d\u4e70\u4e00\u5757\u4e3b\u677f\u7684\u94b1**\uff0c\u518d\u8fdb\u884c\u8d85\u9891\u3002\\n:::\\n\\nnywkkk \u8fd8\u540c\u6b65[\u5f00\u53d1\u4e86](https://github.com/naivekun/ls3a6000_freq_tool)\u7528\u6765\u67e5\u770b\u9891\u7387\u529f\u8017\u7684\u5de5\u5177\u3002\\n\u6b64\u5de5\u5177\u9700\u8981\u540d\u4e3a `devmem` \u7684\u5de5\u5177\u8f85\u52a9\uff08\u672a\u7ed9\u51fa\u6e90\u7801\uff0c\u4f46\u770b\u4e0a\u53bb\u5b9e\u73b0\u8f83\u4e3a\u7b80\u5355\uff0c\u81ea\u5df1\u5199\u4e00\u4e2a\u5373\u53ef\uff09\uff0c\u4e14\u642d\u914d 4.19 \u5185\u6838\u4f7f\u7528\u3002\\n\u4ee5\u4e0b\u662f :ta: \u5728 Bilibili \u89c6\u9891\u8bc4\u8bba\u533a\u5c55\u793a\u4e86 :ta: \u5c06 3A6000 \u8d85\u9891\u81f3 2.8GHz \u65f6\u6ee1\u8f7d\u6d4b\u8bd5\u7684\u622a\u56fe\uff1a\\n\\n\x3c!-- https://github.com/loongson-community/areweloongyet/assets/5524744/61208f01-d939-4619-a85d-180d6e855cfa --\x3e\\n![3A6000 \u8d85\u9891\u4e4b\u540e 7z benchmark \u4e0e\u540c\u65f6\u7684\u65f6\u949f\u3001\u7535\u538b\u3001\u529f\u7387\u4fe1\u606f\u663e\u793a](./3a6000-at-2.8ghz-running-7z-and-freq.jpg)\\n\\n\\n\u63a8\u8350\u611f\u5174\u8da3\u7684\u540c\u5b66\u79fb\u6b65 naivekun \u540c\u5b66\u7684\u4e2a\u4eba\u7f51\u7ad9\uff0c\u9605\u8bfb :ta: \u4eb2\u7b14\u7684[\u539f\u7406\u8bb2\u89e3\u6587\u7ae0](https://naivekun.com/2023/12/loongson-3a6000-overclock/)\u3002\\n\\n\u672c\u680f\u76ee\u7531 [phorcys] \u4e3a\u60a8\u64ad\u62a5\uff08\u6587\u5b57\u6709\u5c11\u8bb8\u7f16\u8f91\uff09\u3002\\n\\n[phorcys]: https://github.com/phorcys\\n\\n### \u9f99\u82af SIMD \u6307\u4ee4\u6587\u6863\uff1a\u73b0\u5df2\u63a8\u51fa\u793e\u533a\u7248\uff01\\n\\n\u8fd8\u5728\u4e3a\u9f99\u82af\u8fdf\u8fdf\u4e0d\u653e\u51fa\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u7b2c\u4e8c\u5377\uff0cSIMD \u6307\u4ee4\u660e\u660e\u653e\u5728\u773c\u524d\u5374\u4e0d\u77e5\u9053\u600e\u4e48\u7528\uff0c\u800c\u611f\u5230\u4e3a\u96be\uff1f\\n\u611f\u8c22[\u6770\u54e5][jiegec]\uff1a\u73b0\u5728\u4e0d\u7528\u7b49\u4e86\uff01\\n\\n\u300c\u5728 LoongArch \u7b2c\u4e8c\u5377\u5411\u91cf\u6307\u4ee4\u96c6\u6587\u6863\u6ca1\u6709\u653e\u51fa\u7684\u60c5\u51b5\u4e0b\uff0c\u793e\u533a\u5f00\u53d1\u8005\u5bf9\u4e00\u4e9b\u8f6f\u4ef6\u8fdb\u884c SIMD \u52a0\u901f\u7684\u79fb\u690d\u4f1a\u9762\u4e34\u5f88\u5927\u7684\u56f0\u96be\u3002\\n\u56e0\u6b64\uff0c\u6211\u5f00\u59cb\u6839\u636e\u516c\u5f00\u4ee3\u7801\uff08QEMU \u548c GCC\uff09\u6574\u7406 LSX/LASX intrinsics \u7684\u6587\u6863\uff0c\\n\u4ed3\u5e93[\u6258\u7ba1\u5728 GitHub \u4e0a](https://github.com/jiegec/unofficial-loongarch-intrinsics-guide/)\uff0c\\n\u76ee\u524d[\u90e8\u7f72\u5728\u4e2a\u4eba\u7f51\u7ad9\u4e0a](http://jia.je/unofficial-loongarch-intrinsics-guide/)\uff0c\\n\u6b22\u8fce\u8bd5\u7528\u548c\u63d0\u4ea4\u8d21\u732e\u3002\\n\\n\u300c\u76ee\u524d\u5df2\u7ecf\u5b8c\u6210\u6240\u6709\u7684 LSX \u548c LASX intrinsics\uff0c\u5e76\u4e14\u6d4b\u91cf\u4e86\u5411\u91cf\u6307\u4ee4\u5728\u4e24\u4ee3 LA \u5904\u7406\u5668\u4e0a\u7684\u5ef6\u8fdf\u548c\u541e\u5410\u3002\\n\u540c\u65f6\u4e5f\u9a8c\u8bc1\u4e86\u4e4b\u524d\u63d0\u5230\u8fc7\u7684 `vshuf/xvshuf` \u7684 LA464 \u548c LA664 \u4e0d\u4e00\u81f4\u7684\u884c\u4e3a\uff0c\\n\u5e76\u4e14\u53e6\u5916\u53d1\u73b0 `xvpermi.q` \u4e5f\u6709\u7c7b\u4f3c\u95ee\u9898\uff0c\\n\u89c1 [The Guide](http://jia.je/unofficial-loongarch-intrinsics-guide/viewer/?q=MACHINE_3C5000)\u3002\u300d\\n\\n[jiegec]: https://github.com/jiegec\\n\\n\u672c\u680f\u76ee\u7531[\u6770\u54e5][jiegec]\u4e3a\u60a8\u64ad\u62a5\uff08\u6587\u5b57\u6709\u5c11\u8bb8\u7f16\u8f91\uff09\u3002\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u8bf7\u5173\u6ce8[\u9f99\u82af\u793e\u533a\u7684\u8ba8\u8bba\u56ed\u5730][discussions-issues]\uff1a\u76ee\u524d\u5927\u5bb6\u7ecf\u5e38\u5728\u8fd9\u91cc\u8ffd\u8e2a\u5de5\u4f5c\u8fdb\u5ea6\u548c\u6d3e\u6d3b:\u513f:\u4e86\u3002\u884c\u6709\u4f59\u529b\u7684\u540c\u5b66\u8bf7\u6765\u62a5\u5230\uff01\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16\\n[discussions-issues]: https://github.com/loongson-community/discussions/issues"},{"id":"this-week-in-loongarch-28","metadata":{"permalink":"/newsletter/this-week-in-loongarch-28","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-11-this-week-in-loongarch-28/index.md","source":"@site/newsletter/2023-12-11-this-week-in-loongarch-28/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-11T07:45:00.000Z","formattedDate":"2023\u5e7412\u670811\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":8.805,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-28","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","authors":["xen0n"],"date":"2023-12-11T07:45:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 29 \u671f","permalink":"/newsletter/this-week-in-loongarch-29"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","permalink":"/newsletter/this-week-in-loongarch-27"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709\u5de5\u5177\u94fe\u3001\u672c\u7ad9\u9605\u8bfb\u6750\u6599\u7684\u65b0\u589e\uff0c\u4ee5\u53ca\u8bc1\u5b9e\u4e86 3A6000 \u53ef\u4e0a\u6c34\u51b7\uff08\u4f46\u9700\u81ea\u5907\u89d2\u78e8\u673a\u7b49\u673a\u52a0\u5de5\u8bbe\u5907\uff09\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20231209112317.1542046-1-chenhuacai@loongson.cn/)\u672c\u5f00\u53d1\u5468\u671f\u7684\u7b2c\u4e8c\u7ec4\u95ee\u9898\u4fee\u590d\uff0c\\nLinus \u5df2[\u5c06\u5176\u5408\u5e76](https://github.com/torvalds/linux/commit/b10a3ccaf6e39f6290ca29d7c24604082eacaea0)\u5165 tag `v6.7-rc5`\u3002\\n\u4e3b\u8981\u7684\u53d8\u66f4\u6709\uff1a\\n\\n* \u4fee\u590d\u4e86\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](../2023-12-05-this-week-in-loongarch-27/index.md#linux)\\n BPF JIT \u9519\u8bef\u5b9e\u73b0\uff08[Hengqi Chen][chenhengqi]\uff09\uff0cTiezhu Yang \u4e5f\u4fee\u4e86\u53e6\u4e24\u4e2a\u95ee\u9898\uff1b\\n* \u4fee\u590d\u4e86[\u4e0a\u4e0a\u671f](../2023-11-27-this-week-in-loongarch-26.md#linux)\u3001\u4e0a\u671f\u5468\u62a5\u90fd\u63d0\u5230\u7684\\n `execve` \u4e4b\u540e\u4e22\u5931\u7cfb\u7edf\u8c03\u7528\u53f7\u4fe1\u606f\u7684\u95ee\u9898\uff08[Hengqi Chen][chenhengqi]\uff09\uff1b\\n* \u4fee\u590d\u4e86\u4e0a\u4e0a\u671f\u5468\u62a5\u63d0\u5230\u7684 Clang \u6784\u5efa\u7684\u538b\u7f29\u5185\u6838[\u4e0d\u80fd\u5f15\u5bfc](https://github.com/ClangBuiltLinux/linux/issues/1962)\u7684\u95ee\u9898\uff08[WANG Rui][heiher]\uff09\u3002\\n\\n[chenhengqi]: https://github.com/chenhengqi\\n[heiher]: https://github.com/heiher\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### binutils\\n\\n[Xi Ruoyao][xry111] \u4e3a\u5171\u4eab\u5e93[\u542f\u7528\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130991.html)\\n`la.got` \u5230 `la.pcrel` \u7684 relaxation \u4f18\u5316\u3002\\n\\nmengqinggang [\u610f\u56fe](https://sourceware.org/pipermail/binutils/2023-December/130993.html)\u4e3a\\nLoongArch \u6c47\u7f16\u8bed\u8a00\u589e\u52a0\u53cc\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u7b26\u53f7\u540d\u548c\u5bc4\u5b58\u5668\u540d\u652f\u6301\uff0c\u4f46\u672a\u4e00\u5e76\u7ed9\u51fa\u610f\u6b32\u652f\u6301\u7684\u9700\u6c42\u573a\u666f\u3002Fangrui Song\\n\u968f\u540e\u6307\u51fa\u4e86\u5bc4\u5b58\u5668\u540d\u8fd8\u52a0\u5f15\u53f7\u6709\u70b9\u5947\u602a\uff0c\u5e94\u8be5\u662f\u4e0d\u7528\u652f\u6301\uff1b\u4f5c\u8005\u540c\u610f\u4e86\uff0c\u4f1a\u518d\u6539\u4e00\u7248\u3002\\n\\n:::info \u5f15\u53f7\u8868\u793a\u7b26\u53f7\u540d\u7684\u610f\u4e49\\n\u8fd9\u6837\u505a\u5927\u6982\u662f\u4e3a\u4e86\u652f\u6301\u5f15\u7528\u90a3\u4e9b\u5185\u542b\u5947\u7279\u5b57\u7b26\u7684\u7b26\u53f7\u3002\u4f8b\u5982\u5728 x86 \u4e0a\uff1a\\n\\n```\\nmovq $1, \\"%rax\\" ; \u5411\u540d\u4e3a %rax \u7684\u7b26\u53f7\u6307\u5411\u7684 8 \u5b57\u8282\u4f4d\u7f6e\u5199 1\\nmovq $1, %rax ; \u5411 rax \u5bc4\u5b58\u5668\u5199 1\\n```\\n\\n\u8be6\u89c1 [Xi Ruoyao][xry111] \u7684[\u89e3\u91ca\u6587\u5b57](https://github.com/loongson-community/areweloongyet/pull/105#discussion_r1417857333)\u3002\\n:::\\n\\n#### GCC {#gcc}\\n\\n[\u6770\u54e5][jiegec]\u4e09\u5929\u524d\\n\uff0812 \u6708 8 \u65e5\uff09[\u53d1\u73b0](https://github.com/loongson-community/discussions/issues/23)\\nGCC 14 \u7684 20231203 \u5feb\u7167\u7248\u672c\uff0c\u76f8\u6bd4 GCC 13.2.1 \u5c45\u7136\u52a3\u5316\u4e86 3A6000 \u7684 CoreMark \u8dd1\u5206\u9ad8\u8fbe 15%\uff01Xi Ruoyao\\n\u7acb\u5373\u52a0\u5165\u6392\u67e5\u961f\u4f0d\u3002\\n\u5927\u5bb6\u53d1\u73b0\u4e86\u81f3\u5c11 4 \u4e2a\u5f7c\u6b64\u72ec\u7acb\u7684\u95ee\u9898\uff1a\\n\\n* [PR112919]\uff1a\u5148\u524d\u5728 LA464 \u4e0a\u8bc1\u5b9e\u6700\u4f18\u7684\u4ee3\u7801\u5757\u5bf9\u9f50\u53c2\u6570\uff0c\u5bf9 LA664 \u53cd\u800c\u662f\u635f\u5bb3\uff1b\\n* [PR112935]\uff1a\u67b6\u6784\u65e0\u5173\u90e8\u5206\u53d1\u751f\u4e86\u52a3\u5316\uff0cAndrew Pinski\\n \u5df2\u7ecf[\u7ed9\u51fa](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640030.html)\u8865\u4e01\uff1b\\n* [PR112936]\uff1a\u6392\u67e5\u4e0a\u4e00\u4e2a\u95ee\u9898\u65f6\uff0c\u53d1\u73b0 LoongArch \u7684\u4e58\u9664\u6cd5\u6307\u4ee4\u6210\u672c\u5b9a\u4e49\u5f97\u975e\u5e38\u574f\uff0c\u5b8c\u5168\u4e0d\u53cd\u6620\u73b0\u5b9e\uff0cXi Ruoyao\\n \u4e5f\u5df2[\u7ed9\u51fa](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640012.html)\u8865\u4e01\uff1b\u4ee5\u53ca\\n* [PR111126] \u4e5f\u4e0e\u672c\u95ee\u9898\u5b58\u5728\u4e00\u5b9a\u5173\u7cfb\uff0c\u662f\u540e\u7eed\u53ef\u4ee5\u60e0\u53ca LoongArch\u3001RISC-V \u548c MIPS64r6 \u7684\u4e00\u9879\u6539\u8fdb\u3002\\n\\n[PR112919]: https://gcc.gnu.org/PR112919\\n[PR112935]: https://gcc.gnu.org/PR112935\\n[PR112936]: https://gcc.gnu.org/PR112936\\n[PR111126]: https://gcc.gnu.org/PR111126\\n\\nJiahao Xu \u505a\u7684 LoongArch v1.10 \u7684\u8fd1\u4f3c\u6d6e\u70b9\u5012\u6570\u6307\u4ee4 `frecipe.[sd]`\u3001\u8fd1\u4f3c\u6d6e\u70b9\u5e73\u65b9\u6839\u5012\u6570\u6307\u4ee4 `frsqrte.[sd]`\\n\u53ca\u5176 SIMD \u652f\u6301\uff0c\u5df2\u7531 chenglulu [\u5408\u5165\u4e3b\u7ebf](https://github.com/gcc-mirror/gcc/commit/61f1001f2f4ab9128e5eb6e9a4adbbb0f9f0bc75)\u3002\\n\u611f\u8c22[\u6770\u54e5][jiegec]\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[Xi Ruoyao][xry111] [\u5141\u8bb8\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639748.html)\u628a `-mcmodel=extreme` \u4e0e `model` \u5c5e\u6027\uff0c\\n\u642d\u914d `-mexplicit-relocs=auto` \u4f7f\u7528\u3002\\n\\n[Yang Yujie][scylaac] [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639651.html)\u5bf9\\n`__builtin_eh_return` \u7684\u8c03\u7528\u4f1a\u5bfc\u81f4\u540c\u4e00\u51fd\u6570\u4e2d\u5176\u4ed6\u5e38\u89c4\u8fd4\u56de\u8def\u5f84\u7684\u8fd4\u56de\u503c\u88ab\u7834\u574f\u7684\u95ee\u9898\u3002\\n\u6b64\u95ee\u9898\u88ab\u53d1\u73b0\u4f1a\u5bfc\u81f4 libgcc \u7684 `_Unwind_RaiseException` \u5728\u6781\u7aef\u60c5\u51b5\u4e0b\u8fd4\u56de\u9519\u8bef\u7ed3\u679c\u3002\\n\\n[Yang Yujie][scylaac] \u8fd8\u57fa\u4e8e AOSC \u5f00\u53d1\u8005 Zixing Liu \u5148\u524d\u5728 9 \u6708\u4efd[\u53d1\u51fa\u7684](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631260.html)\\nD \u8bed\u8a00 LoongArch \u9002\u914d\u8865\u4e01\uff0c\\n\u5c06\u5176[\u8fed\u4ee3\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/638912.html)\u7b2c\u4e09\u7248\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n[jiegec]: https://github.com/jiegec\\n[scylaac]: https://github.com/scylaac\\n[xry111]: https://github.com/xry111\\n\\n#### LLVM {#llvm}\\n\\n[wangleiat](https://github.com/wangleiat) \u6559\u4f1a\u4e86 LLVM \u505a\u5f88\u591a SIMD \u4ee3\u7801\u751f\u6210\uff1a\\n\\n* [\u6574\u6570\u5143\u7d20\u7684\u53d6\u5b8c\u6574\u4e58\u6cd5\u7ed3\u679c\u9ad8\u534a\u90e8\u5206](https://github.com/llvm/llvm-project/commit/e9cd197d15300f186a5a32092103add65fbd3f50)\uff0c\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`mul`][llvm-langref-mul] \u968f\u540e\\n `ashr`/`lshr` \u518d `trunc` \u7684\u64cd\u4f5c\uff1b\\n* [\u6574\u6570\u5143\u7d20\u7684\u9009\u62e9](https://github.com/llvm/llvm-project/commit/de21308f78f3b0f0910638dbdac90967150d19f0)\uff0c\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`select`][llvm-langref-select]\uff1b\\n* [\u6d6e\u70b9\u3001\u6574\u6570\u7684\u5143\u7d20\u6bd4\u8f83](https://github.com/llvm/llvm-project/pull/74700)\uff0c\\n \u5206\u522b\u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`fcmp`][llvm-langref-fcmp]\\n \u4e0e [`icmp`][llvm-langref-icmp]\uff1b\\n* [\u6d6e\u70b9\u5f00\u5e73\u65b9\u3001\u6c42\u5012\u6570](https://github.com/llvm/llvm-project/pull/74795)\uff0c\\n \u5206\u522b\u5bf9\u5e94 LLVM IR \u4e2d\u7684 [`llvm.sqrt.*`][llvm-langref-sqrt] intrinsics\uff0c\\n \u4ee5\u53ca\u88ab\u9664\u6570\u662f 1.0 \u7684 [`fdiv`][llvm-langref-fdiv]\uff1b\\n* [\u6d6e\u70b9\u6c42\u76f8\u53cd\u6570](https://github.com/llvm/llvm-project/commit/cdc37325669c0321328a7245083c427b229e79e9),\\n \u5bf9\u5e94 LLVM IR \u4e2d\u64cd\u4f5c\u5411\u91cf\u6570\u636e\u7c7b\u578b\u7684 [`fneg`][llvm-langref-fneg]\u3002\\n\\n[llvm-langref-fcmp]: https://llvm.org/docs/LangRef.html#fcmp-instruction\\n[llvm-langref-fdiv]: https://llvm.org/docs/LangRef.html#fdiv-instruction\\n[llvm-langref-fneg]: https://llvm.org/docs/LangRef.html#fneg-instruction\\n[llvm-langref-icmp]: https://llvm.org/docs/LangRef.html#icmp-instruction\\n[llvm-langref-mul]: https://llvm.org/docs/LangRef.html#mul-instruction\\n[llvm-langref-select]: https://llvm.org/docs/LangRef.html#select-instruction\\n[llvm-langref-sqrt]: https://llvm.org/docs/LangRef.html#llvm-sqrt-intrinsic\\n\\n[SixWeining](https://github.com/SixWeining)\\n[\u540c\u6b65\u4e86](https://github.com/llvm/llvm-project/pull/73345)\\nLoongArch ELF psABI 20231102 \u7248\u672c\uff08\u6574\u4f53\u7248\u672c\u53f7 v2.20\uff09\u53d8\u66f4\u4e86\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n\u672c\u7ad9\u7684\u5176\u4ed6\u680f\u76ee\u5f97\u5230\u4e86\u4e9b\u4e45\u8fdd\u7684\u66f4\u65b0\uff1a\\n\\n* \u65b0\u589e\u4e86[\u300a\u57fa\u7840\u8bbe\u65bd\u7248\u672c\u57fa\u7ebf\u53c2\u8003\u300b](/docs/baseline-reference/)\u4e0e[\u300a\u5178\u578b\u9f99\u67b6\u6784\u914d\u7f6e\u6570\u636e\u6536\u96c6\u300b](/docs/collection-of-typical-configurations/)\u4e24\u7bc7\u9605\u8bfb\u6750\u6599\uff1b\\n* \u4e3a[\u300a\u5982\u4f55\u79f0\u547c\u9f99\u67b6\u6784\uff1f\u300b](/docs/loong-or-loongarch/)\u66f4\u65b0\u4e86\u4fe1\u606f\uff0c\\n* \u5728\u9996\u9875\u65b0\u589e\u4e86 [ALT Linux](https://en.altlinux.org/Main_Page)\u3001[\u52c7\u8c79](https://github.com/sunhaiyong1978/Yongbao)\u4e24\u79cd\u53d1\u884c\u7248\uff1b\\n* \u5728\u9996\u9875\u65b0\u589e\u4e86 Haiku\u3001ReactOS \u4e24\u79cd\u5386\u53f2\u60a0\u4e45\u7684\u5c0f\u4f17\u5185\u6838\u3002\\n\\n\u6b22\u8fce\u8bfb\u8005\u4eec[\u63d0\u51fa\u5efa\u8bae](https://github.com/loongson-community/areweloongyet/issues)\u3001[\u53c2\u4e0e\u8d21\u732e](https://github.com/loongson-community/areweloongyet/pulls)\uff01\\n\\n[Xinmudotmoe] \u5341\u6708\u4efd\u5411 ROCm \u7684 ROCR-Runtime\\n\u7ec4\u4ef6[\u63d0\u4ea4\u7684](https://github.com/ROCm/ROCR-Runtime/pull/168)\\nLoongArch \u652f\u6301\u8865\u4e01\uff0c\u5df2\u4e3a AMD \u7ef4\u62a4\u8005\u6240\u786e\u8ba4\uff1a\u5c06\u8fdb\u5165 ROCm 6.1 \u5b98\u65b9\u7248\u672c\u3002\\n\\n[Xinmudotmoe]: https://github.com/Xinmudotmoe\\n\\nAOSC \u8d21\u732e\u8005[\u5085\u5b5d\u5143](https://github.com/eatradish)\u4e3a Rust \u7684 Lua \u7ed1\u5b9a\u5e93\\nmlua [\u65b0\u589e\u4e86](https://github.com/khvzak/mlua/pull/339) LoongArch \u652f\u6301\u3002\\n\u611f\u8c22[\u767d\u94ed\u9aa2](https://github.com/MingcongBai)\u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f: {#grins}\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u8fd1\u65e5\uff0c[Xinmudotmoe] \u5728\u89d2\u78e8\u673a\u7684\u914d\u5408\u4e0b\uff0c\u4e3a :ta: \u7684 3A6000 \u6362\u4e0a\u4e86\u6c34\u51b7\uff01\\n\u770b\u770b :ta: \u7684\u597d\u6d3b:\u513f:\uff1a\\n\\n### 3A6000 \u6c34\u51b7\u8ba1\u5212\uff01\\n\\n\u56fa\u4ef6\u7ec4[\u66f4\u65b0\u592a\u5feb](https://github.com/loongson/Firmware/pull/79)\uff0c\\n\u4f7f\u5f97\u6211\u521a\u78e8\u5f00 PCIe \u69fd\u5c31\u6709\u4e86\u66f4\u597d\u7684\u56fa\u4ef6\u3002\uff08\u767d\u5e72\uff09\\n\\n\uff08\u7f16\u8005\u6309\uff1a3A6000 \u8bc4\u4f30\u677f\u7684\u51fa\u5382\u56fa\u4ef6\u662f\u4e0d\u80fd\u70b9\u4eae RDNA \u6216\u66f4\u5f80\u540e\u7684 A \u5361\u7684\u3002\\n\u867d\u7136\u53ef\u7528[\u300c\u732e\u796d\u6d41\u300d](https://github.com/loongson/Firmware/issues/74#issuecomment-1831442404)\u7ed5\u8fc7\uff0c\\n\u4f46\u524d\u63d0\u662f\u8981\u300c\u89e3\u51b3 x8 \u69fd\u63d2 x16 \u5361\u7684\u95ee\u9898\u300d\u2014\u2014\u670b\u53cb\u7684\u89d2\u78e8\u673a\u6015\u4e0d\u662f\u5c31\u4e3a\u8fd9\u8d2d\u4e70\u7684\u2026\u2026\uff09\\n\\nXA61200 \u4e3b\u677f\u6263\u5177\u517c\u5bb9 LGA 115x \u5b54\u4f4d\uff0c\u4f46\u5904\u7406\u5668\u9ad8\u5ea6\u8fc7\u4f4e\uff0c\u4e14\u6865\u7247\u6563\u70ed\u5668\u4e0e\u5904\u7406\u5668\u4f9b\u7535\u7535\u611f\u4f4d\u7f6e\u51b2\u7a81\u3002\\n\u53ea\u5f97\u7528\u89d2\u78e8\u673a\u5bf9 115x \u6c34\u51b7\u5934\u6846\u67b6\u8fdb\u884c\u6253\u78e8\uff0c\u4f7f\u5176\u517c\u5bb9\u3002\\n\u53ef\u89c1\u6253\u78e8\u540e\u6c34\u51b7\u5934\u7684\u53d8\u5316\uff08\u70b9\u51fb\u53ef\u770b\u9ad8\u6e05\u5927\u56fe\uff0c\u4e0b\u540c\uff09\uff1a\\n\\n\x3c!-- convert reduced-frame-closeup.jpg -resize 816x459 reduced-frame-closeup@0.25x.webp --\x3e\\n[![\u89d2\u78e8\u673a\u6253\u78e8\u540e\u7684\u51b7\u5934\u6846\u67b6\u7279\u5199](./reduced-frame-closeup@0.25x.webp)](./reduced-frame-closeup.jpg)\\n\\n\u6d4b\u8bd5\u5b89\u88c5\u538b\u529b\uff1a\\n\\n\x3c!-- convert pressure-test.jpg -resize 512x230 -rotate 90 pressure-test@0.125x.webp --\x3e\\n[![\u6d4b\u8bd5\u5b89\u88c5\u538b\u529b\u7684\u6548\u679c](./pressure-test@0.125x.webp)](./pressure-test.jpg)\\n\\n\u8fd0\u884c\u6548\u679c\uff1a\\n\\n\x3c!-- convert final-effect.jpg -resize 460x460 final-effect@0.25x.webp --\x3e\\n[![\u6c34\u51b7\u7cfb\u7edf\u7684\u8fd0\u884c\u6548\u679c](./final-effect@0.25x.webp)](./final-effect.jpg)\\n\\n~~\u89d2\u78e8\u4e00\u65f6\u723d\uff0c\u6f0f\u6db2\u706b\u846c\u573a\uff01~~\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u65b0\u589e\u4e00\u7bc7\u82f1\u96c4\u5e16\uff1a[\u5728\u793e\u533a\u4e2d\u65b0\u589e LoongArch \u7684 SMBIOS Type 44 \u8868\u683c\u652f\u6301](https://github.com/loongson-community/discussions/issues/28)\u3002\\n \u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u53bb\u8bc4\u8bba\u533a\u62a5\u5230\uff01\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-27","metadata":{"permalink":"/newsletter/this-week-in-loongarch-27","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-12-05-this-week-in-loongarch-27/index.md","source":"@site/newsletter/2023-12-05-this-week-in-loongarch-27/index.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-12-04T19:00:00.000Z","formattedDate":"2023\u5e7412\u67084\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":9.925,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-27","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","authors":["xen0n"],"date":"2023-12-04T19:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 28 \u671f","permalink":"/newsletter/this-week-in-loongarch-28"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","permalink":"/newsletter/this-week-in-loongarch-26"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 ABI\u3001\u5de5\u5177\u94fe\u3001Firefox\u3001\u56fa\u4ef6\u3001OpenSSL\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n\u672c\u671f\u5468\u62a5\u7684\u5b9e\u9645\u53d1\u7a3f\u65f6\u95f4\u662f\u5468\u4e8c\u51cc\u6668\uff0c\u56e0\u4e3a\u8fd9\u4e2a\u70b9\u624d\u5199\u5b8c\u2014\u2014\u767d\u5929\u90fd\u5728\u5fd9\u522b\u7684\u3002\\n\u7f51\u9875\u4e0a\u663e\u793a\u7684\u53d1\u7a3f\u65f6\u95f4\u4ecd\u7136\u662f 12 \u6708 4 \u65e5\uff1a\\n\u8fd9\u662f Docusaurus \u65e9\u671f\u4e3a\u4e86\u4fee\u590d\u4e00\u4e2a\u65f6\u533a bug \u800c[\u5bfc\u81f4\u7684](https://github.com/facebook/docusaurus/issues/4881)\u53c8\u4e00\u4e2a\u65f6\u533a bug\u3002\\n\\n## \u8981\u95fb\u901f\u9012 {#breaking-news}\\n\\n11 \u6708 28 \u65e5\uff0c\u9f99\u82af\u516c\u53f8\u5728\u56fd\u5bb6\u4f1a\u8bae\u4e2d\u5fc3\u4e3e\u529e\u4e86 2023 \u9f99\u82af\u4ea7\u54c1\u53d1\u5e03\u66a8\u7528\u6237\u5927\u4f1a\u3002\\n\u7b14\u8005\u5728\u73b0\u573a\u83b7\u5f97\u4e86\u4e00\u4e9b\u6709\u4ef7\u503c\u4fe1\u606f\uff1b\u5728\u672a\u6765\u51e0\u671f\u7684\u5468\u62a5\u4e2d\u5c06\u9646\u7eed\u4e3a\u60a8\u64ad\u62a5\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nHengqi Chen \u5728\u8dd1 BPF \u81ea\u6211\u6d4b\u8bd5\u7684\u65f6\u5019\uff0c[\u53d1\u73b0](https://lore.kernel.org/loongarch/CAEyhmHT6UOryPZi7eEfw01Y_CjAqxy8NM6eKkdvdojJqB9P7eQ@mail.gmail.com/)\u5f00\u542f\\nLoongArch BPF JIT \u4e4b\u540e\uff0c\u4e00\u4e9b\u7528\u4f8b\u4f1a\u5bfc\u81f4\u5185\u6838 panic \u6216\u5bfc\u81f4 RCU \u5361\u6b7b\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c[\u4fee\u4e86](https://lore.kernel.org/loongarch/20231204141938.7230-1-hengqi.chen@gmail.com/)\u4e00\u79cd panic\u3002\\n\\nHengqi Chen \u7ee7\u7eed\u8fed\u4ee3 :ta: \u7684\u5c06\u7cfb\u7edf\u8c03\u7528\u53f7\u5b58\u5165 `struct thread_info` \u7684\u8865\u4e01\u7cfb\u5217\u3002\\n\u4e3a\u4e86\u89e3\u51b3 `execsnoop` \u7b49\u5de5\u5177\u4e0d\u53ef\u7528\u7684\u71c3\u7709\u4e4b\u6025\uff0c:ta: \u5355\u72ec[\u62c6\u51fa\u4e86](https://lore.kernel.org/loongarch/20231204053745.3153-1-hengqi.chen@gmail.com/)\\n`exec` \u65f6\u4e0d\u6e05\u96f6 `$a7`\uff08\u7cfb\u7edf\u8c03\u7528\u53f7\u5bc4\u5b58\u5668\uff09\u7684\u8865\u4e01\uff1b\u6b64\u8865\u4e01\u5df2\u88ab Huacai Chen \u63a5\u53d7\uff0c\\n\u5c06\u5728 Linux 6.7 \u6700\u7ec8\u53d1\u5e03\u65f6\u53ef\u7528\u3002\\n\\nTiezhu Yang [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20231129130701.27744-1-yangtiezhu@loongson.cn/)\u7b2c 5 \u7248\u7684\u4e3a\\nLoongArch \u9002\u914d [ORC stack unwinder](https://lwn.net/Articles/728339/) \u7684\u8865\u4e01\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u9f99\u82af\u56e2\u961f\u5b8c\u6210\u4e86\u521d\u7248 TLS[^tls] \u63cf\u8ff0\u7b26\uff08TLS descriptors\uff0cTLSDESC\uff09ABI \u7684\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\uff1a\\n\\n[^tls]: Thread-Local Storage\uff0c\u7ebf\u7a0b\u672c\u5730\u5b58\u50a8\u3002\u6b64 TLS \u975e\u5f7c TLS\uff08Transport Layer Security\uff0c\u4f20\u8f93\u5c42\u5b89\u5168\uff09\u3002\\n\\n* [binutils](https://sourceware.org/pipermail/binutils/2023-December/130916.html)\uff08Lulu Cai\uff09\\n* [gcc](https://gcc.gnu.org/pipermail/gcc-patches/2023-December/638907.html)\uff08mengqinggang\uff09\\n* [glibc](https://sourceware.org/pipermail/libc-alpha/2023-December/153052.html)\uff08mengqinggang\uff09\\n\\nTLS \u63cf\u8ff0\u7b26\u662f\u4e00\u79cd\u7528\u6765\u4f18\u5316\u7ebf\u7a0b\u672c\u5730\u53d8\u91cf\uff08thread-local variables\uff09\u8bbf\u95ee\u901f\u5ea6\u7684\u65b9\u6848\uff0c\\n\u7531 Alexandre Oliva \u5728 2005 \u5e74\u524d\u540e\u8bbe\u8ba1\uff1b\u4f5c\u8005[\u516c\u5f00\u4e86](https://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-x86.txt)\u8bbe\u8ba1\u6587\u6863\u3002\\n\u76ee\u524d\u5b9e\u73b0\u4e86\u6216\u5373\u5c06\u5b9e\u73b0 TLS \u63cf\u8ff0\u7b26\u7684\u67b6\u6784\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a\\n\\n* \u5bcc\u58eb\u901a FR-V\uff1a\u6700\u521d\u8bbe\u8ba1\u7684\u7075\u611f\u6765\u6e90\u548c\u76ee\u6807\u67b6\u6784\u3002\\n* x86\uff1ai386\u3001AMD64\u3002\\n* ARM\uff1aARM\u3001AArch64\u3002\\n* Andes NDS32\\n* Tensilica Xtensa\\n* RISC-V\uff1a\u6b63\u5728\u63a8\u8fdb\u4e2d\uff0c[\u5de5\u5355](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94)\u3001[\u8bbe\u8ba1\u7a3f](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373)\u3002\\n\\nLoongArch \u4e0d\u65e5\u4e5f\u5c06\u52a0\u5165\u5b83\u4eec\u7684\u884c\u5217\u3002\\n\u7b2c\u4e00\u7248\u4ee3\u7801\u8fd8\u6709\u4e9b\u5730\u65b9\u8981\u6539\uff0c\u8bf7\u76f4\u63a5\u53bb\u4e0a\u6e38\u56f4\u89c2\u3002\\n\u503c\u5f97\u4e00\u63d0\u7684\u662f\u539f\u4f5c\u8005\u4e5f[\u52a0\u5165\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130932.html)\u8ba8\u8bba\uff0c\u5e76\u4ece\u81ea\u5df1\u7684\u7ecf\u9a8c\u7ed9\u51fa\u4e86\u5b9d\u8d35\u5efa\u8bae\uff01\\n\\n\u51e0\u4e4e\u4e0e\u6b64\u540c\u65f6\uff0c\u5e38\u4f73\u741b\u540c\u5b66\u4e5f[\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130921.html)\u4e00\u7248\u5bf9\\nTLS LE \u64cd\u4f5c\u7684 relaxation \u652f\u6301\u3002\\n\u8fd9\u540d\u53f7\u5728\u9f99\u82af\u5708\u5b50\u662f\u5934\u4e00\u56de\u89c1\uff0c\u90ae\u7bb1\u540e\u7f00\u4e5f\u662f\u897f\u5b89\u90ae\u7535\u5927\u5b66\uff0c\u800c\u975e `loongson.cn`\u2014\u2014\u65b0\u9c9c\u8840\u6db2\u672c\u5c31\u4e0d\u591a\u89c1\uff0c\\n\u4f55\u51b5\u9996\u79c0\u5c31\u5728 ABI \u8fd9\u79cd\u786c\u6838\u9886\u57df\u3002\\n\u8ba9\u6211\u4eec\u70ed\u70c8\u6b22\u8fce :ta:\uff01\\n\\n#### binutils {#binutils}\\n\\n\u5148\u524d[\u62a5\u9053\u8fc7\u7684](../2023-10-30-this-week-in-loongarch-22.md#binutils)\\n[Jiajie Chen](https://github.com/jiegec)\\n\u5e2e\u5fd9\u52a0\u7684 LoongArch® v1.10 \u65b0\u6307\u4ee4\uff0c\u5df2\u7ecf\u8fdb\u5165\u4e3b\u7ebf\uff1a[\u8865\u4e01\u7532](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=cd51849c90e8fd13779bec69f5d4c7aadf03a532)\u3001[\u8865\u4e01\u4e59](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9ff4752d0f6d46ca0f7d275ea07e05790ac8dd1d)\u3002\\n\\nmengqinggang \u7ee7\u7eed\u8ddf\u8fdb\u65b0\u7684\u4e2d\u7b49\u4ee3\u7801\u6a21\u578b\uff08medium code model\uff09\u8fc7\u7a0b\u8c03\u7528\u65b9\u5f0f `R_LARCH_CALL36`\\n\u7684\u9002\u914d\u5de5\u4f5c\uff0c\u7ed9 binutils [\u589e\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-December/130906.html)\\n`call` \u548c `tail` \u4f2a\u6307\u4ee4\u652f\u6301\u3002\\n\u5728\u90ae\u4ef6\u5217\u8868\u5df2\u7ecf\u8fdb\u884c\u4e86\u4e00\u4e9b\u8ba8\u8bba\uff0c\u56e0\u6b64\u8fd9\u4e9b\u6307\u4ee4\u7684\u5177\u4f53\u5f62\u6001\u53ef\u80fd\u8fd8\u4f1a\u5fae\u8c03\uff0c\u4f46\u8981\u52a0\u5165\u8fd9\u4e24\u7c7b\u4f2a\u6307\u4ee4\u8fd9\u4ef6\u4e8b\u5e94\u8be5\u662f\u786e\u5b9a\u4e86\u3002\\n\u719f\u6089 RISC-V \u7684\u8bfb\u8005\u5e94\u8be5\uff08\u7ec8\u4e8e\uff09\u4f1a\u611f\u5230\u5bb6\u7684\u6e29\u6696 :wink:\\n\\n#### GCC {#gcc}\\n\\nJoern Rennecke \u4e0e Jeff Law [\u505a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638380.html)\u4e00\u7a3f\u6d88\u9664\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u3001\u96f6\u6269\u5c55\u7684\u5de5\u5e8f\uff08pass\uff09\u3002\\n\u8fd9\u4e0d\u662f\u4e13\u95e8\u4e3a LoongArch \u505a\u7684\u5de5\u4f5c\uff0c\u4f46\u5305\u62ec LoongArch \u5728\u5185\u7684\u4e0d\u5c11\u67b6\u6784\u5c06\u4ece\u4e2d\u53d7\u76ca\u3002\\n\\nJiahao Xu \u6309\u7167[\u4e4b\u524d Xi Ruoyao \u7684\u6539\u6cd5](../2023-11-13-this-week-in-loongarch-24.md#gcc)\uff0c\\n\u4fee\u590d\u4e86\u5269\u4f59\u7684\u5b50\u5bc4\u5b58\u5668\uff08subreg\uff09\u8bef\u7528\uff0c\\n\u7b49\u4e8e\u6d88\u706d\u4e86\u8fd9\u4e9b\u95ee\u9898\u903b\u8f91\u5c06\u5bfc\u81f4\u7684\u7f16\u8bd1\u5668\u5d29\u6e83\uff08ICE\uff09\u3002\\n\uff08GCC \u8981\u6c42\u4e0d\u80fd\u53d6\u5b50\u5bc4\u5b58\u5668\u7684\u5b50\u5bc4\u5b58\u5668\uff0c\u5426\u5219\u5d29\u6e83\u3002\uff09\\n\\nJiahao Xu \u8fd8[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638556.html)\\n`{v,xv}shuf` \u7684\u6d4b\u8bd5\u7528\u4f8b\u5728 LA664 \u4e0a\u5931\u8d25\u7684\u95ee\u9898\uff08bug [PR112611]\uff09\u3002\\n\u8fd9\u662f\u56e0\u4e3a\u539f\u5148\u7684\u9884\u671f\u8ba1\u7b97\u7ed3\u679c\u5c31\u662f LA464 \u4e0a\u76f8\u5e94\u6307\u4ee4\u7684\u6267\u884c\u6548\u679c\uff0c\u800c\u539f\u5148\u7684\u8f93\u5165\u6570\u636e\u4f1a\u89e6\u53d1 LA464 \u7684\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\n[PR112611]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112611\\n\\nJiahao Xu \u8fd8[\u52a0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638369.html)\\n`-mrecip` \u9009\u9879\uff0c\u7528\u6765\u63a7\u5236\u662f\u5426\u5229\u7528 LA664 \u7684\u4e24\u79cd\u6d6e\u70b9\u8fd1\u4f3c\u5012\u6570\u6307\u4ee4\u3002\u4ee3\u7801\u4ecd\u9700\u4fee\u6539\u3002\\n\\nliwei \u7528 LoongArch SIMD \u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638384.html)\u6807\u91cf\u7684\\n`__builtin_popcount` \u64cd\u4f5c\u3002\\n\uff08\u8fd9\u4e2a\u64cd\u4f5c\u7684\u542b\u4e49\u662f\u6c42\u6574\u6570\u7684\u4e8c\u8fdb\u5236\u8868\u793a\u4e2d `1` \u7684\u4e2a\u6570\uff1bpopulation count \u76f4\u8bd1\u662f\u300c\u4eba\u53e3\u8ba1\u6570\u300d\uff0c\u5f88\u5f62\u8c61\u3002\uff09\\n\\n:::info \u7f16\u8005\u6309\\n\u8fd9\u4e2a\u64cd\u4f5c\u6709\u5411\u91cf\u7248\uff1a`{v,xv}pcnt.[bhwd]`\uff0c\u5374\u6ca1\u6709\u6807\u91cf\u7248\uff0c\u4e0d\u5bf9\u79f0\u3002\\n\u5728\u4e00\u4e9b\u96f6\u661f\u4f7f\u7528\uff0c\u56e0\u800c\u4e0d\u503c\u5f97\u5411\u91cf\u5316\u7684\u573a\u666f\u53ef\u80fd\u5403\u4e8f\u3002\\n\u5e0c\u671b\u4ee5\u540e\u80fd\u8865\u4e0a\u8fd9\u4e00\u5757\u2026\u2026\\n:::\\n\\nliwei \u8fd8[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638385.html)\u53d6\u5947/\u5076\u5143\u7d20\u7684\u5411\u91cf\u64cd\u4f5c\u3002\\n\\nliwei \u8fd8[\u6e05\u7406\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638390.html)[\u4e0a\u6b21\u4f18\u5316\u540e](../2023-11-20-this-week-in-loongarch-25.md#CLZ_DEFINED_VALUE_AT_ZERO)\u91cd\u590d\u7684\\n`CLZ_DEFINED_VALUE_AT_ZERO` \u5b9a\u4e49\u3002\\n\\nguojie \u5728 UBSan \u7684\u6307\u5bfc\u4e0b[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637859.html)\\nLoongArch \u540e\u7aef\u5728\u5904\u7406\u7acb\u5373\u6570\u65f6\uff0c\u53ef\u80fd\u89e6\u53d1\u7684\u4e00\u5904\u672a\u5b9a\u4e49\u884c\u4e3a\u3002\\n\\nguojie \u8fd8[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637858.html)\u9ad8 32 \u4f4d\u4e0e\u4f4e 32 \u4f4d\u78b0\u5de7\u76f8\u540c\u7684\u7acb\u5373\u6570\u7684\u88c5\u8f7d\u3002\\n\\n\u672c\u671f\u7684 GCC \u65b0\u95fb\u90fd\u662f [Xi Ruoyao][xry111] \u5e2e\u5fd9\u6574\u7406\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### LLVM {#llvm}\\n\\n[wangleiat] \u4eff\u7167\u4e24\u5e74\u524d\u7684\u4e00\u7ec4 x86 \u6539\u52a8\uff0c[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/73742)\u5728\u4ee3\u7801\u751f\u6210\u7684\u8fb9\u754c\u60c5\u51b5\u65f6\\n`fnmsub.[sd]` \u7684\u9519\u8bef\u7528\u6cd5\u3002\\n\\n[wangleiat] \u7528 SIMD \u6307\u4ee4[\u652f\u6301\u4e86](https://github.com/llvm/llvm-project/pull/73759)\\nLLVM IR \u7684 [`extractelement` \u64cd\u4f5c](https://llvm.org/docs/LangRef.html#extractelement-instruction)\uff08\u63d0\u53d6\u5143\u7d20\uff1a\u63d0\u53d6\u4f4d\u4e8e\u8f93\u5165\u5411\u91cf\u7684\u7ed9\u5b9a\u7d22\u5f15\u7684\u6807\u91cf\u5143\u7d20\uff09\u3002\\n\u8fd9\u5e94\u8be5\u662f\u6700\u65e9\u4e00\u6279\u7684 LLVM/Clang \u5411\u91cf\u652f\u6301\u4e86\uff0c\u671f\u5f85\u540e\u7eed\u7684\u66f4\u591a\u5185\u5bb9\u3002\\n\\n[SixWeining] \u8ba9 LoongArch Clang [\u652f\u6301\u4e86](https://github.com/llvm/llvm-project/pull/72514)\\n`-mcmodel=`\uff08\u4ee3\u7801\u6a21\u578b\uff09\u53c2\u6570\uff0c\u7528\u6cd5\u4e0e GCC \u7684\u8be5\u53c2\u6570\u76f8\u540c\u3002\\n\\n[heiher] \u7684 LLVM IR `code_model` \u65b0\u589e\u5de5\u4f5c[\u63a5\u8fd1\u5c3e\u58f0](https://github.com/llvm/llvm-project/pull/72077#issuecomment-1837468951)\uff1a\\n\u76ee\u524d\u6240\u6709\u4ee3\u7801\u5ba1\u67e5\u610f\u89c1\u90fd\u5904\u7406\u5b8c\u4e86\u3002\\n\\n[wangleiat]: https://github.com/wangleiat\\n[SixWeining]: https://github.com/SixWeining\\n[heiher]: https://github.com/heiher\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\n### Firefox {#firefox}\\n\\n[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u6ce8\u91cd\u684c\u9762\u7528\u6237\u4f53\u9a8c\u4e0e\u751f\u4ea7\u529b\uff0c\u5df2\u7ecf\u5728\u5708\u5185\u5c0f\u6709\u540d\u6c14\u3002AOSC \u7684\u5f00\u53d1\u8005\u4eec\u672c\u6b21\u4e5f\u4e3a\u706b\u72d0\uff08Firefox\uff09\u6d4f\u89c8\u5668\u5728\\nLoongArch \u7684\u826f\u597d\u7528\u6237\u4f53\u9a8c\u5e2e\u4e86\u5927\u5fd9\u3002\\n\\n[\u5218\u5b50\u5174](https://github.com/liushuyu)\u6210\u529f\u9002\u914d\u4e86 WebRTC\uff0c\u5df2\u7ecf\u53ef\u4ee5\u7528 Discord \u8fde\u9ea6\u4e86\uff0c\u5176\u4ed6\u7c7b\u4f3c\u7f51\u7ad9\u8bf4\u4e0d\u5b9a\u4e5f\u80fd\u7528\uff1a\\n\\n![Firefox WebRTC on LoongArch](./firefox-webrtc.jpg)\\n\\n\u6b64\u5de5\u4f5c\u540e\u7eed\u4f1a\u63a8\u5165\u4e0a\u6e38\u3002\\n\\n[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)[\u53bb\u9664\u4e86](https://phabricator.services.mozilla.com/D194320)\u89c6\u9891\u786c\u89e3\u63a5\u53e3\\nVA-API \u7684\u67b6\u6784\u653e\u884c\u540d\u5355\uff0c\u4f7f\u6240\u6709\u7684 Linux \u5e73\u53f0\u4e0d\u8bba\u67b6\u6784\uff0c\u53ea\u8981\u80fd\u6210\u529f\u52a0\u8f7d `libva`\uff0c\u5373\u53ef\u786c\u89e3\u89c6\u9891\u3002Firefox 122 \u5c06\u5305\u542b\u6b64\u6539\u8fdb\u3002\\n\\n### \u56fa\u4ef6 {#firmware}\\n\\n\u9f99\u82af\u56fa\u4ef6\u56e2\u961f[\u653e\u51fa\u4e86](https://github.com/loongson/Firmware/pull/79)\\n3A6000 \u8bc4\u4f30\u677f `EVB_XA61200` \u7684\u56fa\u4ef6\u66f4\u65b0\u3002\\n\u76f8\u6bd4\u51fa\u5382\u7248\u672c\uff0c\u4fee\u590d\u4e86\u5982\u8f83\u65b0\u578b\u53f7\u7684 AMD \u663e\u5361\u63d2\u4e0a\u5219\u65e0\u6cd5\u4eae\u673a\u3001DMI \u4fe1\u606f\u4e0d\u542b\u5185\u5b58\u5b9e\u9645\u8fd0\u884c\u9891\u7387\u7b49\u5927\u91cf\u95ee\u9898\uff0c\\n\u5efa\u8bae\u6709\u52a8\u624b\u80fd\u529b\u7684\u540c\u5b66\u8ddf\u8fdb\u66f4\u65b0\u3002\\n\u8bf7\u53bb[\u5b98\u65b9\u4ed3\u5e93\u9875\u9762](https://github.com/loongson/Firmware/tree/main/6000Series/PC/XA61200)\u67e5\u770b\u81ea\u5df1\u7684\u786c\u4ef6\u662f\u5426\u5339\u914d\uff0c\\n\u53ca\u4e0b\u8f7d\u66f4\u65b0\u6587\u4ef6\u3002\\n\u611f\u8c22 [Xi Ruoyao][xry111] \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[yetist](https://github.com/yetist) \u4e3a\u8457\u540d\u7684\u81ea\u52a8\u56fa\u4ef6\u5347\u7ea7\u5de5\u5177 fwupd \u7684 UEFI \u6a21\u5757 fwupd-efi\\n[\u589e\u52a0\u4e86](https://github.com/fwupd/fwupd-efi/pull/48) LoongArch \u652f\u6301\u3002\\n\u611f\u8c22 [Revy](https://github.com/RevySR) \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n### OpenSSL {#openssl}\\n\\n\u4e0a\u671f[\u63d0\u5230\u7684](../2023-11-27-this-week-in-loongarch-26.md#assorted-news)\u522b\u540d\u5206\u6790\uff08aliasing analysis\uff09\\n\u95ee\u9898\u5df2\u88ab\u4fee\u590d\uff0c\u5e76\u5f80\u56de\u79fb\u690d\u5230 3.2.x \u5206\u652f\u4e86\uff1a\\n\u4ece OpenSSL 3.2.1 \u5f00\u59cb\uff0c\u5373\u4fbf\u542f\u7528 LTO\uff0c\u4e5f\u4e0d\u7528\u975e\u5f97\u624b\u5de5\u6307\u5b9a\u5e73\u53f0\u4e3a `linux64-loongarch64` \u4e86\u3002\\n\u611f\u8c22 [Xi Ruoyao][xry111] \u5b8c\u6210\u6b64\u5de5\u4f5c\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n[xry111]: https://github.com/xry111\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-26","metadata":{"permalink":"/newsletter/this-week-in-loongarch-26","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-27-this-week-in-loongarch-26.md","source":"@site/newsletter/2023-11-27-this-week-in-loongarch-26.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-27T15:20:00.000Z","formattedDate":"2023\u5e7411\u670827\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":8.67,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-26","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","authors":["xen0n"],"date":"2023-11-27T15:20:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 27 \u671f","permalink":"/newsletter/this-week-in-loongarch-27"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","permalink":"/newsletter/this-week-in-loongarch-25"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 ELF psABI \u95ee\u9898\u7684\u6df1\u5165\u63a2\u8ba8\u3001Linux\uff0c\u4ee5\u53ca\u5de5\u5177\u94fe\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b {#marked-projects}\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux}\\n\\nWANG Rui \u672c\u5468\u72b6\u6001\u795e\u52c7\uff0c\u4e0d\u4ec5\u6253\u78e8\u4e86 `kexec` \u529f\u80fd\uff1a\\n\\n* [\u8df3\u8fc7\u4e86](https://lore.kernel.org/kexec/20231124085410.107080-1-wangrui@loongson.cn)\u4e00\u5904\u5e94\u8be5\u88ab\u8df3\u8fc7\u7684\u68c0\u67e5\uff1b\\n* [\u4fee\u590d\u4e86](https://lore.kernel.org/kexec/20231125065232.116319-1-wangrui@loongson.cn)\u65b0\u5185\u6838\u7684\u52a0\u8f7d\u5730\u5740\uff1b\\n* [\u62ac\u9ad8\u4e86](https://lore.kernel.org/kexec/20231125072643.116681-1-wangrui@loongson.cn) LZMA \u89e3\u538b\u7f29\u5668\u7684\u5185\u5b58\u9650\u5236\u3002\\n\\n`kexec` \u662f\u4e00\u79cd\u5185\u6838\u529f\u80fd\uff1a\u52a0\u8f7d\u4e00\u4e2a\u65b0\u5185\u6838\u4ee5\u66ff\u6362\u5f53\u524d\u8fd0\u884c\u7684\u5185\u6838\uff0c\u76f8\u5f53\u4e8e\u8df3\u8fc7\u786c\u4ef6\u3001\u56fa\u4ef6\u521d\u59cb\u5316\u8fc7\u7a0b\u7684\u91cd\u542f\u64cd\u4f5c\u3002\\n\u7531\u4e8e\u8fd9\u6837\u64cd\u4f5c\u4e0b\u6765\u7684\u786c\u4ef6\u72b6\u6001\u4e0e\u6b63\u5e38\u91cd\u542f\u7684\u590d\u4f4d\u72b6\u6001\u4e0d\u4e00\u5b9a\u76f8\u540c\uff0c\u56e0\u800c\u4e0d\u662f\u6240\u6709\u786c\u4ef6\u914d\u7f6e\u90fd\u80fd\u5728 `kexec` \u4e4b\u540e\u4ecd\u7136\u6b63\u5e38\u5de5\u4f5c\uff1b\\n\u4f46\u5bf9\u90a3\u4e9b\u80fd\u591f\u901a\u8fc7\u8003\u9a8c\u7684\u786c\u4ef6\uff0c`kexec` \u4fbf\u80fd\u6781\u5927\u7f29\u77ed\u7cfb\u7edf\u91cd\u542f\u6240\u5bfc\u81f4\u7684\u4e0b\u7ebf\u65f6\u95f4\u4e86\u3002\\n\\n\u800c\u4e14\u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231124035534.70432-1-wangrui@loongson.cn/)\\nLLD \u94fe\u63a5\u7684 PIE \u538b\u7f29\u5185\u6838\u4e0d\u80fd\u5f15\u5bfc\u7684\u95ee\u9898\uff0c[\u66f4\u65b0\u4e86](https://github.com/ClangBuiltLinux/linux/issues/1884)\\nClangBuiltLinux \u7684\u6a21\u5757\u652f\u6301\u5de5\u4f5c\u8fdb\u5ea6\uff0c\\n\u5e76\u4e3a LoongArch Linux \u7684 Rust \u652f\u6301[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/15)\u8ddf\u8e2a\u5de5\u5355\u3002\\n\\n\u611f\u8c22 :ta: \u81ea\u5df1\u521b\u9020\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\nXi Ruoyao [\u6e05\u7406\u4e86](https://lore.kernel.org/loongarch/20231126121727.47303-2-xry111@xry111.site/)\\n`rdtime.d` \u5305\u88c5\u51fd\u6570\u7684\u4e00\u5904\u591a\u4f59\u5bc4\u5b58\u5668\u4f7f\u7528\u3002\\n\\nHengqi Chen [\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231121070209.210934-1-hengqi.chen@gmail.com/)\u7cfb\u7edf\u8c03\u7528\u53f7\u7684\u5b58\u50a8\u65b9\u5f0f\uff0c\\n\u5c06\u5176\u585e\u5165 `struct thread_info`\uff0c\u636e\u8bf4\u53ef\u89e3\u51b3\u4e00\u4e9b\u8c03\u8bd5\u5de5\u5177\u6253\u4e86\u8ddf\u8e2a\u70b9\u5374\u4e0d\u89e6\u53d1\u7684\u95ee\u9898\u3002\\n\u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231124014822.7894-1-hengqi.chen@gmail.com/)\u6253\u5370\u6709\u4e9b\u6808\u4e0a\u8fc7\u7a0b\u8c03\u7528\u8bb0\u5f55\u4f1a\u6b7b\u5faa\u73af\u7684\u95ee\u9898\u3002\\n\\nBinbin Zhou [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/cover.1700817227.git.zhoubinbin@loongson.cn/)\u9f99\u82af 2 \u53f7\u6e29\u5ea6\u5b50\u7cfb\u7edf\u9a71\u52a8 `loongson2_thermal` \u7684\u4e24\u5904\u5c0f\u95ee\u9898\u3002\\n\\n### \u5de5\u5177\u94fe {#toolchain}\\n\\n#### ABI {#abi}\\n\\n\u8fd1\u65e5\u6765\uff0c\u793e\u533a\u540c\u5b66\u4eec\u88ab LoongArch ELF psABI v2.00 \u5f15\u5165\u7684 64 \u4f4d `PCALA` \u91cd\u5b9a\u4f4d\u8ba1\u7b97\u65b9\u5f0f[\u641e\u5f97\u7126\u5934\u70c2\u989d](https://github.com/loongson-community/discussions/issues/17)\u3002\\n\\n\u8fd9\u8981\u4ece[\u4e00\u4e2a\u770b\u4f3c\u5e73\u5e38\u7684\u5ba2\u6237\u53cd\u9988\u95ee\u9898\u4fee\u590d](https://github.com/llvm/llvm-project/pull/71907)\u8bf4\u8d77\u3002\\n\u5f00\u59cb\u90fd\u4ee5\u4e3a\u53ea\u662f\u5e73\u5e38\u5bb9\u6613\u5ffd\u89c6\u7684\u6ea2\u51fa\u95ee\u9898\uff0c\u4fee\u6389\u5c31\u597d\u4e86\uff0c\u6b8a\u4e0d\u77e5\u80cc\u540e\u9690\u85cf\u7684\u662f\u5f53\u524d\u5904\u7406\u65b9\u5f0f\u7684\u6839\u672c\u7f3a\u9677\uff1a\\n\u7531\u4e8e\u9f99\u67b6\u6784\u4e0a\u62fc\u63a5\u4e00\u4e2a 64 \u4f4d PC-\u76f8\u5bf9\u5730\u5740\u7684\u56db\u6761\u6307\u4ee4\u4e0d\u9700\u8981\u8fde\u7eed\uff0c\u5bf9\u5e94\u7684\u56db\u6761\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u4e4b\u95f4\u4e5f\u6ca1\u6709\u4efb\u4f55\u5173\u8054\uff0c\\n\u56e0\u6b64\u5f53\u5b83\u4eec\u8de8\u4e86 4KiB\uff08\u5bf9\u5e94 12 \u4f4d\u7acb\u5373\u6570\uff09\u8fb9\u754c\u65f6\uff0c\u5c06\u5bfc\u81f4\u9519\u8bef\u7684\u91cd\u5b9a\u4f4d\u6548\u679c\u3002\\n\\n\u8fd9\u662f\u7531\u4e8e\uff0c\u53ea\u6709\u4e00\u6761\u6307\u4ee4\u8d1f\u8d23\u8d21\u732e\u300cPC-\u76f8\u5bf9\u300d\u4e2d\u7684\u300cPC\u300d\u90e8\u5206\uff0c\u90a3\u4e48\u8d1f\u8d23\u8d21\u732e\u300c\u76f8\u5bf9\u300d\u90e8\u5206\u7684\u53e6\u5916\u4e09\u6761\u6307\u4ee4\uff0c\\n\u90fd\u5e94\u8be5\u300c\u76f8\u5bf9\u300d\u4e8e**\u90a3\u6761\u8d21\u732e\u4e86 PC \u7684\u6307\u4ee4**\u2014\u2014\u8fd9\u5728\u5f53\u524d\u7248\u672c\u7684 LoongArch ELF psABI \u4e2d\uff0c\u65e0\u6cd5\u505a\u5230\uff01\\n\u6bcf\u6761\u6307\u4ee4\u9644\u5c5e\u7684\u91cd\u5b9a\u4f4d\u8bb0\u5f55\uff0c\u90fd\u6307\u5411\u90a3\u4e2a\u76ee\u6807\u7b26\u53f7\uff0c\u800c\u76f8\u4e92\u4e4b\u95f4\u4e0d\u5b58\u5728\u5173\u8054\u3002\\n\u56e0\u6b64\u53ea\u8981\u56db\u6761\u6307\u4ee4\u4e0d\u5c5e\u4e8e\u540c\u4e00\u6bb5 4KiB \u7a7a\u95f4\uff0c\u5b9e\u9645\u4f1a\u88ab\u6267\u884c\u7684\u300c\u76f8\u5bf9\u300d\u90e8\u5206\u5c31\u4f1a\u504f\u5dee\uff1a\\n\u76ee\u524d\u53ea\u80fd\u4f7f\u7528\u6bcf\u6761\u6307\u4ee4\u81ea\u5df1\u7684 PC \u6765\u8ba1\u7b97\u91cd\u5b9a\u4f4d\u3002\\n\\n\u76ee\u524d\u8ba8\u8bba\u4f3c\u4e4e\u5b89\u9759\u4e86\u4e0b\u6765\uff1a\u5927\u6982\u7387\u8981\u7ed9 LoongArch ELF psABI \u518d\u6253\u4e00\u6b21\u8865\u4e01\uff0c\\n\u4ee5\u7c7b\u4f3c RISC-V \u7684\u505a\u6cd5\u4e3a\u95ee\u9898\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u8865\u5145\u5173\u952e\u4fe1\u606f\u3002\\n\u5f53\u7136\uff0c\u8fd9\u6709\u5f88\u591a\u5177\u4f53\u5b9e\u73b0\u65b9\u5f0f\uff0c\u5404\u6709\u5229\u5f0a\uff1b\u7814\u7a76\u4e5f\u5c06\u7ee7\u7eed\uff0c\u6709\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u53bb\u4e0a\u6e38\u56f4\u89c2\u3001\u53c2\u4e0e\u3002\\n\\n\u611f\u8c22 Xi Ruoyao \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n#### GCC {#gcc}\\n\\n\u7531\u4e8e GCC 14 \u7684\u65b0\u529f\u80fd\u7279\u6027\u5f00\u53d1\u9636\u6bb5\u5df2\u7ecf\u7ed3\u675f\uff0cXi Ruoyao [\u53d1\u8d77\u4e86](https://github.com/loongson-community/discussions/issues/16)\u5728 GCC 15 \u5b9e\u73b0 LoongArch 16 \u5b57\u8282\u5bbd\u5ea6\u539f\u5b50\u64cd\u4f5c\u7684\u8ba8\u8bba\u3002\\n\\nXi Ruoyao [\u4fee\u590d\u4e86](https://gcc.gnu.org/r14-5634)\u9f99\u67b6\u6784 stage1 \u4ea4\u53c9\u7f16\u8bd1\u5668\u7684\u6784\u5efa\u5931\u8d25\u95ee\u9898\uff1a\\n\u5728\u76ee\u6807 libc \u53ef\u7528\u4e4b\u524d\uff0c\u6ca1\u6709\u529e\u6cd5\u4f7f\u7528 ``\uff0c\u56e0\u6b64\u5728\u975e\u76ee\u6807\u67b6\u6784\u7684\u5e93\u4ee3\u7801\u91cc\u4e5f\u5e94\u8be5\u907f\u514d\u4f7f\u7528\u3002\\n\\nXi Ruoyao \u8fd8[\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/638067.html)\u4e0e\\nLoongArch \u4e0d\u592a\u76f4\u63a5\u76f8\u5173\u7684\u4e00\u5904\u6d6e\u70b9\u4f18\u5316\u9519\u8bef\u3002\\n\\n\u7b14\u8005\u4e0a\u5468[\u6392\u67e5\u51fa\u4e86](https://github.com/loongson-community/discussions/issues/19)\\nGCC 14 \u6784\u5efa `systemd-boot` UKI stub \u4e0d\u80fd\u6b63\u5e38\u5f15\u5bfc\u5185\u6838\u7684\u95ee\u9898\u539f\u56e0\uff1a\\n\u662f\u5728\u7f16\u8bd1\u65f6\u5e26\u4e86 `-march=la464` \u6216\u5176\u4ed6\u8868\u793a\u6709 SIMD \u6269\u5c55\u7528\u7684\u7f16\u8bd1\u53c2\u6570\u65f6\uff0cGCC \u4fbf\u5728 UEFI \u4ee3\u7801\u91cc\u4f7f\u7528\u4e86 SIMD \u6307\u4ee4\uff0c\\n\u800c\u8fd9\u65f6 SIMD \u5355\u5143\u672a\u4e3a\u66f4\u65e9\u9636\u6bb5\u8fd0\u884c\u7684\u56fa\u4ef6\u4ee3\u7801\u6240\u542f\u7528\uff0c\u5bfc\u81f4\u6b7b\u6389\u3002\\n\u5728\u5c1d\u8bd5\u89e3\u51b3\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\u52a0\u4e86 `-mabi=lp64s` \u4f1a\u5bfc\u81f4\u6784\u5efa\u5931\u8d25\uff0c\u56e0\u4e3a\u60f3\u5f15\u7528\u8f6f\u6d6e\u70b9\u914d\u7f6e\u7684 glibc \u5934\u800c\u4e0d\u80fd\uff1b\\n\u6b64\u65f6 Xi Ruoyao \u53d1\u73b0 GCC \u7684 `` \u603b\u662f\u4f1a\u5f15\u7528 libc \u7684\u540c\u540d\u5934\uff0c\u800c\u5728 `-ffreestanding`\\n\u60c5\u5f62\u4e0b\u8fd9\u662f\u53ef\u4ee5\u907f\u514d\u7684\uff0c\u56e0\u800c[\u53d1\u8d77\u4e86](https://gcc.gnu.org/PR112699)\u8be5\u63d0\u8bae\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### Go {#golang}\\n\\n\u622a\u81f3 11 \u6708 22 \u65e5\uff0cGo 1.22 \u5f00\u53d1\u5468\u671f\u5df2\u8fdb\u5165\u529f\u80fd\u51bb\u7ed3\u9636\u6bb5\u3002Go 1.22 \u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\u6709\uff1a\\n\\n* \u5bc4\u5b58\u5668\u4f20\u53c2 ABI\uff08regabi\uff09\u652f\u6301\uff1b\\n* \u63d2\u4ef6\u6784\u5efa\u6a21\u5f0f\uff08`buildmode=plugin`\uff09\u652f\u6301\u3002\\n\\n\u8fd9\u4e2a\u7248\u672c\u7684 LoongArch regabi \u652f\u6301\u5904\u4e8e\u5b9e\u9a8c\u6027\u72b6\u6001\uff0c\u4e0d\u4f1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u4f46\u5b9e\u9645\u4e0a\u8be5\u529f\u80fd\u5df2\u7a33\u5b9a\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u4e86\u3002\\n\u5f85 Go 1.22 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u8bfb\u8005\u53ef\u53c2\u8003\u5b98\u65b9\u7684\u53d1\u5e03\u8bf4\u660e\u6587\u6863\u4ee5\u4e86\u89e3\u5177\u4f53\u8be5\u600e\u4e48\u7528\uff0c\u5e2e\u5fd9\u6d4b\u8bd5\u3002\\n\\nMeidan Li \u7b49\u4eba\u8fd1\u65e5\u4e5f[\u63d0\u4ea4\u4e86](https://go.dev/cl/535616) cgo \u7684\u5185\u90e8\u94fe\u63a5\u652f\u6301\uff0c\\n\u94fe\u63a5\u542b\u6709 cgo \u7684 Go \u7a0b\u5e8f\u65f6\u5c31\u4e0d\u518d\u9700\u8981\u672c\u5730\u5b58\u5728\u4e00\u5957 C \u4ea4\u53c9\u5de5\u5177\u94fe\u4e86\u3002\\n\u8fd9\u5bf9\u4e0d\u5199 C/C++ \u4f46\u4f1a\u5411 LoongArch \u4ea4\u53c9\u7f16\u8bd1\u7684\u4eba\u58eb\u4f1a\u66f4\u53cb\u597d\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5 {#assorted-news}\\n\\nXi Ruoyao \u4fee\u4e86\u4e00\u5806 OpenSSL bugs\uff1a\\n\\n* [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/22812) `linux64-loongarch64` \u5e73\u53f0\u88ab\u81ea\u52a8\u63a2\u6d4b\u65f6\uff0c\u5f00\u542f LTO \u6784\u5efa\u4f1a\u5931\u8d25\u7684\u95ee\u9898\u3002\\n\\n \u6b64\u4fee\u590d\u4e0d\u4f1a\u88ab\u79fb\u690d\u56de OpenSSL 3.2.x \u7248\u672c\uff0c\u56e0\u6b64\u5982\u679c\u60a8\u8981\u5f00\u7740 LTO \u6784\u5efa\u8fd9\u4e9b\u7248\u672c\u7684 OpenSSL\uff0c\u8bf7\u624b\u5de5\u6307\u5b9a\u5e73\u53f0\u4e3a `linux64-loongarch64`\u3002\\n\\n* [\u5c1d\u8bd5\u89e3\u51b3\u4e86](https://github.com/openssl/openssl/pull/22816)\u4e0a\u4e2a\u95ee\u9898\u7684\u6839\u56e0\uff1a\u522b\u540d\u5206\u6790\uff08aliasing analysis\uff09\u4e0d\u5f00\u5fc3\u4e86\u3002\\n* [\u4fee\u590d\u4e86](https://github.com/openssl/openssl/pull/22817) LoongArch64 \u6c47\u7f16\u4f18\u5316\u5305\u4e2d\u7684 ChaCha20 \u7b97\u6cd5\u672a\u9075\u5b88 ABI\uff08\u8be5\u4fdd\u5b58\u7684\u6d6e\u70b9\u5bc4\u5b58\u5668\u6ca1\u4fdd\u5b58\uff09\u7684\u95ee\u9898\u3002\\n* \u7528 `rdtimel.w` \u6307\u4ee4[\u771f\u6b63\u5b9e\u73b0\u4e86](https://github.com/openssl/openssl/pull/22823) `rdtsc` \u6307\u4ee4\u7684\u6a21\u62df\uff08\u5148\u524d\u76f4\u63a5\u8fd4\u56de 0 \u4e86\uff09\u3002\\n\\n\u611f\u8c22 :ta: \u81ea\u5df1\u521b\u9020\u5e76\u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n## \u5f20\u8d34\u680f {#bulletin}\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-25","metadata":{"permalink":"/newsletter/this-week-in-loongarch-25","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-20-this-week-in-loongarch-25.md","source":"@site/newsletter/2023-11-20-this-week-in-loongarch-25.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-20T10:50:00.000Z","formattedDate":"2023\u5e7411\u670820\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":11.515,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-25","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","authors":["xen0n"],"date":"2023-11-20T10:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 26 \u671f","permalink":"/newsletter/this-week-in-loongarch-26"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","permalink":"/newsletter/this-week-in-loongarch-24"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux \u548c\u5de5\u5177\u94fe\uff08\u6709\u5f88\u591a\u6210\u679c\uff09\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n11 \u6708 19 \u65e5\uff0c\u5185\u6838\u6784\u5efa\u7cfb\u7edf\u7ef4\u62a4\u8005 Masahiro Yamada [\u5e2e\u5fd9\u6dfb\u52a0\u4e86](https://lore.kernel.org/loongarch/20231119053448.2367725-1-masahiroy@kernel.org/)\u9f99\u67b6\u6784\\n`vmlinuz.efi` \u4e0e `vmlinux.efi` \u4e4b\u95f4\u9057\u6f0f\u7684\u4f9d\u8d56\u5173\u7cfb\u3002\\n\u8fd9\u4f7f\u5f97\u5e76\u884c\u6784\u5efa\u66f4\u53ef\u9760\uff1a\u4e4b\u524d\u6709\u4f4e\u6982\u7387\u4f1a\u5728\u8fd9\u4e2a\u9636\u6bb5\u5931\u8d25\u3002\\n\\n11 \u6708 18 \u65e5\uff0c\u793e\u533a\u7528\u6237 Haowu Ge \u5728\u7f16\u8bd1 OpenZFS \u65f6\uff0c[\u53d1\u73b0](https://github.com/chenhuacai/linux/issues/3)\u591a\u51fa\u4e86\u5bf9\u4fe9 GPL-only \u7b26\u53f7\u7684\u4f9d\u8d56\u3002\\n\u56e0\u4e3a\u8fd9\u4fe9\u7b26\u53f7\u662f\u7528\u6765\u5b9e\u73b0 `virt_to_page` \u8fd9\u4e00\u9884\u5904\u7406\u5668\u5b8f\u7684\uff0c\u800c\u539f\u5148\u5bf9\u6b64\u5b8f\u7684\u4f7f\u7528\u5e76\u4e0d\u6d89\u53ca GPL\uff0c\\n\u6240\u4ee5\u5c06 GPL \u9700\u6c42\u53bb\u9664\u5927\u6982\u4e5f\u5408\u60c5\u5408\u7406\uff1bHuacai Chen \u7b2c\u4e8c\u5929\u4fbf[\u8fd9\u4e48\u505a\u4e86](https://lore.kernel.org/loongarch/20231119023317.3359647-1-chenhuacai@loongson.cn/)\u3002\\n\\nWANG Rui \u5728\u6301\u7eed\u63a8\u8fdb ClangBuiltLinux \u5de5\u4f5c\uff1a11 \u6708 15 \u65e5\u9884\u9632\u6027\u5730[\u589e\u52a0\u4e86](https://lore.kernel.org/loongarch/20231115132137.178523-1-wangrui@loongson.cn/)\u7f16\u8bd1\u9009\u9879\uff0c16\\n\u65e5\u53c8[\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231116130331.241395-1-wangrui@loongson.cn/)\u7edd\u5bf9\u91cd\u5b9a\u4f4d\u7684\u8bb0\u5f55\u65b9\u5f0f\u4ee5\u5141\u8bb8\u7528\\nLLVM/Clang \u7f16\u8bd1\u53ef\u91cd\u5b9a\u4f4d\u5185\u6838\u3002\\n\\n11 \u6708 15 \u65e5\uff0cHuacai Chen \u53c2\u7167 RISC-V \u505a\u6cd5[\u6539\u53d8\u4e86](https://lore.kernel.org/loongarch/20231115141530.2534778-1-chenhuacai@loongson.cn/)\u5185\u6838\u53c2\u6570\\n`nokaslr` \u7684\u5904\u7406\u65b9\u5f0f\uff0c\u4f7f\u5176\u4e0d\u4f1a\u88ab\u900f\u4f20\u81f3 init \u8fdb\u7a0b\u7684\u547d\u4ee4\u884c\u53c2\u6570\u3002\\n\\n\u540c\u4e00\u5929\uff0cHuacai Chen \u8fd8[\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20231115090735.2404866-1-chenhuacai@loongson.cn/)\\nRandy Dunlap \u524d\u4e00\u5929[\u81ea\u52a8\u5316\u53d1\u73b0\u7684](https://lore.kernel.org/loongarch/960bef74-ed09-4b6f-8ae8-b3effef6914f@infradead.org/)\\nLoongArch KVM \u6784\u5efa\u5931\u8d25\u3002\\n\u8fd9\u662f\u4e00\u5904\u672a\u8ddf\u8fdb\u7684 API \u53d8\u66f4\uff1b\u4f30\u8ba1\u662f\u539f\u4f5c\u8005[\u91cd\u6784](https://lore.kernel.org/all/20231105163040.14904-4-pbonzini@redhat.com/)\u65f6\uff0c\\n\u7531\u4e8e LoongArch KVM \u4ee3\u7801\u5f53\u65f6\u5c1a\u672a\u4e3b\u7ebf\u5316\uff0c\u56e0\u800c\u6ca1\u770b\u5230\u3001\u6539\u5230\u3002\\n\\n11 \u6708 14 \u65e5\uff0cXi Ruoyao \u5728\u65e5\u5e38\u7684\u5de5\u5177\u94fe\u7ef4\u62a4\u4e2d\uff0c\u53d1\u73b0\u5347\u7ea7\u5230 Linux v6.7-rc1 \u4e4b\u540e\uff0c\u51e0\u6761 glibc\\n\u591a\u7ebf\u7a0b\u540c\u6b65\u7684\u6d4b\u8bd5\u7528\u4f8b\u5f00\u59cb\u8d85\u65f6\u4e86\uff0c\u800c x86 \u5c45\u7136\u4e5f\u5b58\u5728\u8be5\u95ee\u9898\uff01\\n\u9042\u679c\u65ad[\u62a5\u544a\u4e86](https://lore.kernel.org/all/d69d50445284a5e0d98a64862877c1e6ec22a9a8.camel@xry111.site/T/#u)\u3002\\n\u56e0\u4e3a\u5f15\u8d77\u95ee\u9898\u7684\u63d0\u4ea4\u662f\u4e2a\u5e38\u89c4\u91cd\u6784\uff0c\u53ea\u662f\u6539\u53d8\u4e86\u51e0\u4e2a\u6807\u5fd7\u4f4d\u7684\u5177\u4f53\u53d6\u503c\uff0c\u6240\u4ee5\u4f5c\u8005 Peter Zijlstra \u4e5f\u767e\u601d\u4e0d\u5f97\u5176\u89e3\u3002\\n\u76f4\u5230 Florian Weimer \u6307\u51fa `kernel/futex/core.c` \u6709\u51e0\u5904\u4f20\u53c2\u76f4\u63a5\u5199\u4e86 `1` \u800c\u975e `FLAGS_SHARED`\uff0c\\n\u624d\u604d\u7136\u5927\u609f\uff1b\\n\u4e8e\u662f\u6b64\u95ee\u9898\u5728 v6.7-rc2 \u5df2[\u5f97\u5230\u4fee\u590d](https://github.com/torvalds/linux/commit/c9bd1568d5462f4108417518ce1af7b924acfb6f)\u3002\\n\u611f\u8c22 Xi Ruoyao \u7684\u65b0\u95fb\u7ebf\u7d22\u4ee5\u53ca :ta: \u672c\u6b21\u4e3a Linux \u7a33\u5b9a\u6027\u4f5c\u51fa\u7684\u8d21\u732e\uff01\\n\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n11 \u6708 14 \u65e5\uff0cXi Ruoyao \u60f3\u7ed9 binutils \u5728\u9f99\u67b6\u6784\u4e0a\u589e\u52a0 `DT_RELR` \u652f\u6301\uff0c\u8fd9\u6837\u53ef\u4ee5\u6709\u6548\u7f29\u5c0f\u4e00\u4e9b\u5927\u8f6f\u4ef6\u7684\u4f53\u79ef\uff1b\\n\u4f46 binutils \u7684\u6e90\u7801\u5f88\u4e0d\u76f4\u89c2\uff0c\u4e0d\u597d\u6539\uff0c\u4e8e\u662f\\n:ta: [\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/12)\u534f\u8c03\u5de5\u5355\u3002\\n\u968f\u540e MaskRay \u770b\u5230\u4e86\uff0c\u53cb\u60c5\u6307\u4e86\u6761\u8def\u3002\\n\\n#### GCC\\n\\n11 \u6708 19 \u65e5\uff0cXi Ruoyao [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637239.html)\\nLSX \u6d6e\u70b9\u5411\u91cf shuffle \u6700\u7ec8\u751f\u6210\u4ee3\u7801\u5176\u5dee\u65e0\u6bd4\u7684\u95ee\u9898\u3002\\n\\n11 \u6708 17 \u65e5\uff0c\u5728\u6392\u67e5\u4e00\u4e2a[\u6709\u6982\u7387\u53d1\u751f\u7684\u95ee\u9898](https://github.com/loongson-community/discussions/issues/7)\u65f6\uff0cXi Ruoyao\\n[\u53d1\u73b0](https://gcc.gnu.org/PR112578) GCC \u5728\u5411\u91cf\u5316 LoongArch \u6d6e\u70b9\u820d\u5165\u64cd\u4f5c\u65f6\uff0c\u5bf9\u6d6e\u70b9\u5f02\u5e38\u7684\u5904\u7406\u6709\u8bef\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c[\u8fed\u4ee3\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637316.html)\u7b2c\u4e09\u7248\u4fee\u590d\u3002\\n\u8fd9\u4e2a\u4ee3\u7801\u751f\u6210\u95ee\u9898\u8ddf\u539f\u5148\u8981\u6392\u67e5\u7684\u95ee\u9898\u65e0\u5173\uff1b\u8fd8\u5f97\u63a5\u7740\u67e5\uff01\\n\\n\u540c\u4e00\u5929\u51cc\u6668\uff0cKevin Lee \u5728 RISC-V \u4e0a[\u53d1\u73b0\u4e86](https://gcc.gnu.org/PR107723)\u7c7b\u4f3c\u7684\u6d6e\u70b9\u5f02\u5e38\u5904\u7406\u95ee\u9898\uff1a\\n\u5373\u4fbf\u52a0\u4e86 `-fno-fp-int-builtin-inexact` \u9009\u9879\uff0c`lround`\u3001`ceil` \u4e0e `floor` \u7b49\u64cd\u4f5c\u8fd8\u662f\u4f1a\u4ea7\u751f\u53ef\u80fd\u629b\u5f02\u5e38\u7684\u6307\u4ee4\u3002\\n\u968f\u540e\u4eba\u4eec\u53d1\u73b0 x86_64\u3001AArch64 \u548c LoongArch \u4e0a\u90fd\u5b58\u5728\u8be5\u95ee\u9898\uff0c\u56e0\u4e3a\u67b6\u6784\u65e0\u5173\u90e8\u5206\u5df2\u7ecf\u628a\u4ee3\u7801\u300c\u4f18\u5316\u300d\u6210\u4e86\u9519\u8bef\u5f62\u72b6\u3002\\n\u8fd9[\u63d0\u9192\u4e86](https://gcc.gnu.org/PR107723) Andrew Pinski \u8981\u5b8c\u5584\u4e0b\u8fd9\u90e8\u5206\u6587\u6863\u3002\\n\\n11 \u6708 16 \u65e5\uff0cXi Ruoyao [\u5b8c\u6210\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636795.html)\u4e00\u7248\\nLA664 \u65b0\u589e\u7279\u6027\u7684 GCC \u9002\u914d\uff0c\u53ef\u4ee5\u7528 `-march=la664` \u4e86\uff0c\\n\u4e5f\u7ed9 `-march=native` \u52a0\u4e86\u76f8\u5e94\u5904\u7406\u3002\\n\u4e0d\u5de7\u9f99\u82af\u4e5f\u505a\u4e86\u540c\u6837\u7684\u4e8b\uff0c\u649e\u8f66\u4e86\uff1bLulu Cheng\\n\u7b2c\u4e8c\u5929[\u53d1\u4e86\u51fa\u6765](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636946.html)\u3002\\n\u9f99\u82af\u7684\u8fd9\u7248\u4ee3\u7801\u53ea\u505a\u4e86\u539f\u5b50\u64cd\u4f5c\u7684\u4e00\u90e8\u5206\u4f18\u5316\uff0c\u800c\u672a\u653e\u5bbd 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u4f59\u64cd\u4f5c\u7684\u5165\u53c2\u8981\u6c42\uff0c\\n\u4e5f\u672a\u53bb\u9664\u90a3\u4e9b\u5728 LA664 \u4e0a\u4e0d\u518d\u5fc5\u8981\u7684 `DBAR 0x700` \u6307\u4ee4\uff1b\\n\u56e0\u6b64 Xi Ruoyao \u4ee5\u8fd9\u4e00\u7248\u9f99\u82af\u4ee3\u7801\u4e3a\u57fa\u7840\uff0c\u53c8[\u6539\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637090.html)\u4e00\u7248\u3002\\n\\n\\n\\n\u540c\u4e00\u5929\uff0cJiahao Xu [\u4fee\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636792.html)\u4e00\u4e9b\\nLSX\u3001LASX \u6d4b\u8bd5\uff1bLi Wei\\n\u4e5f\u5411 GCC [\u660e\u786e\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636789.html)\\nLoongArch \u7684 `clz` `ctz` \u6307\u4ee4\u53ef\u4ee5\u6b63\u786e\u5904\u7406\u8f93\u5165\u4e3a\u96f6\u7684\u60c5\u51b5\u3002\\n\\n\u8fd9\u4e00\u5929 Jiahao Xu \u8fd8\u6839\u636e SPEC2017 \u8dd1\u5206\u7ed3\u679c\uff0c\u628a\u5411\u91cf\u8bbf\u5b58\u64cd\u4f5c\u7684\u6210\u672c\u4ece 1\\n[\u5fae\u8c03\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637316.html)\\n2\uff0c\u8ba9\u5b83\u4eec\u548c\u975e\u5bf9\u9f50\u8bbf\u5b58\u76f8\u540c\uff1b\\n\u7ed3\u679c[\u5f71\u54cd\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637155.html)\u6d4b\u8bd5\uff0c\\n\u5f85\u4fee\u590d\u3002\\n\\n11 \u6708 14 \u65e5\uff0cLulu Cheng \u8ba9 GCC \u5728\u4e2d\u7b49\u4ee3\u7801\u6a21\u578b\uff08`-mcmodel=medium`\uff09\u4e0b\uff0c[\u6362\u4f5c](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636443.html)\u4ee5\\n`%call36` \u5f62\u5f0f\u8fdb\u884c\u8fc7\u7a0b\u8c03\u7528\u3002`call36` \u662f\u7b2c 23 \u671f[\u62a5\u9053\u8fc7\u7684](./2023-11-06-this-week-in-loongarch-23.mdx#abi)\u65b0 ABI\u3002\\n\u8fd9\u4e2a\u53d8\u66f4\u6b20\u8003\u8651\u4e86\u642d\u914d\u65e7\u6c47\u7f16\u5668\u4f7f\u7528\u7684\u60c5\u51b5\uff1bXi Ruoyao 11 \u6708 18 \u65e5[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637153.html)\u3002\\n\\n\u540c\u4e00\u5929\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Andrew Pinski [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636445.html)[^author-info-for-the-uninitiated]\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](./2023-11-13-this-week-in-loongarch-24.md#gcc)\u4e00\u5904\u5b9e\u9645\u4e0a\u662f\u52a3\u5316\u7684\u300c\u4f18\u5316\u300d\u3002\\n\uff08\u8fd9\u4fee\u590d\u628a PowerPC \u7684\u6d4b\u8bd5\u70b8\u4e86\uff0c\u4f46\u4e0a\u6e38\u7684\u7ed3\u8bba\u662f\u5e94\u8be5\u6539 PowerPC \u76f8\u5173\u4ee3\u7801\u3002\uff09\\n\\n[^author-info-for-the-uninitiated]: \u8be5\u4fee\u590d\u65b9\u6848\u662f Andrew Pinski \u63d0\u51fa\u7684\uff0c\u53ea\u662f Xi Ruoyao \u5e2e :ta: \u628a\u90ae\u4ef6\u53d1\u4e86\u3002\u56e0\u4e3a\u90ae\u4ef6\u6b63\u6587\u5e26\u4e86 `From:` \u5b57\u6bb5\uff0c\u56e0\u6b64 Git \u63d0\u4ea4\u4e2d\u7684\u4f5c\u8005\u4fe1\u606f\u4ecd\u7136\u662f\u6b63\u786e\u7684\u3002\\n\\n\u540c\u4e00\u5929\u51cc\u6668\uff0cXi Ruoyao \u8fd8[\u53d1\u73b0](https://gcc.gnu.org/PR112520)\u6709\u4e2a GCC \u63d2\u4ef6\u6d4b\u8bd5\u7528\u4f8b\u5728\u9f99\u67b6\u6784\u4e0a\u5e94\u8be5\u5c31\u6ca1\u8fd0\u884c\u6210\u529f\u8fc7\uff1b\u8be5\u95ee\u9898\u4ecd\u5f85\u6392\u67e5\u3002\\n\\n11 \u6708 13 \u65e5\uff0cXi Ruoyao [\u6284\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636379.html)\u4e2a\\nAArch64 \u7684\u4f18\u5316\uff0c\u80fd\u4e3a\u5f62\u5982 `copysign(x, -1)` \u7684\u64cd\u4f5c\u4ea7\u751f\u9ad8\u6548\u7684\u5411\u91cf\u5316\u4ee3\u7801\uff1b\\n\u53c8[\u79fb\u690d\u4e86](https://gcc.gnu.org/r14-5432) LLVM \u7684 `DBAR` \u4f18\u5316\\n\uff08\u5468\u62a5\u7b2c 20 \u671f[\u6709\u62a5\u9053](./2023-10-16-this-week-in-loongarch-20.md#LLVM)\uff09\u3002\\n\\n\u4ee5\u4e0a\u65b0\u589e\u7684\u5927\u5757\u5185\u5bb9\u90fd\u8d76\u4e0a\u4e86 GCC 14 stage 1\uff0c\u5728\u660e\u5e74\u7684 GCC 14.1 \u6b63\u5f0f\u7248\u5c31\u80fd\u7528\u4e0a\u4e86\u3002\\n\u7b49\u4e0d\u53ca\u7684\u540c\u5b66\u4e5f\u53ef\u4ee5\u4e0b\u8f7d GCC 14 \u5feb\u7167\u81ea\u884c\u7f16\u8bd1\uff0c\u6216\u4f7f\u7528 Gentoo\uff08\u76f4\u63a5 unmask \u76f8\u5e94\u7248\u672c\u5373\u53ef\uff09\u7b49\u6eda\u52a8\u53d1\u884c\u7248\uff0c\\n\u9a6c\u4e0a\u4f53\u9a8c\u3002\\n\\n\u672c\u671f\u7684\u5927\u591a\u6570 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u5e2e\u5fd9\u6574\u7406\uff08\u4ee5\u53ca\u81ea\u5df1\u5236\u9020\uff09\u7684\uff0c\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u7684\u5949\u732e\uff01\\n\\n#### LLVM\\n\\n\u4eba\u4eec\u5df2\u7ecf\u5728\u7d27\u9523\u5bc6\u9f13\u5b9e\u73b0 LoongArch ELF psABI v2.20 \u7684\u65b0\u5185\u5bb9\u4e86\u3002\\n\\n11 \u6708 14 \u65e5\uff0cMaskRay \u4eb2\u81ea[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/72221)\u4e0a\u671f\u5468\u62a5[\u63d0\u5230\u7684](./2023-11-13-this-week-in-loongarch-24.md#llvm)\\nLLVM [issue #71645](https://github.com/llvm/llvm-project/issues/71645)\u3002\\n\\n\u540c\u4e00\u5929\uff0cMQ-mengqing \u4e3a LLD [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72190)\\n`R_LARCH_{ADD,SUB}6` \u4e24\u79cd\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7684\u652f\u6301\uff0c\\n\u53c8\u4e3a LoongArch MC [\u589e\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/72191) relaxation \u652f\u6301\u3002\\n\\n11 \u6708 13 \u65e5\uff0cMQ-mengqing [\u8bd5\u56fe](https://github.com/llvm/llvm-project/pull/72095)\u4e3a\\nLoongArch MC \u589e\u52a0\u7c7b\u4f3c [GAS \u7684\u6761\u4ef6\u8df3\u8f6c\u8303\u56f4\u6269\u5c55](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c)\u7684\u4e00\u9053\u5de5\u5e8f\uff0c\\n\u4f46 MaskRay \u53ca\u65f6\u6307\u51fa\u5f53\u5e74 RISC-V \u505a\u76f8\u540c\u4e8b\u60c5[\u88ab\u53d1\u73b0\u7684](https://reviews.llvm.org/D108961)\u5751\uff1a\\n\u5982\u679c\u9f99\u67b6\u6784\u80fd\u907f\u514d\u8e29\u5230\u8fd9\u4e9b\u5751\uff0c\u90a3\u4e48\u4fbf\u80fd\u300c\u6bd4 RISC-V \u505a\u5f97\u66f4\u597d\u300d\u3002MQ-mengqing \u663e\u7136\u53d7\u76ca\u532a\u6d45\uff0c\u5e94\u8be5\u5728\u6539\u4ee3\u7801\u4e86\u3002\\n\\n#### Rust\\n\\n11 \u6708 17 \u65e5\uff0cheiher \u4e3a\u4e86\u8ba9 rustup 1.27.0 \u53d1\u5e03\u65f6\u80fd\u5305\u542b\u9f99\u67b6\u6784\u4e8c\u8fdb\u5236\uff0c\\n\u4e34\u65f6\u7ed9\u9f99\u67b6\u6784\u7684 rustup [\u5173\u6389\u4e86](https://github.com/rust-lang/rustup/pull/3536) OpenSSL\u3002\\n\u8fd9\u8fd8\u662f\u7b2c 10 \u671f[\u8bb2\u8fc7\u7684](./2023-07-24-this-week-in-loongarch-10.md#openssl-asm-breakage)\u9f99\u82af\u6316\u7684\u5751\u7684\u540e\u7eed\u2026\u2026\\n\\n11 \u6708 14 \u65e5\uff0cheiher \u4e3a Rust \u7684 LoongArch musl \u652f\u6301\uff08`loongarch64-unknown-linux-musl` \u6784\u5efa\u76ee\u6807\uff09\\n\u63d0\u524d[\u5efa\u7acb\u4e86](https://github.com/loongson-community/discussions/issues/13)\u534f\u8c03\u5de5\u5355\u3002\\n\\n
\\nmusl \u79fb\u690d\u7684\u4e0a\u6e38\u5316\u8fdb\u5ea6\\n\\n\u76ee\u524d\u9f99\u82af\u63a8\u8fdb\u7684 musl LoongArch \u652f\u6301\u8865\u4e01\u5df2\u7ecf[\u7ffb\u65b0\u5230\u4e86](https://www.openwall.com/lists/musl/2023/11/16/2)\u7b2c 9 \u7248\uff0c\\n\u4f46\u4f3c\u4e4e\u6bcf\u6b21\u66f4\u65b0\u90fd\u585e\u4e86\u4e00\u4e9b\u4ee3\u7801\u5ba1\u67e5\u8bc4\u8bba\u4e4b\u5916\u7684\u4fee\u6539\u3002\\n\u8fd9\u4f7f\u4e0a\u6e38\u7ef4\u62a4\u8005[\u56f0\u60d1](https://www.openwall.com/lists/musl/2023/11/17/3)\uff1a\\n\u672c\u6765\u4e0a\u4e00\u7248\u5df2\u7ecf\u6ca1\u95ee\u9898\u4e86\uff0c\u7ed3\u679c\u53c8\u585e\u4e86\u65b0\u4e1c\u897f\u3002\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u770b\u4e0a\u53bb\u9f99\u82af\u7ef4\u62a4\u8005[\u5df2\u7ecf\u6062\u590d\u4e86](https://www.openwall.com/lists/musl/2023/11/20/1)\u8865\u4e01\u7b2c 8 \u7248\u53d1\u51fa\u7684\u73b0\u72b6\u2014\u2014\u8fd9\u56de\u5e94\u8be5\u80fd\u5408\u5e76\u4e86\uff01\\n
\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n11 \u6708 18 \u65e5\uff0cshipujin [\u53d1\u5e03\u4e86](http://www.slackwarecn.cn/2023/11/18/Slackwareloong1.0live%E5%8F%91%E5%B8%83%EF%BC%81/)\\nSlackwareloong64 LTS 1.0 \u7684 Live \u955c\u50cf\u3002\u6b22\u8fce\u611f\u5174\u8da3\u7684 Slackware \u7528\u6237\u3001\u7231\u597d\u8005\u4eec\u4e0b\u8f7d\u4f53\u9a8c\u3002\\n\u611f\u8c22 :ta: \u7684\u65b0\u95fb\u7ebf\u7d22\u4ee5\u53ca\u7ef4\u62a4\u5de5\u4f5c\uff01\\n\\n11 \u6708 17 \u65e5\uff0c\u9f99\u82af\u5c06\u300a\u624b\u518c\u300b\u82f1\u6587\u7248\u7ffb\u8bd1\u7684\u4ed3\u5e93\u77ed\u6682\u89e3\u9664\u4e86\u53ea\u8bfb\u72b6\u6001\uff1b\\n\u6587\u6863\u7ef4\u62a4\u8005 Yanteng Si \u9042[\u63a8\u5165\u4e86](https://github.com/loongson/LoongArch-Documentation/commit/3f3989f658965404ee37633f1a430836124e9343)\u300a\u624b\u518c\u300bv1.10 \u7684\u90e8\u5206\u66f4\u65b0\uff0c\\n\u5e76\u76f8\u5e94\u5730[\u66f4\u65b0\u4e86](https://lore.kernel.org/loongarch/CAAhV-H7-9JL1hf8_Hs3dirJ8aqgK4BGU1PANsXDDVkSHP_fe9A@mail.gmail.com/T/#t)\\nLinux \u9f99\u67b6\u6784\u6587\u6863\u7684\u94fe\u63a5\u3002\\n\\n\u672c\u6b21\u7ffb\u8bd1\u66f4\u65b0\u662f\u4e0d\u5b8c\u6574\u7684\uff1a\u53ea\u5305\u542b\u4e86\u65b0\u589e\u6307\u4ee4\u7684\u63cf\u8ff0\uff0c\\n\u800c\u6ca1\u6709\u8986\u76d6\u7b2c 1.5 \u8282\u5173\u4e8e\u6307\u4ee4\u96c6\u6f14\u8fdb\u7684\u8bf4\u660e\u3001\\n\u7b2c 2.2.10.5 \u8282\u7684\u65b0 `CPUCFG` \u5b57\u6bb5\u63cf\u8ff0\uff0c\u6216\u8005\u7279\u6743\u67b6\u6784\u90e8\u5206\u7684\u66f4\u65b0\u3002\\n\u7ed3\u5408\u9f99\u82af\u7ef4\u62a4\u8005\u5728 binutils \u90ae\u4ef6\u5217\u8868\u4e0a\uff0c\u5bf9\u4e0a\u4e2a\u6708 LoongArch v1.10 \u6307\u4ee4\u652f\u6301\u5de5\u4f5c\\n\uff08[\u7b2c 22 \u671f](./2023-10-30-this-week-in-loongarch-22.md#binutils)\u6709\u62a5\u9053\uff09\\n\u7684[\u4e00\u5c01\u56de\u590d](https://sourceware.org/pipermail/binutils/2023-November/130594.html)\uff0c\\n\u672c\u6b21\u66f4\u65b0\u5e94\u8be5\u662f\u5b9e\u7528\u4e3b\u4e49\u7684\uff1a\u53ef\u80fd\u4ec5\u4ec5\u4e3a\u4e86\u80fd\u591f\u5feb\u901f\u63a8\u8fdb\u65b0\u6307\u4ee4\u7684\u4e0a\u6e38\u5316\uff0c\u4e34\u65f6\u53eb\u4eba\u66f4\u65b0\u4e00\u4e0b\uff0c\\n\u800c\u5e76\u975e\u4e13\u95e8\u6392\u671f\u6765\u505a\u8fd9\u4ef6\u4e8b\u2014\u2014\u5982\u679c\u662f\u540e\u4e00\u79cd\u60c5\u51b5\uff0c\u90a3\u4e48\u5e94\u8be5\u4e0d\u4f1a\u53ea\u505a\u5b8c\u4e00\u90e8\u5206\u5c31\u63d0\u4ea4\u4e86\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-24","metadata":{"permalink":"/newsletter/this-week-in-loongarch-24","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-13-this-week-in-loongarch-24.md","source":"@site/newsletter/2023-11-13-this-week-in-loongarch-24.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-13T15:50:00.000Z","formattedDate":"2023\u5e7411\u670813\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.565,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-24","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","authors":["xen0n"],"date":"2023-11-13T15:50:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 25 \u671f","permalink":"/newsletter/this-week-in-loongarch-25"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","permalink":"/newsletter/this-week-in-loongarch-23"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 Linux\u3001\u5de5\u5177\u94fe\uff0c\u4ee5\u53ca GSGPU \u9a71\u52a8\u5411\u4e3b\u7ebf\u5185\u6838\u7248\u672c\u7684\u79fb\u690d\u6210\u679c\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cLinux v6.7-rc1 [\u5df2\u7ecf\u53d1\u5e03](https://lore.kernel.org/lkml/CAHk-=whuO0zmuxp_yorYFWdcrALpqjRPhWkmEy+7wcCnnDcPNA@mail.gmail.com/)\u3002\\n\u9f99\u67b6\u6784\u7684 PR \u662f\u5728\u6700\u540e\u4e00\u5929[\u53d1\u51fa\u7684](https://lore.kernel.org/loongarch/20231112051248.272444-1-chenhuacai@loongson.cn/)\u3002\\n\\n:::info \u4e3a\u5565\u8fd9\u6b21 PR \u8fd9\u4e48\u665a\uff1f\\n\u539f\u56e0\u636e\u8bf4\u662f\u5148\u524d\u9f99\u82af\u559c\u6b22\u6700\u540e\u65f6\u523b\u66f4\u65b0\u5206\u652f\uff0c\u5bfc\u81f4\u65b0\u4ee3\u7801\u5728 linux-next \u8eba\u5f97\u4e0d\u591f\u4e45\uff1b\\n\u4e8e\u662f\u5728\u672c\u5468\u671f\u7684 PR \u53d1\u51fa\u4e4b\u524d\uff0c\u90a3\u4e9b\u4ee3\u7801\u5c31\u8001\u8001\u5b9e\u5b9e\u8eba\u4e86 4 \u5929\u3002\\n\\n\u5bf9\u90a3\u4e9b\u7784\u51c6\u4e3b\u7ebf\u7684\u4ee3\u7801\uff0c\u786e\u5b9e\u5e94\u8be5\u5728 linux-next \u591a\u5446\u51e0\u5929\uff1a\\n\u8fd9\u6837\u8fd9\u4e9b\u4ee3\u7801\u624d\u6709\u673a\u4f1a\u89e6\u53ca\u66f4\u591a\u7684\u6d4b\u8bd5\u4eba\u5458\u548c\u81ea\u52a8\u5316\u8bbe\u65bd\uff0c\\n\u6709\u52a9\u4e8e\u53d1\u73b0\u8de8\u5b50\u7cfb\u7edf\u6216\u67b6\u6784\u4ea7\u751f\u4e0d\u826f\u5f71\u54cd\u7684\u90a3\u4e9b\u5199\u6cd5\u3002\\n\\n\u4ece\u524d\uff0c\u5728\u4e3b\u7ebf\u4e4b\u5916\u7ef4\u62a4\u9f99\u82af\u5185\u6838\u7684\u5e74\u4ee3\uff0c\u7531\u4e8e\u5916\u754c\u4e0d\u611f\u77e5\u9f99\u82af\u53d8\u66f4\uff0c\u9f99\u82af\u516c\u53f8\u4e5f\u4e0d\u6d4b\u5176\u4ed6\u67b6\u6784\uff0c\\n\u56e0\u800c\u9f99\u82af\u516c\u53f8\u4e4b\u5916\u7684\u793e\u533a\u96c6\u6210\u8005\uff08\u4f8b\u5982\u7b14\u8005\uff09\u591a\u6b21\u906d\u9047\u4e86\u9f99\u82af\u76f8\u5173\u53d8\u66f4\u70b8\u6389\u5176\u4ed6\u67b6\u6784\u7684\u60c5\u51b5\u3002\\n\u8fd9\u79cd\u60c5\u51b5\u5728\u9f99\u82af\u4e5f\u6e10\u6e10\u8f6c\u5411\u793e\u533a\u534f\u4f5c\u6a21\u5f0f\u4e4b\u540e\uff0c\u4fbf\u6e10\u6e10\u6d88\u5931\u4e86\u2014\u2014\u9f99\u82af\u5f71\u54cd\u4e86\u522b\u4eba\u9f99\u82af\u4f1a\u4fee\uff1b\u76f8\u5e94\u5730\uff0c\u522b\u4eba\u5f71\u54cd\u4e86\u9f99\u82af\u522b\u4eba\u4e5f\u4f1a\u4fee\uff0c\\n\u800c\u6bcf\u4e00\u65b9\u90fd\u53ea\u9700\u8dd1\u81ea\u5df1\u73af\u5883\u7684\u6d4b\u8bd5\u5373\u53ef\u3002\\n:::\\n\\n\u672c\u5f00\u53d1\u5468\u671f\u4e2d\uff0c\u8f83\u4e3a\u5f15\u4eba\u6ce8\u76ee\u7684\u5927\u5757\u53d8\u66f4\u6709\uff1a\\n\\n* \u5408\u5e76\u4e86 bcachefs \u7684\u652f\u6301\uff1b\\n* \u79fb\u9664\u4e86 IA-64 \u67b6\u6784\u7684\u652f\u6301\uff1b\\n* \u5f00\u6e90\u7684 NVIDIA® \u663e\u5361\u9a71\u52a8 `nouveau` \u83b7\u5f97\u4e86 GSP \u652f\u6301\u3002\\n\\n
\\n\u5565\u53eb GSP\uff1f\\n\\nGSP \u662f GPU system processor \u7684\u7f29\u5199\uff1aGPU \u7cfb\u7edf\u5904\u7406\u5668\u3002\\n\\n\u81ea\u4ece 2018 \u5e74\u9762\u4e16\u7684 Turing \u5fae\u67b6\u6784\u4ee5\u6765\uff0c\u65b0\u578b\u53f7\u7684 NVIDIA® \u663e\u5361\u90fd\u65b0\u589e\u4e86\u4e00\u5757\\nRISC-V \u5fae\u63a7\u5236\u5668\uff0c\u63a5\u7ba1\u4e86\u4ece\u524d\u7531\u64cd\u4f5c\u7cfb\u7edf\u9a71\u52a8\u63a7\u5236\u7684\u8bb8\u591a\u786c\u4ef6\u8d44\u6e90\u63a7\u5236\u804c\u8d23\u3002\\n\u8fd9\u4f7f\u5f97 NVIDIA \u5f97\u4ee5\u5f00\u6e90\u5176\u5185\u6838\u9a71\u52a8\uff1a\u8fd9\u4e2a\u9a71\u52a8\u53ea\u5269\u4e00\u4e2a C/S \u67b6\u6784\u7684\u5ba2\u6237\u7aef\u7a7a\u58f3\u5b50\u4e86\u3002\\n
\\n\\n\u9f99\u67b6\u6784\u76f8\u5173\u7684\u4e3b\u8981\u53d8\u66f4\u6709\uff1a\\n\\n* \u65b0\u589e\u4e86 KVM \u652f\u6301\uff08Tianrui Zhao\u3001Bibo Mao\u3001Huacai Chen\uff09\uff1b\\n* [\u652f\u6301\u4e86](https://git.kernel.org/torvalds/c/80c7889de7a8246e44a9632a2b7d15b41ab3fe41)\u52a8\u6001\u62a2\u5360\uff08`PREEMPT_DYNAMIC`\uff09\uff08Huacai Chen\uff09\uff1b\\n* \u5728\u4fdd\u8bc1\u6b63\u786e\u7684\u524d\u63d0\u4e0b\uff0c[\u9002\u5f53\u653e\u677e\u4e86](https://git.kernel.org/torvalds/c/affef66b65889a0ea0060e13e5f7fe569897d787)\u539f\u5b50\u64cd\u4f5c\u7684\u7ea6\u675f\uff0c\\n \u4f7f\u5f97 3A6000 \u7684 8 \u7ebf\u7a0b Unixbench \u6d4b\u8bd5\u6700\u7ec8\u5f97\u5206\u63d0\u5347\u4e86 0.47%\uff08WANG Rui\uff09\uff1b\\n* \u8ddf\u8fdb\u4e86 [BPF \u865a\u62df\u673a\u6307\u4ee4\u96c6\u7684 v4 \u65b0\u589e](https://lore.kernel.org/bpf/4bfe98be-5333-1c7e-2f6d-42486c8ec039@meta.com/)\uff0c\\n \u4e3a\u9f99\u67b6\u6784[\u589e\u52a0\u4e86](https://lore.kernel.org/loongarch/20231026184337.563801-1-hengqi.chen@gmail.com/)\u76f8\u5e94\u652f\u6301\uff08Hengqi Chen\uff09\u3002\\n\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/Linux-6.7-rc1)\u6b64\u65b0\u7248\u672c\uff0c\\n\u611f\u5174\u8da3\u7684\u8bfb\u8005\u53ef\u62d3\u5c55\u9605\u8bfb\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n11 \u6708 11 \u65e5\uff0cXi Ruoyao [\u53d1\u73b0](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112483)\u4e00\u4e9b\u6d6e\u70b9\u6570\u503c\u8ba1\u7b97\u7684\u6d4b\u8bd5\u7528\u4f8b\u7a81\u7136\u5f00\u59cb\u5931\u8d25\u4e86\uff0c\\n\u6392\u67e5\u4e0b\u6765\u662f\u67b6\u6784\u65e0\u5173\u7684\u4f18\u5316\u9519\u8bef\uff0c\u4e8e\u662f\u7b2c\u4e8c\u5929[\u53d1\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636200.html)\u4fee\u590d\u8865\u4e01\u3002\\n\u8fc7\u7a0b\u4e2d\uff0c\u987a\u5e26\u8fd8\u53d1\u73b0\u4e86\u539f\u300c\u4f18\u5316\u300d\u5728\u9f99\u67b6\u6784\u4e0a\u5176\u5b9e\u662f\u8d1f\u4f18\u5316\uff1b\u6b63\u5728\u4e0e\u4e0a\u6e38\u4e00\u540c\u60f3\u529e\u6cd5\u89e3\u51b3\u3002\\n\\n:::info \u82b1\u7d6e\\n\u5728\u6298\u817e\u8fd9\u4e2a\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0cXi Ruoyao \u53c8\u88ab[\u53e6\u4e00\u4e2a\u65b0\u9c9c\u95ee\u9898](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112497)\u5751\u5230\uff1a\\n\u662f\u963f\u91cc\u7684\u7f16\u8bd1\u5668\u5de5\u7a0b\u5e08\u540c\u884c\u6539\u67b6\u6784\u65e0\u5173\u6d41\u6c34\u7ebf\u4f18\u5316\u4ee3\u7801\u6539\u574f\u4e86\u3002\\n\u597d\u5728\u7b2c\u4e8c\u5929 GCC \u7ef4\u62a4\u8005\u53d1\u73b0\u4e86\u95ee\u9898\uff0c\u5c06\u95ee\u9898\u8865\u4e01 revert \u6389\u4e86\uff0c\\n\u4fdd\u62a4\u4e86\u5f88\u591a\u76f8\u5173\u4eba\u58eb\u7684\u7761\u7720\u65f6\u95f4\uff08\u548c\u53d1\u91cf\uff09\u3002\\n:::\\n\\n11 \u6708 10 \u65e5\uff0c\u7b14\u8005\u5728\u65e5\u5e38\u6d4b\u8bd5 Firefox 119 \u8fc7\u7a0b\u4e2d\uff0c\u7f16\u8bd1\u5668\u5d29\u6e83\u4e86\u3002\\n\u641e\u4e86\u4e00\u665a\u4e0a\uff0c\u5c06\u89e6\u53d1\u95ee\u9898\u7684\u8fd1 3MiB \u6e90\u7801[\u7cbe\u70bc\u6210\u4e86](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112476)\u4e0a\u6e38 bug PR112476\u3002\\n\u4e24\u5929\u540e Xi Ruoyao \u5c06\u5176[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636156.html)\uff0c\\n\u5df2[\u8fdb\u5165\u4e3b\u7ebf](https://gcc.gnu.org/g:b88500e0bc1e9e3a396ba764f9b701d22a76818f)\u3002\\n\\n11 \u6708 7 \u65e5\uff0cchenxiaolong \u7ed9 GCC \u8865\u5145\u4e86 LSX/LASX \u7684\u4f7f\u7528\u8bf4\u660e\u6587\u6863\uff1a\\n\\n* [intrinsics](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635431.html)\uff0c\\n* [\u5185\u8054\u6c47\u7f16\u7684\u64cd\u4f5c\u6570\u4fee\u9970\u7b26](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635435.html)\u3002\\n\\n11 \u6708 6 \u65e5\uff08\u521a\u597d\u9519\u8fc7\u4e0a\u671f\uff09\uff0cXi Ruoyao \u641e\u4e86\u4e09\u4e2a\u8865\u4e01\uff1a\\n\\n* [\u5b8c\u5584\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635277.html)\\n GCC \u6784\u5efa\u65f6\u5bf9 linker relaxation \u652f\u6301\u7684\u5224\u65ad\uff1a\\n \u7b80\u5355\u6765\u8bf4\uff0c\u5982\u679c\u53d1\u73b0\u642d\u914d\u7684\u6c47\u7f16\u5668\u4e0d\u652f\u6301 relax \u6761\u4ef6\u5206\u652f\u6307\u4ee4\uff0c\\n \u90a3\u4e48\u5c31\u4f7f\u5373\u5c06\u88ab\u6784\u5efa\u7684 GCC \u9ed8\u8ba4\u7981\u7528 relaxation\u3002\\n \u8fd9\u6709\u52a9\u4e8e\u89c4\u907f\u7f16\u8bd1\u5927\u578b\u8f6f\u4ef6\u65f6\u6709\u6982\u7387\u9047\u5230\u7684\u70e6\u4eba\u7684\u300c\u91cd\u5b9a\u4f4d\u6ea2\u51fa\u300d\u9519\u8bef\u3002\\n \u8fd9\u4fee\u590d\u4e86\u4e0a\u6e38 bug [PR112330](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112330)\u3002\\n* [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635278.html)\\n `-mexplicit-relocs=auto` \u914d\u7f6e\u4e0b\uff0c\u4ec5\u5355\u6b21\u4f7f\u7528\u7684\u5730\u5740\u4e0e `fld` `fst` \u642d\u914d\u65f6\u7684\u751f\u6210\u4ee3\u7801\u3002\\n* [\u79fb\u690d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635304.html)\\n LLVM \u7684\u4e24\u7ec4\u9f99\u67b6\u6784 LL/SC \u4ee3\u7801\u7247\u6bb5\u4f18\u5316\uff1a[\u7b2c 20 \u671f\u62a5\u9053\u8fc7\u7684](./2023-10-16-this-week-in-loongarch-20.md#llvm)\\n heiher [\u505a\u7684\u4f18\u5316](https://github.com/llvm/llvm-project/pull/6739)\uff0c\u4ee5\u53ca\\n SixWeining \u968f\u540e[\u505a\u7684\u8fdb\u4e00\u6b65\u5b8c\u5584](https://github.com/llvm/llvm-project/pull/69339)\u3002\\n\\nXi Ruoyao \u51c6\u5907\u8d76\u5728 GCC 14 stage 1 \u622a\u6b62\uff08\u7b14\u8005\u6ce8\uff1a11 \u6708 19 \u53f7\uff09\u524d\u52a0\u5165\u4e00\u6279 LA664 \u652f\u6301\uff0c\\n\u4f46\u662f\u636e\u5356\u5bb6\u8bf4 :ta: \u7684\u677f\u5b50\u8fd8\u5728\u8001\u5316\u95f4\u91cc\u3002\\n\u8ba9\u6211\u4eec\u671f\u5f85\u4ed6\u80fd\u65e9\u65e5\u62ff\u5230\u677f\u5b50\uff08\u5f53\u7136\u793e\u533a\u540c\u5b66\u5305\u62ec\u7b14\u8005\u5728\u5185\u5e94\u8be5\u4e5f\u4f1a\u51fa\u624b\u76f8\u52a9\uff09\uff01\\n\\n\u672c\u671f\u7684\u5f88\u5927\u4e00\u90e8\u5206 GCC \u65b0\u95fb\u90fd\u662f Xi Ruoyao \u63d0\u4f9b\u7684\uff0c\u611f\u8c22 :ta: \u4ece\u73b0\u573a\u53d1\u56de\u7684\u62a5\u9053\u3002\\n\\n#### LLVM {#llvm}\\n\\n\u5728[\u5468\u62a5\u7b2c 8 \u671f](./2023-07-10-this-week-in-loongarch-8.md#llvm)\u7b14\u8005\u6253\u7b97\u505a\u6389\\n`model` \u5c5e\u6027\u652f\u6301\uff0c\u5728\u4e0a\u6e38\u8ba8\u8bba\u786e\u5b9a\u4e86\u6280\u672f\u65b9\u6848\u3002\\n\u4f46\u6b64\u540e\u73b0\u5b9e\u751f\u6d3b\u56e0\u7d20\u4e0e\u5404\u79cd\u5de5\u4f5c\u4f18\u5148\u7ea7\u53d8\u5316\u53e0\u52a0\uff0c\u4f7f\u5f97\u7b14\u8005\u4e0d\u5f97\u4e0d\u5f03\u6389\u6b64\u5751\u3002\\n\u4e00\u5468\u524d heiher [\u51fa\u624b\u76f8\u52a9](https://github.com/loongson-community/discussions/issues/10)\uff0c\\n\u5c06\u6b64\u5de5\u4f5c\u51b2\u8fc7\u4e86\u7ec8\u70b9\u7ebf\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u76f8\u5e94\u7684 LLVM PRs \u5df2\u7ecf\u65b0\u9c9c\u5efa\u7acb\uff1a\\n\\n* [#72077](https://github.com/llvm/llvm-project/pull/72077)\uff1a\u6269\u5c55 LLVM IR\uff0c\u65b0\u589e `code_model` \u5168\u5c40\u91cf\u5c5e\u6027\uff0c\\n* [#72078](https://github.com/llvm/llvm-project/pull/72078)\uff1a\u4e3a Clang \u65b0\u589e `model` \u5c5e\u6027\uff0c\\n* [#72079](https://github.com/llvm/llvm-project/pull/72079)\uff1a\u5728 LoongArch \u540e\u7aef\u5229\u7528\u6b64\u4fe1\u606f\u3002\\n\\n\u975e\u5e38\u611f\u8c22\uff01\\n\\n11 \u6708 10 \u65e5\uff0cSixWeining \u62a5\u544a\u6709\u7528\u6237\u78b0\u5de7\u9047\u4e0a\u4e86 LLD \u8ba1\u7b97 page \u504f\u79fb\u91cf\u7684\u4e00\u5904\u6ea2\u51fa\\n\uff08\u53ea\u6709\u5f53\u9700\u6c42\u7684\u504f\u79fb\u91cf\u6070\u597d\u662f `-4096` \u624d\u4f1a\u89e6\u53d1\uff09\uff0c\\n\u987a\u624b[\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/71907)\u3002\\n\\n11 \u6708 8 \u65e5\uff0cxry111 [\u53d1\u73b0](https://github.com/llvm/llvm-project/issues/71645)\\nClang \u5bf9\u4e8e\u975e\u4f4d\u7f6e\u65e0\u5173\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff08`-fno-pie`\uff09\u6240\u7528\u7684\u9ed8\u8ba4\u914d\u7f6e\\n`-fdirect-access-external-data` \u5728 LoongArch \u4e0a\u4e0d\u80fd\u7528\uff0c\u5e76\u4e14\u4e0d\u8be5\u80fd\u7528\uff0c\\n\u5efa\u8bae\u5c06\u5176\u5728 LoongArch \u5173\u6389\uff1b11 \u6708 10 \u65e5\\nheiher [\u5c1d\u8bd5\u8fd9\u4e48\u505a\u4e86](https://github.com/llvm/llvm-project/pull/71887)\u3002\\n\\n#### Go\\n\\n10 \u6708 16 \u65e5\u524d\u540e\uff0cMeidan Li [\u63d0\u4ea4\u4e86](https://go.dev/cl/533716) Go \u5185\u90e8\u94fe\u63a5\u5668\u7684 `loong64` \u652f\u6301\uff1b\\n11 \u6708 8 \u65e5 :ta: \u6574\u4f53\u66f4\u4e86\u4e00\u7248\uff0c\u5e94\u8be5\u8fbe\u5230\u53ef\u4ee5\u6d4b\u8bd5\u3001\u8bc4\u5ba1\u7684\u72b6\u6001\u4e86\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5317\u4eac\u65f6\u95f4 11 \u6708 13 \u65e5\u6e05\u6668\uff0c\u7531 Robin Lee \u63a8\u52a8\u3001\u5b9e\u73b0\uff0c\u5386\u65f6 9 \u4e2a\u6708\uff0cFreeDesktop SDK \u7684\\n`loongarch64` \u6700\u5c0f\u5316\u865a\u62df\u673a\u7684\u6784\u5efa\u652f\u6301[\u5408\u5165\u4e0a\u6e38](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/11510)\uff1a\\n\u53ef\u4ee5\u901a\u8fc7 `vm/minimal/efi.bst` \u6784\u5efa\u865a\u62df\u673a\u7cfb\u7edf\u955c\u50cf\u6587\u4ef6\u4e86\u3002\\n\u7ee7[\u5468\u62a5\u7b2c 20 \u671f](./2023-10-16-this-week-in-loongarch-20.md#freedesktop-sdk-initial-support-merged)\u4e4b\u540e\uff0c\\n\u8fd9\u662f\u5c06 Flatpak \u751f\u6001\u5e26\u5165 LoongArch \u7684\u9053\u8def\u4e0a\u7684\u53c8\u4e00\u91cd\u8981\u8fdb\u5c55\u3002\\n\u611f\u8c22 :ta: \u81ea\u5df1\u6295\u9012\u7684\u65b0\u95fb\u7ebf\u7d22\uff01\\n\\n11 \u6708 6 \u65e5 systemd [\u53d1\u5e03\u4e86](https://github.com/systemd/systemd/releases/tag/v255-rc1)\\nv255-rc1\uff0c\u65b0\u589e\u4e86 LoongArch64 \u7684 seccomp \u652f\u6301\u3002\\nseccomp \u662f\u5b9e\u73b0\u6c99\u7bb1\uff08sandbox\uff09\u529f\u80fd\u7684\u5173\u952e\u57fa\u7840\u5e93\u3002\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/systemd-255-rc1)\u6b64\u4e8b\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u793e\u533a\u5f00\u53d1\u8005 cl91 \u4ece[\u5468\u62a5\u7b2c 18 \u671f](./2023-10-02-this-week-in-loongarch-18.md#gsgpu-for-mainline)\u5f00\u59cb\u618b\u7684\u5927\u62db\uff0c\\n\u641e\u5b9a\u4e86\uff01\\n\u9f99\u82af 7A2000 \u4e2d\u7684\u72ec\u663e[^what-does-discrete-mean]\u6a21\u5757\u7684\u5185\u6838\u9a71\u52a8 GSGPU \u5df2\u7ecf\u79fb\u690d\u5230\u4e86\u6700\u65b0\u7684 Linux v6.6\u3002\\n\\n[^what-does-discrete-mean]: \u6309\u7167\u300c\u96c6\u6210\u5728\u4e3b\u677f\u4e0a\u7684\u663e\u5361\u5c31\u662f\u96c6\u663e\u300d\u8fd9\u4e2a\u76f4\u89c2\u6d45\u663e\u7684\u5224\u65ad\u6807\u51c6\uff0c\u5f53\u524d\u7684 GSGPU \u5f53\u7136\u4e0d\u7b97\u300c\u72ec\u663e\u300d\u3002\u9f99\u82af\u5b98\u65b9\u6587\u732e\u5c06 7A2000 GPU \u79f0\u4f5c\u300c\u72ec\u663e\u300d\u7684\u53d8\u66f4\u662f\u67d0\u5929\u7a81\u7136\u53d1\u751f\u7684\uff0c\u4e14\u81f3\u4eca\u672a\u660e\u786e\u8be5\u672f\u8bed\u7684\u5168\u79f0\uff1b\u7b14\u8005\u4e2a\u4eba\u8ba4\u4e3a\u8fd9\u662f\u5ba3\u4f20\u4e0a\u538b\u4eba\u4e00\u5934\u7684\u6587\u5b57\u6e38\u620f\uff0c\u5176\u5b9e\u9645\u542b\u4e49\u4e3a\u300c\u72ec\u7acb\u663e\u5b58\u300d\u3002\u6bd5\u7adf\u867d\u7136 GSGPU \u4ecd\u7136\u53d7\u9650\u4e8e\u6838\u5fc3\u9762\u79ef\u3001\u4f9b\u7535\u7b49\u56e0\u7d20\u800c\u4e0d\u5982\u771f\u6b63\u7684\u300c\u72ec\u7acb\u663e\u5361\u300d\uff0c\u4f46\u7531\u4e8e\u72ec\u7acb\u663e\u5b58\u65b9\u6848\u80fd\u591f\u907f\u514d\u5171\u4eab\u7cfb\u7edf\u5185\u5b58\u7684\u96c6\u663e\u65b9\u6848\u5bf9\u5e38\u89c4\u5185\u5b58\u8bbf\u95ee\u7684\u5f71\u54cd\uff0c\u4ece\u800c\u4f7f\u5f97 GSGPU \u786e\u5b9e\u6709\u6f5c\u529b\u8d85\u8fc7\u8fd9\u79cd\u96c6\u663e\u7684\u6027\u80fd\u3002\uff08\u81f3\u4e8e\u4e24\u79cd\u65b9\u6848\u7684\u771f\u5b9e\u5bf9\u6bd4\uff0c\u7531\u4e8e\u9f99\u82af\u5927\u6982\u7387\u4e0d\u4f1a\u505a\u51fa\u5171\u4eab\u663e\u5b58\u7684 GSGPU \u4ee5\u4fbf\u63a7\u5236\u53d8\u91cf\uff0c\u4e5f\u5c31\u65e0\u4ece\u5b9e\u5730\u9a8c\u8bc1\u4e86\u3002\uff09\\n\\n:::info cl91 \u7684\u8bdd\\nGSGPU \u6765\u6e90\u4e8e\u9f99\u82af\u516c\u53f8\u7ef4\u62a4\u7684 v4.19 \u4e0b\u6e38\u5185\u6838\u3002\\n\u4e0e\u4e0a\u6e38\u5185\u6838 DRM \u5b50\u7cfb\u7edf\u4e2d\u7684 `loongson` \u9a71\u52a8\u76f8\u6bd4\uff0c\\nGSGPU \u5185\u6838\u6a21\u5757\u589e\u52a0\u4e86\u5b8c\u6574\u7684 3D \u786c\u4ef6\u76f8\u5173\u7684\u63a7\u5236\u4ee3\u7801\uff0c\\n\u5e76\u5411\u7528\u6237\u6001\u66b4\u9732\u4e86\u5b9e\u73b0 3D \u6e32\u67d3\u5fc5\u9700\u7684 GPU \u7f13\u51b2\u533a\u5bf9\u8c61\uff08buffer object\uff09\u63a5\u53e3\uff0c\\n\u4ee5\u53ca\u5411 GPU \u63d0\u4ea4\u6e32\u67d3\u4efb\u52a1\u7684\u76f8\u5173\u63a5\u53e3\u3002\\nGSGPU \u540c\u65f6\u8fd8\u5b9e\u73b0\u4e86\u7b14\u8bb0\u672c\u80cc\u5149\u76f8\u5173\u7684\u63a7\u5236\u63a5\u53e3\uff0c\u4e0e\u4e0a\u6e38 `loongson` DRM \u9a71\u52a8\u76f8\u6bd4\uff0c\\n\u53ef\u4ee5\u652f\u6301\u642d\u8f7d 7A2000 \u6865\u7247\u7684\u7b14\u8bb0\u672c\u7684\u80cc\u5149\u8c03\u8282\u3002\\n\\n\u5f53\u7136\u8981\u5b9e\u73b0\u9f99\u82af\u72ec\u663e\u7684 3D \u786c\u4ef6\u52a0\u901f\uff0c\u5149\u5185\u6838\u9a71\u52a8\u8fd8\u4e0d\u591f\uff0c\u8fd8\u9700\u8981\u7528\u6237\u7a7a\u95f4\u7684 mesa 3D \u9a71\u52a8\u3002\\n\u8fd9\u76ee\u524d\u8fd8\u4e0d\u5b58\u5728\u5f00\u6e90\u7684\u5b9e\u73b0\uff0c\u6240\u4ee5\u8fd8\u9700\u8981\u793e\u533a\u7684\u5171\u540c\u52aa\u529b\u3002\\n\u76ee\u524d\u4f7f\u7528\u4e0a\u6e38\u7684\u7528\u6237\u7a7a\u95f4\u9a71\u52a8\uff0c\u914d\u5408 2D \u8f6f\u4ef6\u6e32\u67d3\u53ef\u4ee5\u6b63\u5e38\u4f7f\u7528 X11 \u548c Wayland\uff08\u5f53\u7136\u4ec5\u9650\u4e8e2D\uff09\u3002\\n\u6709\u5174\u8da3\u7684\u670b\u53cb\uff0c\u7279\u522b\u662f\u5728 7A2000 \u7b14\u8bb0\u672c\u4e0a\u4f7f\u7528\u65b0\u4e16\u754c\u5185\u6838\u7684\u670b\u53cb\u4eec\u53ef\u4ee5\u5728[\u8fd9\u4e2a\u8bba\u575b\u8d34\u5b50](https://bbs.loongarch.org/d/303-gsgpu)\u627e\u5230\u66f4\u591a\u8be6\u60c5\u3002\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* 11 \u6708 11 \u65e5\uff0cAOSC \u7684\u65b0\u4e00\u671f\u53cc\u5468\u62a5\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u4e00\u6708\u4e0a\u300b[\u53d1\u5e03\u4e86](https://github.com/AOSC-Dev/newsroom/blob/b747c8e383b40695dce1fb9d7efbb19d64991d68/coffee-break/20231111/zh_CN.md)\uff0c\\n \u6b22\u8fce\u540c\u5b66\u4eec\u9605\u8bfb\u3002An English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/b747c8e383b40695dce1fb9d7efbb19d64991d68/coffee-break/20231111/en.md).\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-23","metadata":{"permalink":"/newsletter/this-week-in-loongarch-23","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-11-06-this-week-in-loongarch-23.mdx","source":"@site/newsletter/2023-11-06-this-week-in-loongarch-23.mdx","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-11-06T10:40:00.000Z","formattedDate":"2023\u5e7411\u67086\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":12.335,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-23","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 23 \u671f","authors":["xen0n"],"date":"2023-11-06T10:40:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 24 \u671f","permalink":"/newsletter/this-week-in-loongarch-24"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 22 \u671f","permalink":"/newsletter/this-week-in-loongarch-22"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\u4e0a\u5468\u7684\u8fdb\u5c55\u4e3b\u8981\u6709 LoongArch® ABI v2.20\u3001Linux\u3001GCC \u4ee5\u53ca LLVM\u3002\\n\u8be6\u60c5\u70b9\u8fdb\u6765\u770b\uff01\\n\\n{/* truncate */}\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u4e0a\u671f\u6211\u4eec\u7528\u8f83\u5927\u7684\u7bc7\u5e45[\u62a5\u9053\u4e86](./2023-10-30-this-week-in-loongarch-22.md#loongarch-r1p10)\\nLoongArch® v1.10 \u7684\u65b0\u589e\u7279\u6027\u3002\\n\u56e0\u6b64\u867d\u7136 Linux 6.6 \u4e5f\u5728\u4e0a\u5468\u6b63\u5f0f\u53d1\u5e03\u4e86\uff0c\u4f46\u6211\u4eec\u5e76\u672a\u9a6c\u4e0a\u8be6\u7ec6\u62a5\u9053\u3002\\n\u622a\u81f3\u76ee\u524d\uff0cLinux 6.7 \u7684\u5408\u5e76\u7a97\u53e3\u4ecd\u5728\u706b\u70ed\u5f00\u653e\u4e2d\uff0c\u800c\u9f99\u67b6\u6784\u7684\u53d8\u66f4\u76f8\u5bf9\u4e0d\u591a\uff1b\\n\u6211\u4eec\u53ef\u4ee5\u5148\u628a\u4e0a\u5468\u7684 Linux 6.6 \u5185\u5bb9\u8865\u4e0a\uff0c\u518d\u7b80\u5355\u8fc7\u4e00\u904d\u672c\u5468\u671f\u7684\u65b0\u529f\u80fd\u3002\\n\\n#### Linux 6.6\\n\\n\u6211\u4eec\u5728\u5468\u62a5\u7b2c 14 \u671f[\u6574\u7406\u8fc7\u4e86](./2023-09-04-this-week-in-loongarch-14.md#linux-6.6-loongarch-changes)\\nLinux 6.6 \u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\uff0c\u53ef\u65b9\u4fbf\u8df3\u8f6c\u9605\u8bfb\u3002\\n\\n\u9664\u6b64\u4e4b\u5916\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff1a\u4ece\u8be5\u7248\u672c\u5f00\u59cb\uff0cLinux \u7684\u9ed8\u8ba4\u8c03\u5ea6\u7b97\u6cd5\u88ab\u91cd\u505a\u4e86\uff0c\\n\u4ece CFS\uff08completely fair scheduler\uff1b\u5b8c\u5168\u516c\u5e73\u8c03\u5ea6\u5668\uff09\\n\u53d8\u4e3a\u4e86[\u4e0a\u4e16\u7eaa\u4e5d\u5341\u5e74\u4ee3\u4e00\u7bc7\u8bba\u6587][eevdf-paper]\u63d0\u51fa\u7684\\nEEVDF\uff08earliest eligible virtual deadline first\uff1b\u6700\u65e9\u5230\u671f\u7684\u865a\u62df\u622a\u6b62\u65f6\u523b\u4f18\u5148\uff09\uff0cLWN \u5bf9\u6b64[\u505a\u4e86\u8bb2\u89e3][eevdf-lwn]\u3002\\n\u8be5\u6539\u9020\u7531\u8457\u540d Linux \u8c03\u5ea6\u5668\u7ef4\u62a4\u8005 Peter Zijlstra \u64cd\u5200\u3002\\n\\n\u7ecf\u793e\u533a\u6d4b\u8bd5\uff0cEEVDF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u4ee5\u66f4\u5c11\u7684\u914d\u7f6e\u9879\uff0c\u5728\u5927\u591a\u6570\u573a\u666f\u4e0b\u5b9e\u73b0\u66f4\u9ad8\u7684\u516c\u5e73\u6027\u4e0e\u541e\u5410\uff1b\\n\u663e\u7136\uff0cCFS \u5e76\u4e0d\u300c\u5b8c\u5168\u516c\u5e73\u300d\uff0c\u5c3d\u7ba1\u5b83\u786e\u5b9e\u4e5f\u6bd4\u5b83\u7684\u524d\u4efb O(1) \u8c03\u5ea6\u5668\u66f4\u516c\u5e73\u4e9b\u3002\\n\u4f46\u4e5f\u4e0d\u6392\u9664\u4e2a\u522b\u573a\u666f\u7531\u4e8e\u53d7\u76ca\u4e8e\u5148\u524d CFS \u7b97\u6cd5\u7684\u4e0d\u516c\u5e73\uff0c\u800c\u5728\u65b0\u5185\u6838\u53cd\u800c\u6027\u80fd\u52a3\u5316\uff0c\u50cf\u662f\u53d7\u4e86 EEVDF \u60e9\u7f5a\u4e00\u6837\u3002\\n\u8bf7\u90a3\u4e9b\u9700\u8981\u6216\u8005\u5df2\u7ecf\u8feb\u8fd1\u7cfb\u7edf\u6027\u80fd\u6781\u9650\u7684\u5f00\u53d1\u8005\u548c\u7528\u6237\u4eec\u6ce8\u610f\uff1a\u5347\u7ea7\u5185\u6838\u524d\u91cd\u65b0\u8dd1\u8dd1\u538b\u6d4b\u3002\\n\\n[eevdf-paper]: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=805acf7726282721504c8f00575d91ebfd750564\\n[eevdf-lwn]: https://lwn.net/Articles/925371/\\n\\n\u9664\u4ee5\u4e0a\u53d8\u66f4\u4e4b\u5916\uff0c\u8fd8\u6709\u8bb8\u591a\u540c\u7b49\u91cd\u8981\u7684\u7f3a\u9677\u4fee\u590d\u3001\u4ee3\u7801\u91cd\u6784\u7b49\u5de5\u4f5c\u503c\u5f97\u8912\u626c\u3002\\n\u8fd9\u4e2a\u7248\u672c\u52a8\u8fc7\u9f99\u82af\u76f8\u5173\u4ee3\u7801\u7684\u6240\u6709\u5f00\u53d1\u8005\u4eec\uff08\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5e8f\uff0c\u4ee5 Git \u63d0\u4ea4\u8bb0\u5f55\u4e2d\u7684\u4f5c\u8005\u5b57\u6bb5\u4e3a\u51c6\uff09\uff1a\\n\\nimport ColumnedList from \'@site/src/components/ColumnedList\'\\n\\n\\n* Andy Shevchenko\\n* Aneesh Kumar K.V\\n* Baoquan He\\n* Bibo Mao\\n* Binbin Zhou\\n* Costa Shulyupin\\n* Dan Carpenter\\n* Enze Li\\n* Eric DeVolder\\n* Feiyang Chen\\n* Helge Deller\\n* Hongchen Zhang\\n* Huacai Chen\\n* Icenowy Zheng\\n* Jiri Slaby\\n* Keguang Zhang\\n* Maciej W. Rozycki\\n* Matthew Wilcox (Oracle)\\n* Mingtong Bao\\n* Nathan Chancellor\\n* Nick Desaulniers\\n* Paul E. McKenney\\n* Qi Hu\\n* Qing Zhang\\n* Russell King (Oracle)\\n* Sui Jingfeng\\n* Thomas Zimmermann\\n* Tiezhu Yang\\n* Tom Rix\\n* Vishal Moola (Oracle)\\n* WANG Xuerui\\n* Weihao Li\\n* Yanteng Si\\n* Yinbo Zhu\\n* YingKun Meng\\n* Zhangjin Wu\\n\\n\\n\u8fd9\u4e9b\u7ef4\u62a4\u5de5\u4f5c\u6db5\u76d6\u4e86 MIPS \u548c\u9f99\u67b6\u6784\u4e24\u4e2a\u65f6\u4ee3\u7684\u9f99\u82af CPU\uff0c\u4ee5\u53ca\u67b6\u6784\u65e0\u5173\u7684\u5927\u91cf\u9f99\u82af\u5e73\u53f0\u5916\u8bbe\u9a71\u52a8\u3002\\n\u5f53\u4f60\u5728\u9f99\u82af\u786c\u4ef6\u4e0a\u4f7f\u7528 Linux 6.6 \u65f6\uff0c\u522b\u5fd8\u4e86\u5411 :ta: \u4eec\u8bf4\u58f0\u8c22\u8c22\uff01\\n\\n:::info\\n\u672c\u8282\u62a5\u9053\u7684\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684 `git` \u64cd\u4f5c\u4ece Linux \u4ed3\u5e93\u4e2d\u83b7\u53d6\uff1a\\n\\n```sh\\ngit log --no-merges -P --grep=\'(?\u8bed\u4e49\u5316\u7248\u672cSemantic Versioning](https://semver.org/lang/zh-CN/)\u3001[\u65e5\u5386\u5316\u7248\u672cCalendar Versioning](https://calver.org/overview_zhcn.html)\u7b49\u7b49\u7cbe\u786e\u5b9a\u4e49\u7684\u65b9\u6848\uff0c\u6211\u4eec\u8fd8\u662f\u5c06\u5176\u79f0\u4f5c `v1.10`\uff1a\u8fd9\u6837\u81f3\u5c11\u6b21\u7248\u672c\u53f7\uff08minor version\uff09\u5b57\u6bb5\u7684\u5bbd\u5ea6\u90fd\u4e00\u81f4\uff0c\u56e0\u800c\u80fd\u591f\u660e\u786e\u662f\u4ee5 ASCII \u6392\u5e8f\u6765\u786e\u5b9a\u7248\u672c\u5148\u540e\u6b21\u5e8f\u4e86\u3002\u81f3\u4e8e\u672a\u6765\uff0c\u53ef\u80fd\u8fd8\u662f\u8f6c\u5411\u7cbe\u786e\u7684\u7248\u672c\u53f7\u65b9\u6848\u4f1a\u8282\u7701\u4e9b\u7406\u89e3\u6c9f\u901a\u6210\u672c\uff01\\n\\n### \u53d8\u66f4\u5185\u5bb9\\n\\n\u4e3a\u65b9\u4fbf\u9605\u8bfb\uff0c\u73b0\u6458\u5f55\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e00 1.5.1 \u8282\uff08LoongArch V1.1[^\u6ce8\u4e00] \u7248\u672c\u65b0\u589e\u5185\u5bb9\uff09\u5982\u4e0b\uff1a\\n\\n1. \u65b0\u589e\u8fd1\u4f3c\u6c42\u89e3\u6d6e\u70b9\u6570\u5f00\u6839\u548c\u6d6e\u70b9\u6570\u5f00\u6839\u6c42\u5012\u6570\u6307\u4ee4\uff0c\\n \u5305\u62ec\u6807\u91cf\u8fd0\u7b97\u7684 `FRECIPE.S`\u3001`FRECIPE.D`\u3001`FRSQRTE.S`\u3001`FRSQRTE.D` \u6307\u4ee4\uff0c128\\n \u4f4d SIMD \u8fd0\u7b97\u7684 `VFRECIPE.S`\u3001`VFRECIPE.D`\u3001`VFRSQRTE.S`\u3001`VFRSQRTE.D` \u6307\u4ee4\\n \u548c 256 \u4f4d SIMD \u8fd0\u7b97\u7684 `XVFRECIPE.S`\u3001`XVFRECIPE.D`\u3001`XVFRSQRTE.S`\u3001`XVFRSQRTE.D`\\n \u6307\u4ee4\u3002\\n2. \u65b0\u589e `SC.Q` \u6307\u4ee4\u3002\\n3. \u65b0\u589e `LLACQ.W`\u3001`SCREL.W`\u3001`LLACQ.D`\u3001`SCREL.D` \u6307\u4ee4\u3002\\n4. \u65b0\u589e `AMCAS.B`\u3001`AMCAS.H`\u3001`AMCAS.W`\u3001`AMCAS.D`\u3001`AMCAS_DB.B`\u3001`AMCAS_DB.H`\u3001`AMCAS_DB.W`\u3001`AMCAS_DB.D`\u3001`AMSWAP.B`\u3001`AMSWAP.H` \u6307\u4ee4\u3002\\n5. \u65b0\u589e `AMADD.B`\u3001`AMADD.H`\u3001`AMSWAP_DB.B`\u3001`AMSWAP_DB.H`\u3001`AMADD_DB.B`\u3001`AMADD_DB.H` \u6307\u4ee4\u3002\\n6. \u589e\u52a0 `dbar` \u6307\u4ee4\u90e8\u5206\u975e\u96f6 hint \u503c\u7684\u529f\u80fd\u5b9a\u4e49\u3002\\n7. \u65b0\u589e 64 \u4f4d\u673a\u5668\u4e0a\u6267\u884c 32 \u4f4d\u6574\u6570\u9664\u6cd5\u6307\u4ee4\u662f\u5426\u53d7\u6e90\u64cd\u4f5c\u6570\u5bc4\u5b58\u5668\u9ad8 32 \u4f4d\u503c\u5f71\u54cd\u7684\u5224\u5b9a\u65b9\u5f0f\u3002\\n8. \u89c4\u8303\u76f8\u540c\u5730\u5740 load \u8bbf\u5b58\u64cd\u4f5c\u987a\u5e8f\u6267\u884c\u884c\u4e3a\u5224\u5b9a\u65b9\u5f0f\u3002\\n9. \u589e\u52a0\u6d88\u606f\u4e2d\u65ad\u7684\u5b9a\u4e49\u3002\\n10. \u5141\u8bb8\u5b9e\u73b0\u786c\u4ef6\u9875\u8868\u904d\u5386\u3002\\n\\n:::info \u7248\u6743\u5185\u5bb9\u5408\u7406\u4f7f\u7528\u58f0\u660e\\n\u300a\u624b\u518c\u300b\u660e\u786e\u4fdd\u7559\u6240\u6709\u6743\u5229\u4e14\u7981\u6b62\u975e\u7ecf\u4e66\u9762\u8bb8\u53ef\u7684\u8f6c\u8f7d\u3002\\n\u4f46\u6839\u636e[\u300a\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\u8457\u4f5c\u6743\u6cd5\u300b](https://www.gov.cn/guoqing/2021-10/29/content_5647633.htm)\u7b2c\u4e8c\u5341\u56db\u6761\u7b2c\u4e00\u6b3e\u7b2c\u4e00\u9879\u3001\u7b2c\u4e8c\u9879\uff0c\\n\u6211\u4eec\u786e\u4fe1\u4ee5\u4e0a\u5bf9\u300a\u624b\u518c\u300b\u5185\u5bb9\u7684\u6458\u6284\u5c5e\u4e8e\u5408\u7406\u4f7f\u7528\u8303\u7574\uff0c\u4e0d\u53d7\u300a\u624b\u518c\u300b\u7248\u6743\u58f0\u660e\u7ea6\u675f\u3002\\n:::\\n\\n### \u4e3b\u7f16\u70b9\u8bc4\\n\\n\u6309\u7167\u539f\u6587\u5217\u8868\u7f16\u53f7\u770b\uff0c\u8bf4\u662f 10 \u6761\u53d8\u66f4\uff0c\u5176\u5b9e\u5206\u7c7b\u6709\u70b9\u592a\u8fc7\u6241\u5e73\u4e86\uff1a\\n\u6bd4\u65b9\u8bf4\u5176\u4e2d 6 \u6761\u90fd\u4e0e\u539f\u5b50\u64cd\u4f5c\u6709\u5173\uff0c\u4e14 2\u30013 \u4e24\u6761\u90fd\u5c5e\u4e8e LL/SC \u64cd\u4f5c\u8303\u7574\uff0c5\\n\u4e2d\u7684\u539f\u5b50\u4ea4\u6362\u64cd\u4f5c\u4e5f\u4e0d\u77e5\u4e3a\u4f55\u6ca1\u653e\u5165 4\u3002\\n\u90a3\u4e48\u5148\u629b\u5f00\u8fd9\u4e9b\u884c\u6587\u7ec6\u8282\uff0c\u5b8f\u89c2\u6765\u770b\uff0c\u5927\u7684\u53d8\u66f4\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u4e2a\u65b9\u9762\uff1a\\n\\n* \u540c\u6b65/\u539f\u5b50\u64cd\u4f5c\u80fd\u529b\uff0c\u5f97\u5230\u4e86\u4e00\u8f6e\u76f8\u5f53\u7684\u8fed\u4ee3\u3001\u4f18\u5316\uff08\u7b2c 2\u30013\u30014\u30015\u30016\u30018 \u6761\uff09\uff1b\\n* \u4ee5\u6b63\u5f0f\u6587\u5b57\u5f62\u5f0f\uff0c\u53d8\u76f8\u627f\u8ba4\u4e86\u521d\u4ee3 LoongArch® \u786c\u4ef6\u4e8b\u5b9e\u4e0a\u7684\u5947\u8469\u5751\u70b9\uff0c\u53ca\u5982\u4f55\u65b9\u4fbf\u5224\u65ad\u8be5\u5751\u662f\u5426\u5b58\u5728\uff08\u7b2c 7 \u6761\uff09\uff1b\\n* \u5728\u7279\u6743\u67b6\u6784\u65b9\u9762\uff0c\u505a\u4e86\u66f4\u591a\u6027\u80fd\u4f18\u5316\u7684\u5c1d\u8bd5\uff08\u7b2c 9\u300110 \u6761\uff09\uff1b\\n* \u53ef\u80fd\u51fa\u4e8e\u7279\u5b9a\u5e94\u7528\u573a\u666f\u9700\u8981\uff0c\u65b0\u589e\u4e86\u4e00\u5957\u66f4\u5feb\u7684\u5f00\u6839\u53f7\u3001\u5f00\u6839\u53f7\u540c\u65f6\u6c42\u5012\u6570\u7684\u64cd\u4f5c\uff08\u7b2c 1 \u6761\uff09\u3002\\n\\n\u8bf4\u5230\u539f\u5b50\u64cd\u4f5c\uff1a\u5f53\u4ee3\u8f6f\u4ef6\u5df2\u7ecf\u6df1\u5ea6\u4f9d\u8d56\u591a\u6838\u3001\u5e76\u884c\u64cd\u4f5c\uff0c\\n\u800c\u6bcf\u4e2a\u5904\u7406\u5668\u6838\u5f80\u5f80\u4e5f\u6df1\u5ea6\u4e71\u5e8f\u6267\u884c\u4ee5\u4fdd\u8bc1\u5355\u7ebf\u7a0b\u6027\u80fd\uff1b\\n\u4e3a\u5728\u8fd9\u6837\u6076\u52a3\u7684\u73af\u5883\u4e0b\u4fdd\u6301\u7a0b\u5e8f\u8bed\u4e49\u6b63\u786e\uff0c\\n\u5185\u5b58\u6a21\u578b\u2014\u2014\u53ef\u4ee5\u7b80\u5355\u7406\u89e3\u4e3a\u5177\u4f53\u7cfb\u7edf\u4e0a\u6240\u6709\u5904\u7406\u5668\u6838\u8bbf\u5b58\u526f\u4f5c\u7528\u7684\u7cbe\u786e\u63cf\u8ff0\u2014\u2014\u5176\u91cd\u8981\u6027\u52ff\u5eb8\u8d58\u8a00\u3002\\n\u8fd9\u4e9b\u4f18\u5316\u5f53\u7136\u662f LA664 \u76f8\u6bd4\u524d\u4ee3\u5fae\u67b6\u6784\u80fd\u591f\u53d6\u5f97\u6574\u4f53\u4e24\u4f4d\u6570\u767e\u5206\u6bd4\u6027\u80fd\u63d0\u5347\u7684\u91cd\u8981\u57fa\u7840\uff1a\\n\u5370\u8c61\u4e2d\u5355\u7eaf\u4e0a\u6587\u7b2c 6 \u6761\u7684\u7ec6\u7c92\u5ea6 `dbar` \u6539\u8fdb\uff0c\u5728\u5185\u6838\u9002\u914d\u540e\uff0c\u5c31\u8fbe\u6210\u4e86 10% \u8fd8\u662f 20% \u7684\u63d0\u5347\u3002\\n\u5b9e\u9645\u4e0a\uff0c\u76ee\u524d\u8fd9\u65b9\u9762\u5e94\u8be5\u4e5f\u53ea\u6709\u7b2c 6 \u6761\u88ab\u5b9e\u73b0\u4e86\uff1a\u56e0\u4e3a\u53ea\u6709\u5b83\u80fd\u591f\u5411\u4e0b\u517c\u5bb9\u8f83\u65e9\u7684\u5904\u7406\u5668\u578b\u53f7\u3002\\n\u5982\u679c\u5728\u5177\u4f53\u573a\u666f\u80fd\u591f\u4e0d\u8003\u8651\u65e7\u5904\u7406\u5668\u578b\u53f7\u800c\u751f\u6210\u673a\u5668\u8bed\u8a00\u7684\u8bdd\uff0c\u4f18\u5316\u7a0b\u5ea6\u53ea\u4f1a\u66f4\u9ad8\u3002\\n\\n\u8bf4\u5230\u7b2c 7 \u6761\u7684\u5751\uff1a\u8003\u8651\u5230\u9f99\u82af\u516c\u53f8\u7684\u56e2\u961f\u89c4\u6a21\u3001\u6295\u5165\u8d44\u91d1\u4e4b\u53ef\u601c\uff0c\u4ee5\u53ca\u521d\u4ee3\\nLoongArch® \u63a8\u51fa\u4e4b\u4ed3\u4fc3\uff0c\\n\u591a\u5c11\u634f\u51fa\u51e0\u4e2a bugs \u5176\u5b9e\u4e5f\u65e0\u53ef\u539a\u975e\uff0c\u6ca1\u4ec0\u4e48\u55b7\u70b9\uff1a\u6ca1 bug \u624d\u4e0d\u5bf9\u52b2\u5462\uff01\\n\u8fd9 `div.w` \u7cfb\u5217\u6307\u4ee4\uff08\u5377\u4e00\u7b2c 2.2.1.13 \u8282\uff09\uff0c\u4f5c\u4e3a\u4e00\u5957 32 \u4f4d\u64cd\u4f5c\uff0c\u5374\u4e0e\u6574\u4e2a LoongArch®\\n\u5176\u4f59 32 \u4f4d\u64cd\u4f5c\u884c\u4e3a\u90fd\u4e0d\u540c\uff1a\\n\u5c45\u7136\u4ecd\u7136\u4f1a\u770b\u5165\u53c2\u7684\u9ad8 32 \u4f4d\uff0c\u4e0d\u662f\u7b26\u53f7\u6269\u5c55\u5c31\u8f93\u51fa\u5783\u573e\u7ed3\u679c\u2014\u2014\u867d\u7136\u4e0d\u505a 64 \u4f4d\u8fd0\u7b97\uff0c\u4f46\u8fd8\u5f97\u7167 64 \u4f4d\u51c6\u5907\uff01\\n\u8fd9\u4f30\u8ba1\u662f\u6e90\u81ea\u6700\u65e9\u671f MIPS \u4e58\u9664\u6cd5\u5668\u4e0e\u6d41\u6c34\u7ebf\u5206\u79bb\u7684\u5386\u53f2\u5305\u88b1\uff1aMIPS \u7684 32 \u4f4d\u4e58\u9664\u6cd5\u6307\u4ee4\u90fd\u6709\u76f8\u540c\u9650\u5236\u3002\\n\u9f99\u67b6\u6784\u7684 32 \u4f4d\u4e58\u6cd5\u672a\u53d7\u5f71\u54cd\uff0c\u4f46\u9664\u6cd5\u3001\u53d6\u4f59\u7684\u5177\u4f53\u5b9e\u73b0\u4e0d\u5e78\u4e0e MIPS \u884c\u4e3a\u4e00\u81f4\u4e86\u3002\\n\u663e\u7136\u8bbe\u8ba1\u5e08\u4eec\u5e76\u4e0d\u8ba4\u4e3a\u8fd9\u5f88\u5408\u7406\u2014\u2014\u8981\u4e0d\u7136\u4e5f\u4e0d\u4f1a\u5728 LA664 \u5c31\u6539\u6389\u4e86\uff1b\\n\u4f46\u65e7\u7684\u578b\u53f7\u624d\u53d1\u552e\u6ca1\u591a\u4e45\uff0c\u8fd8\u5f97\u7ee7\u7eed\u652f\u6301\uff0c\u4e8e\u662f\u65b0\u7248\u624b\u518c\u5e76\u6ca1\u6709\u4fee\u6539\u7b2c 2.2.1.13 \u8282\u7684\u5185\u5bb9\uff0c\\n\u800c\u662f\u5728\u7b2c 2.2.10.5 \u8282 CPUCFG \u6570\u636e\u7684\u4ecb\u7ecd\u4e2d\u63d0\u4e86\u4e00\u5634\uff1a\\n\u53ef\u4ee5\u770b `CPUCFG.0x2.DIV32[bit26]` \u6765\u786e\u5b9a\u5f53\u524d\u5904\u7406\u5668\u662f\u5426\u53d7\u6b64\u5751\u5f71\u54cd\u3002\\n\\n\u7b14\u8005\u9884\u8ba1\u76f8\u5f53\u957f\u7684\u4e00\u6bb5\u65f6\u95f4\u91cc\uff0c\u4f30\u8ba1\u90fd\u53ea\u6709 JIT \u8fd0\u884c\u65f6\u80fd\u4ece\u4e2d\u53d7\u76ca\uff1a\\n\u548c\u4e0a\u6587\u7684\u539f\u5b50\u64cd\u4f5c\u65b0\u6307\u4ee4\u4e00\u6837\uff0c\u60f3\u8981\u6574\u4e2a\u7cfb\u7edf\u90fd\u7528\u4e0a\u8fd9\u51e0\u4e2a\u64cd\u4f5c\u7684\u6b63\u5e38\u3001\u5bbd\u677e\u8bed\u4e49\uff0c\\n\u5c31\u610f\u5473\u7740\u5931\u53bb\u524d\u4ee3\u4ea7\u54c1\u7684\u517c\u5bb9\u6027\u3002\\n\u56e0\u4e3a 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u4f59\u64cd\u4f5c\u662f\u5982\u6b64\u7684\u57fa\u7840\uff0c\u5982\u679c\u6bcf\u7528\u4e00\u6b21\u4e4b\u524d\u90fd\u8981\u52a8\u6001\u68c0\u67e5 CPU \u7279\u6027\uff0c\\n\u90a3\u6027\u80fd\u4e0d\u582a\u8bbe\u60f3\u3002\\n\u4f46 JIT \u7f16\u8bd1\u5668\u4e0d\u4e00\u6837\uff1a\u5b83\u52a8\u6001\u751f\u6210\u7684\u4ee3\u7801\u5e76\u4e0d\u53d7\u5b83\u81ea\u8eab\u9650\u5236\uff0c\u56e0\u6b64\u5b8c\u5168\u53ef\u4ee5\u505a\u5230\u52a8\u6001\u63a2\u67e5\u4e00\u6b21\\nCPU \u7279\u6027\uff0c\u540e\u7eed\u636e\u6b64\u751f\u6210\u3001\u8fd0\u884c\u5bf9\u5f53\u524d\u7cfb\u7edf\u6700\u4f18\u5316\u7684\u673a\u5668\u8bed\u8a00\uff0c\u800c\u81ea\u8eab\u5219\u4fdd\u6301\u4e0e\u6700\u517c\u5bb9\u7684\u57fa\u7ebf\u5bf9\u9f50\u3002\\n\\n\u65e2\u7136\u63d0\u5230\u4e86\u786c\u4ef6\u7684\u5751\uff0c\u90a3\u4e48\u5176\u5b9e\u4e5f\u4e0d\u5f97\u4e0d\u5410\u69fd\u4e0b\u7b2c 10 \u6761\u8fd9\u4e2a\u786c\u4ef6\u9875\u8868\u904d\u5386\u673a\u6784\uff1a\\n\u81f3\u5c11\u5728\u7b14\u8005\u62ff\u5230\u7684\u7b2c\u4e00\u6279 3A6000 \u677f\u5b50\u4e0a\uff0c\u8fd9\u4e2a\u529f\u80fd\u4f30\u8ba1\u88ab\u56fa\u4ef6\u7981\u7528\u4e86\uff1b\\n\u76f8\u5e94\u7684 CPUCFG \u6807\u5fd7\u4f4d\u8bfb\u51fa\u6765\u662f 0\uff0c\u5185\u6838\u5b9e\u9645\u4e5f\u6ca1\u7528\u4e0a\u3002\\n\u4e0d\u6e05\u695a\u524d\u51e0\u5929\u53d1\u552e\u7684\u91cf\u4ea7\u6279\u6b21\u8fd8\u6709\u6ca1\u6709\u8fd9\u95ee\u9898\uff1a\\n\u5982\u679c\u8fd9\u4e9b\u677f\u5b50\u4e0a\u8fd9\u6807\u5fd7\u4f4d\u4e5f\u662f 0\uff0c\\n\u90a3\u4f30\u8ba1 3A6000 \u8fd9\u4e2a\u673a\u6784\u5c31\u662f\u6709\u4ec0\u4e48\u5751\uff0c\u5bfc\u81f4\u7528\u4e0d\u8d77\u6765\u4e86\u3002\\n\u4e0d\u8fc7\u4e5f\u65e0\u4f24\u5927\u96c5\uff1a\u5176\u4ed6\u65b9\u9762\u7684\u6539\u8fdb\u5b9e\u5728\u592a\u5927\u4e86\uff0c\u7455\u4e0d\u63a9\u745c\u2014\u2014\u7b49\u4e0b\u4e2a\u6279\u6b21\u6216\u8005\u4e0b\u4e00\u4ee3\u4ea7\u54c1\u5427\uff01\\n\\n\u8bf4\u56de\u7b2c 9 \u6761\uff0c\u8fd9\u4e2a\u5e94\u8be5\u6ca1\u5751\u4e86\u2014\u2014\u4e5f\u4e0d\u4e00\u5b9a\uff1b\u56e0\u4e3a\u76ee\u524d Linux \u5185\u6838\u5e76\u6ca1\u6709\u52a0\u5165\u76f8\u5173\u652f\u6301\u3002\\n\u4e0d\u8fc7\u624b\u518c\u65e2\u7136\u653e\u51fa\u4e86\uff0c\u5185\u6838\u5c42\u9762\u8fd9\u4e2a\u7279\u6027\u4e5f\u80fd\u505a\u5230\u5411\u540e\u517c\u5bb9\uff0c\u90a3\u4e48\u5c31\u671f\u5f85\u63a5\u4e0b\u6765\u4e00\u4e24\u4e2a\u5468\u671f\u5b83\u80fd\u5f97\u5230\u652f\u6301\u5427\u3002\\n\\n\u6700\u540e\u662f\u7b2c 1 \u6761\u8fd9\u4e00\u5957\u6d6e\u70b9\u8fd0\u7b97\u4f18\u5316\uff1a\\n\u7b14\u8005\u5b9e\u6d4b\u4e86 `frsqrte.s` \u6307\u4ee4\u6bd4[\u8457\u540d\u7684 *Quake III Arena*\u300a\u96f7\u795e\u4e4b\u9524 3 \u7ade\u6280\u573a\u300b \u5feb\u901f\u5e73\u65b9\u5012\u6570\u7b97\u6cd5](https://en.wikipedia.org/wiki/Fast_inverse_square_root)\u7cbe\u786e\uff0c\\n\u4e14\u4e0d\u662f\u5355\u7eaf\u5c06\u8fd9\u4e2a\u7ecf\u5178\u7b97\u6cd5\u6700\u540e\u4e00\u6b65\u7684 Newton \u8fed\u4ee3\u591a\u8dd1\u4e00\u4e24\u8f6e\u90a3\u4e48\u7b80\u5355\u3002\\n\u5177\u4f53\u7528\u7684\u5565\u7b97\u6cd5\u76ee\u524d\u4e0d\u77e5\u9053\uff0c\u6bd5\u7adf\u7b14\u8005\u6ca1\u7cbe\u529b\u5bf9\u5904\u7406\u5668\u8bbe\u8ba1\u9886\u57df\u7684\u524d\u6cbf\u8bba\u6587\u4fdd\u6301\u5173\u6ce8\uff1b\\n\u5feb\u5c31\u5b8c\u4e8b\u4e86\uff01\\n\u8fd9\u4e9b\u64cd\u4f5c\u867d\u7136\u4e0d\u5982 IEEE 754 \u89c4\u8303\u4e0a\u8981\u6c42\u7684\u90a3\u4e48\u7cbe\u786e\uff0c\u4f46\u80dc\u5728\u6267\u884c\u5feb\uff1a\u8fd9\u5bf9 3D \u6e32\u67d3\u3001\\n\u7269\u7406\u5f15\u64ce\u3001\u7c97\u6d45\u7684\u6570\u503c\u6a21\u62df\uff0c\u4e4b\u7c7b\u7cbe\u5ea6\u8981\u6c42\u4e0d\u90a3\u4e48\u9ad8\u7684\u573a\u666f\u90fd\u662f\u597d\u4e8b\u3002\\n\u4e0d\u8fc7\u9f99\u67b6\u6784\u8fd9\u4e2a\u53d1\u660e\u6bd4\u8f83\u6709\u5f00\u521b\u6027\uff0c\u4ee5\u81f3\u4e8e\u4ece\u76ee\u524d\u7684\u7f16\u7a0b\u8bed\u8a00\u90fd\u4e0d\u592a\u5bb9\u6613\u8c03\u7528\u5b83\u4eec\uff0c\\n\u975e\u5f97\u624b\u5199\u70b9\u6c47\u7f16\u4e0d\u53ef\uff1b\\n\u6709\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u770b\u770b\u80fd\u4e0d\u80fd\u7ed9\u4f60\u7231\u7528\u7684\u6570\u5b66\u3001\u56fe\u5f62\u5b66\u8f6f\u4ef6\u63d0 PR \u52a0\u652f\u6301\u4e86\uff01\\n\\n\u603b\u4e4b\uff0c\u8fd9\u6b21\u66f4\u65b0\u5bf9\u6027\u80fd\u63d0\u5347\u884c\u4e4b\u6709\u6548\uff0c\u5bf9\u7fa4\u4f17\u6298\u817e\u5341\u5206\u53cb\u597d\uff0c\u76f8\u4fe1\u5b83\u80fd\u6210\u4e3a\u4f17\u53d1\u70e7\u53cb\u591a\u5e74\u540e\u7684\u7f8e\u597d\u56de\u5fc6\uff08\u4e5f\u53ef\u80fd\u4e0d :smiling_imp:\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLinux 6.6 \u6b63\u5f0f\u7248[\u5df2\u7ecf\u53d1\u5e03](https://lore.kernel.org/lkml/CAHk-=wiZuU984NWVgP4snp8sEt4Ux5Mp_pxAN5MNV9VpcGUo+A@mail.gmail.com/)\u3002\\n\u672c\u5468\u548c\u4e0b\u5468\u662f Linux 6.7 \u7684\u5408\u5e76\u7a97\u53e3\uff1b\\n\u76ee\u524d\u9f99\u67b6\u6784\u5206\u652f\u4ecd\u7136\u4fdd\u6301\u5728\u53ea\u6709 KVM \u8865\u4e01\u7684\u72b6\u6001\uff0c\u7b49\u5f85 KVM \u7ef4\u62a4\u8005\u7684\u62c9\u53d6\u3002\\n\u4e0d\u7528\u6025\uff1a\u6709\u4e24\u5468\u65f6\u95f4\uff0c\u5e76\u4e14\u672c\u8eab\u9f99\u82af\u4e5f\u4e60\u60ef\u5728\u7b2c\u4e8c\u5468\u7684\u5468\u4e94\u53d1\u51fa PR\uff0c\u4e89\u53d6\u591a\u70b9\u5b8c\u5584\u4ee3\u7801\u7684\u65f6\u95f4\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\nJiajie Chen [\u7814\u7a76\u5b8c](https://github.com/jiegec/la-inst) 3A6000 \u5f7c\u65f6\u5c1a\u672a\u516c\u5f00\u7684\u6307\u4ee4\u4e4b\u540e\uff0c\\n\u4e00\u770b\u5230 LoongArch v1.10 \u6b63\u5f0f\u516c\u5e03\uff0c\\n\u4e24\u5929\u540e\u7684 10 \u6708 25 \u53f7\u5c31[\u638f\u51fa\u4e86](https://sourceware.org/pipermail/binutils/2023-October/130139.html)\u7ed9\\nbinutils \u65b0\u589e\u8fd9\u4e9b\u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\u7684\u8865\u4e01\uff08\u5f53\u7136\u53ea\u505a\u4e86\u6b63\u5f0f\u89c1\u8bf8\u6587\u6863\u7684\u90a3\u90e8\u5206\uff09\u3002\\n\u6770\u54e5\u5a01\u6b66\uff01\\n\u611f\u8c22 xry111 \u63d0\u4f9b\u65b0\u95fb\u7ebf\u7d22\u3002\\n\\n#### gcc\\n\\n\u6b63\u5728\u7b14\u8005\u9f9f\u901f\u8d76\u7a3f\u4e4b\u9645\uff0cXi Ruoyao\\n[\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634687.html)\u4ea4\u53c9\u6c47\u7f16\u5668\u5c31\u7eea\u524d\uff0c\\n\u6784\u5efa\u4ea4\u53c9\u7f16\u8bd1\u5668\u4f1a\u5931\u8d25\u7684\u95ee\u9898\u3002\\n\\n#### LLVM\\n\\n[\u4e0a\u671f\u62a5\u9053\u8fc7\u7684](./2023-10-23-this-week-in-loongarch-21.md#llvm) FCC \u642c\u8fd0\u652f\u6301\u8865\u4e01\uff0c\\n10 \u6708 27 \u65e5[\u88ab\u79fb\u690d\u56de\u4e86](https://github.com/llvm/llvm-project-release-prs/pull/746) LLVM 17 \u5206\u652f\u3002\\n\\n:::tip \u82b1\u7d6e\\n\u770b\u8bc4\u8bba\u533a\uff0c\u8fd9\u4e2a bug \u662f\u4e0b\u6e38\u6709\u4eba\u7f16\u8bd1 UE4\uff08\u5927\u540d\u9f0e\u9f0e\u7684\u865a\u5e7b\u56db\u6e38\u620f\u5f15\u64ce\uff09\u53d1\u73b0\u7684\uff1b\\n\u800c LLVM 17 \u7cfb\u5217\u7684\u53d1\u7248\u7ba1\u7406\u5458\u5728 Ubisoft\uff08\u80b2\u78a7\uff09\u7684\u5de5\u5177\u94fe\u90e8\u95e8\u5de5\u4f5c\u3002\\n\u6e38\u620f\u63a8\u52a8\u5148\u8fdb\u751f\u4ea7\u529b\uff01\\n:::\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5e94\u5fae\u4fe1\u300c\u9f99\u82af\u8bfb\u8005\u4ff1\u4e50\u90e8\u300d\u7fa4\u7684\u300c\u554a\u54c8\u54c8\u300d\u7fa4\u53cb\u53cd\u9988\uff0c\u4ece\u672c\u671f\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u5f00\u59cb\uff0c\\n\u7565\u5fae\u6269\u5145\u4e86\u524d\u8a00\u90e8\u5206\u3002\u611f\u8c22\u8fd9\u4f4d\u8bfb\u8005\u7684\u5efa\u8bae\uff01\\n\\n\u6765\u81ea[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u670b\u53cb[\u738b\u6c5f\u6d25](https://github.com/RedL0tus)\u4e3a Google \u7684 OpenSSL\\nfork BoringSSL [\u63d0\u4ea4\u4e86](https://boringssl-review.googlesource.com/c/boringssl/+/63565)\u9002\u914d\u4efb\u610f\u975e\u5b98\u65b9\u652f\u6301\u7684\u5c0f\u7aef\\n\uff08little-endian\uff0932 \u4f4d\u6216 64 \u4f4d\u5e73\u53f0\u7684\u8865\u4e01\u3002\\n\\nxen0n \u5728\u7ed9 Debian loong64 port \u76d1\u5de5\u7684\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\\n[buildd.debian.org \u7684\u7edf\u8ba1\u56fe\u8868\u9875\u9762](https://buildd.debian.org/stats/)\u4e00\u76f4\u7f3a\u9f99\u67b6\u6784\uff0c\\n\u4e8e\u662f\u987a\u624b\u5e2e\u5fd9[\u52a0\u4e0a\u4e86](https://salsa.debian.org/wb-team/wanna-build/-/commit/1f64a552b488f2565cbc1e8336416abac0376243)\u3002\\n\u867d\u7136\u5386\u53f2\u6570\u636e\u6ca1\u6cd5\u8865\uff0c\u4f46\u4e5f\u65e0\u4f24\u5927\u96c5\u2014\u2014\u8fd9 port \u51fa\u751f\u90fd\u6ca1\u51e0\u5929\u54ea\uff01\\n\\n:::tip \u82b1\u7d6e\\nxen0n \u9009\u53d6\u4e86 R \u8bed\u8a00\u7684\u756a\u8304\u8272 `tomato` \u4e3a\u9f99\u67b6\u6784\u914d\u8272\uff0c\u539f\u56e0\u5199\u5728\u4e86\u63d0\u4ea4\u8bf4\u660e\uff1a\\n\\n* \u8ddf\u9f99\u82af\u7684 logo \u914d\u8272\u5dee\u4e0d\u591a\uff0c\u90fd\u7ea2\u4e0d\u6e9c\u79cb\u7684\uff0c\u4ee5\u53ca\\n* \u756a\u8304 :tomato: \u57fa\u672c\u4e0a\u4e5f\u597d\u5403\uff01\\n\\n\uff08\u5176\u5b9e\u5f53\u7136\u9996\u8981\u8003\u8651\u662f\u533a\u5206\u5ea6\uff1b\u8fd9\u70b9\u5012\u662f\u5fd8\u8bb0\u5728\u63d0\u4ea4\u8bf4\u660e\u5199\u4e0a\u4e86\u3002:joy:\uff09\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u7ad9\u52a1\u516c\u544a\uff1a\u5e94\u5e7f\u5927\u6c89\u9ed8\u8bfb\u8005\u7fa4\u4f53\u7684\u9700\u6c42\uff08\u4f60\u4eec\u7684\u6c89\u9ed8\u9707\u8033\u6b32\u804b\uff1bl\xf3ng \u6ca1\u6709\u53cc\u5173\uff09\uff0c\\n \u6211\u4eec\u5df2\u4e3a\u672c\u7ad9\u53d6\u5f97\u4e86\u4e2d\u56fd\u5927\u9646 ICP \u5907\u6848\uff0c\\n \u4ee5\u4fbf\u4e3a\u4e2d\u56fd\u5927\u9646\u5730\u533a\u8bfb\u8005\u63d0\u4f9b\u5176\u5883\u5185\u7684 CDN \u52a0\u901f\uff1a\\n \u60a8\u6253\u5f00\u672c\u7ad9\u5e94\u8be5\u4e0d\u5361\u4e86\u3002\\n \u8be6\u89c1[\u672c\u7ad9\u52a8\u6001](/blog/we-are-now-served-from-cn-mainland/)\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-21","metadata":{"permalink":"/newsletter/this-week-in-loongarch-21","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-23-this-week-in-loongarch-21.md","source":"@site/newsletter/2023-10-23-this-week-in-loongarch-21.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-23T00:00:00.000Z","formattedDate":"2023\u5e7410\u670823\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.84,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-21","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","authors":["xen0n"],"date":"2023-10-23T00:00:00.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 22 \u671f","permalink":"/newsletter/this-week-in-loongarch-22"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","permalink":"/newsletter/this-week-in-loongarch-20"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n10 \u6708 19 \u65e5\uff0cHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/169774057661.20290.11492595041951746156.pr-tracker-bot@kernel.org/T/#m9facb0821a19108af3693a87dc0f603d6d9fa26f)\\nv6.6 \u5f00\u53d1\u5468\u671f\u7684\u7b2c\u4e09\u7ec4 LoongArch \u67b6\u6784\u76f8\u5173\u4fee\u590d\uff0c\\nLinus \u5f88\u5feb\u5c06\u5176\u62c9\u5165\u4e86\u4e3b\u7ebf\u3002\\n\u8fd9\u4e9b\u5185\u5bb9\u5df2\u5728\u7f8e\u897f\u65f6\u95f4\u5468\u65e5\u4e0b\u5348\u7684 v6.6-rc7 tag \u53d1\u5e03\u4e86\u3002\\n\u5185\u5bb9\u6709\uff1a\\n\\n* \u5468\u62a5\u7b2c 19 \u671f\u62a5\u9053\u7684 Icenowy Zheng \u7684 LoongArch \u5199\u5408\u5e76\u95ee\u9898\u89c4\u907f\u65b9\u5f0f[\u4fee\u590d](https://git.kernel.org/torvalds/c/278be83601dd1725d4732241f066d528e160a39d)\uff0c\\n \u5b9e\u6d4b\u89e3\u51b3\u4e86 AMD GPU \u7cfb\u7edf\u7684\u8bb8\u591a\u7eb9\u7406\u635f\u574f\u95ee\u9898\u3002\\n* \u540c\u6837\u5728\u7b2c 19 \u671f\u62a5\u9053\u7684\u4e0a\u6e38\u5f00\u53d1\u8005 Deepak \u53d1\u73b0\u7684\u5b9e\u65f6\u5185\u6838\u76f8\u5173\u91cd\u6784\u9700\u6c42\uff0c\\n \u7531 Huacai Chen [\u5b9e\u73b0](https://git.kernel.org/torvalds/c/477a0ebec101359f49d92796e3b609857d564b52)\u3002\\n* Tiezhu Yang [\u91cd\u6784\u7684](https://git.kernel.org/torvalds/c/00c2ca84c680f64b79b5e10a482ca435fd7d98ce)\u4e00\u4e9b\u6c47\u7f16\u4ee3\u7801\u4e2d\u5bf9\u7b26\u53f7\u6027\u8d28\u7684\u6807\u6ce8\u3002\\n* Huacai Chen [\u5b9e\u73b0\u7684](https://git.kernel.org/torvalds/c/449c2756c2323c9e32b2a2fa9c8b59ce91b5819d)\u7b2c\\n 18 \u671f\u5468\u62a5\u4e2d\u53d1\u73b0\u7684\u6784\u5efa\u9519\u8bef\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 19 \u65e5\uff0cXi Ruoyao \u5b8c\u6210\u4e86\u56fd\u5e86\u4ee5\u6765\u4e00\u76f4\u5728\u505a\u7684\u6307\u4ee4\u8c03\u5ea6\u4e0e linker relaxation\\n\u7684\u5e73\u8861\u53d6\u820d\u5de5\u4f5c\uff0c\u5411\u90ae\u4ef6\u5217\u8868[\u53d1\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633583.html)\u7b2c\u4e00\u7a3f\u3002\\n\uff08\u5bf9\u4e8e\u5148\u524d\u53d1\u73b0\u7684 binutils BFD \u94fe\u63a5\u5668 \u4e0d\u4f1a relax \u4efb\u4f55\u5171\u4eab\u5e93\u7684\u95ee\u9898\uff0cmengqinggang\\n[\u5199\u4e86](https://sourceware.org/pipermail/binutils/2023-October/129941.html)\u4e00\u7248\u4fee\u590d\u3002\uff09\\n\\n#### LLVM\\n\\n10 \u6708 17 \u65e5\uff0cyjijd [\u63d0\u4ea4\u4e86](https://github.com/llvm/llvm-project/pull/69313)\\n:ta: \u548c leecheechen \u5408\u4f5c\u5f00\u53d1\u7684\uff0c\u4e3a Clang \u6dfb\u52a0 LSX/LASX builtins \u652f\u6301\u7684\u8865\u4e01\u3002\\n\u6709\u8fd9\u90e8\u5206\u652f\u6301\u4e4b\u540e Clang \u5c31\u53ef\u4ee5\u7f16\u8bd1\u5411\u91cf\u4f18\u5316\u7684 C \u4ee3\u7801\uff0c\u800c\u4e0d\u7528\u4f9d\u8d56\u624b\u5199\u6c47\u7f16\u4e86\u3002\\n\\n\u540c\u4e00\u5929\uff0cwangleiat [\u6559\u4f1a\u4e86](https://github.com/llvm/llvm-project/pull/69300)\\nLLVM \u5728 LoongArch \u6d6e\u70b9\u6761\u4ef6\u7801\u5bc4\u5b58\u5668\u95f4\u642c\u8fd0\u6570\u636e\u3002\\n\u5728\u6b64\u4e4b\u540e\uff0c\u5bc4\u5b58\u5668\u5206\u914d\u5de5\u5e8f\u5c31\u53ef\u4ee5\u653e\u5f00\u624b\u811a\u968f\u610f\u4f7f\u7528\u8fd9\u90e8\u5206\u5bc4\u5b58\u5668\u4e86\u3002\\n\uff08\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u5728\u4ee3\u7801\u5ba1\u67e5\u8fc7\u7a0b\u4e2d\uff0c\u5076\u7136\u53d1\u73b0\u6b64\u53d8\u66f4\u6e05\u96f6 FCC \u7684\u65b9\u5f0f\u6bd4 GCC \u5148\u524d\u4f7f\u7528\u7684\u65b9\u5f0f\u8981[\u5feb\u8bb8\u591a](https://github.com/llvm/llvm-project/pull/69300#discussion_r1361832152)\u3002\\n\u5f53\u5929 Xi Ruoyao \u4fbf\u5c06\u6b64\u4f18\u5316[\u79fb\u690d\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633317.html) GCC\uff0c\\n\u7b2c\u4e8c\u5929\u5373\u5408\u5e76\u4e86\u3002\uff09\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u8fd1\u65e5\uff0c\u9f99\u82af\u5f00\u53d1\u8005 zhaojunchao \u5411\u5fae\u8f6f\u516c\u53f8\u7ef4\u62a4\u7684\u8de8\u5e73\u53f0\u3001\u9ad8\u6027\u80fd\u673a\u5668\u5b66\u4e60\u63a8\u7406\u3001\u8bad\u7ec3\u52a0\u901f\u65b9\u6848\\nONNX \u8fd0\u884c\u65f6[\u63d0\u4ea4\u4e86](https://github.com/microsoft/onnxruntime/pull/17937)\\nLoongArch \u5411\u91cf\u4f18\u5316\u3002\\n\uff08\u611f\u8c22 mengqinggang \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\uff09\\n\\n\u524d\u4e00\u6bb5\u65f6\u95f4\uff0cDebian \u90ae\u4ef6\u5217\u8868\u7ba1\u7406\u5458[\u5b8c\u6210\u4e86](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023585#87)\\nDebian LoongArch port \u90ae\u4ef6\u5217\u8868\u7684\u521b\u5efa\u64cd\u4f5c\u3002\\n\u540e\u7eed\u53ef\u4ee5\u5728[\u8fd9\u91cc](https://lists.debian.org/debian-loongarch/)\u8ba2\u9605\u3001\u770b\u90ae\u4ef6\u5f52\u6863\u4e86\u3002\\n\uff08\u611f\u8c22 [SnowNF](https://github.com/SnowNF) \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\uff01\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\uff08\u6c9f\u901a\u6e20\u9053\u8be6\u89c1 AOSC \u7f51\u7ad9\u76f8\u5173\u680f\u76ee\uff09\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-20","metadata":{"permalink":"/newsletter/this-week-in-loongarch-20","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-16-this-week-in-loongarch-20.md","source":"@site/newsletter/2023-10-16-this-week-in-loongarch-20.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-16T10:27:58.000Z","formattedDate":"2023\u5e7410\u670816\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.51,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-20","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","authors":["xen0n"],"date":"2023-10-16T10:27:58.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 21 \u671f","permalink":"/newsletter/this-week-in-loongarch-21"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","permalink":"/newsletter/this-week-in-loongarch-19"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u793e\u533a\u4f19\u4f34 jiegec \u5b8c\u6210\u4e86\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\uff08LBT\uff09\\n\u6269\u5c55\u7684\u89e3\u6790\u5de5\u4f5c\uff0c[\u6574\u7406\u4e86\u4e00\u4efd\u53c2\u8003\u6587\u6863](https://github.com/jiegec/la-inst/blob/master/LBT.md)\uff01\\n\u7528\u5230\u7684\u5b9e\u9a8c\u4ee3\u7801\u5c31\u9644\u5728\u6587\u6863\u65c1\u8fb9\u3002\\n\u8fd9\u610f\u5473\u7740 QEMU \u7b49\u76f8\u5173\u9879\u76ee\u4e0d\u4e45\u5c31\u80fd\u7528\u4e0a LBT \u7279\u8272\u6307\u4ee4\uff0c\\n\u4e0d\u7528\u82e6\u54c8\u54c8\u7b49\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e09\u516c\u5e03\u4e86\u3002\\n\\n\u51e0\u5468\u4ee5\u6765\uff0c[\u5b89\u540c\u5f00\u6e90\u793e\u533a][aosc]\uff08AOSC\uff09\\n\u7684\u670b\u53cb\u4eec\u9646\u7eed\u62ff\u5230\u4e86 LoongArch \u786c\u4ef6\uff0c\u505a\u4e86\u8bb8\u591a\u6d4b\u8bd5\u9a8c\u8bc1\u5de5\u4f5c\uff0c\\n\u5341\u5206\u8f9b\u82e6\u3002\\n\u672c\u671f\u7684 AOSC \u793e\u520a[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u5341\u6708\u4e0a\u300b](https://github.com/AOSC-Dev/newsroom/blob/76c6dc1571cba2af74673b51df70f5f3d43ed1a0/coffee-break/20231014/zh_CN.md)\u8bb0\u5f55\u4e86\\n:ta: \u4eec\u7684\u5de5\u4f5c\u6210\u679c\uff0c\u63a8\u8350\u9605\u8bfb\u3002(An English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/76c6dc1571cba2af74673b51df70f5f3d43ed1a0/coffee-break/20231014/en.md).)\\n\\n\u6b64\u5916\uff0c\u300a\u54b1\u9f99\u4e86\u5417\uff1f\u300b\u540e\u7eed\u4e5f\u5c06\u4e0e AOSC \u7b49\u793e\u533a\u670b\u53cb\u4eec\u4e00\u9053\uff0c\\n\u6269\u5145\u9605\u8bfb\u6750\u6599\u3001\u4f18\u5316\u4fe1\u606f\u67b6\u6784\uff0c\u4ee5\u671f\u66f4\u597d\u670d\u52a1\u8bfb\u8005\u7fa4\u4f53\u3002\\n\u656c\u8bf7\u671f\u5f85\uff08\u4e5f[\u671f\u5f85\u60a8\u7684\u53c2\u4e0e](https://github.com/loongson-community/areweloongyet)\uff09\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u5728\u89e3\u6790 LBT \u6269\u5c55\u7684\u8fc7\u7a0b\u4e2d\uff0cjiegec [\u53d1\u73b0\u4e86](https://bugzilla.kernel.org/show_bug.cgi?id=218012)\u4e3b\u7ebf\u5185\u6838\u5bf9\\nLBT x87 \u6d6e\u70b9\u6808\u9876\u6307\u9488\u5bc4\u5b58\u5668 `FTOP` \u7684\u4fdd\u5b58\u6062\u590d\u6709\u8bef\u3002\\n\u7531\u4e8e\u76f4\u5230\u672c\u5468\u4e3a\u6b62 LBT \u90fd\u5904\u4e8e\u7f3a\u4e4f\u6587\u6863\u7684\u72b6\u6001\uff0c\u4e14\u76ee\u524d\u5df2\u77e5\u552f\u4e00\u4f1a\u5229\u7528 LBT \u7684\u5e94\u7528\u7a0b\u5e8f LATX \u5e76\u672a\u53d7\u5176\u5f71\u54cd\uff0c\u8be5\u95ee\u9898\u4e0d\u4f1a\u5f71\u54cd\u65e5\u5e38\u4f7f\u7528\uff0c\u4f46\u9884\u8ba1\u4e5f\u4f1a\u5728\u6708\u4e2d\u5f97\u5230\u6392\u67e5\u3001\u4fee\u590d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 16 \u65e5\uff0cJiahao Xu [\u8d34\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/633086.html)\u4e24\u7ec4\u5411\u91cf\u64cd\u4f5c\u7684\u9f99\u67b6\u6784\u652f\u6301\uff0c\\n\u4ee5\u53ca\u4e00\u7248\u65b0\u7684\u5411\u91cf\u5316\u6210\u672c\u6a21\u578b\u3002\\n\u8fd9\u4f4d\u540c\u5b66\u5728\u4e0a\u6e38\u4f3c\u4e4e\u662f\u65b0\u9762\u5b54\uff0c\u6b22\u8fce\uff01\\n\\n10 \u6708 12 \u65e5\uff0cLulu Cheng [\u4fee\u6539\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632748.html)\\ngcc \u5bf9\u9f50\u6c47\u7f16\u6307\u4ee4\u7684\u65b9\u5f0f\u3002\\n\u8be5\u53d8\u66f4\u9700\u8981\u914d\u5408 binutils \u7684[\u6b64\u63d0\u4ea4](https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c)\u624d\u80fd\u5de5\u4f5c\u3002\\n\\n10 \u6708 11 \u65e5\uff0cChenghui Pan [\u4fee\u590d\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632607.html)\u4e00\u4f8b\u5411\u91cf\u5316\u9020\u6210\u7684\u5d29\u6e83\\n\uff08\u5b66\u540d ICE\uff1a\u5185\u90e8\u7f16\u8bd1\u5668\u9519\u8bef\uff09\u3002\\n\\n#### LLVM\\n\\n10 \u6708 12 \u65e5\uff0c\u793e\u533a\u7684 Xinmudotmoe \u540c\u5b66\u5728\u6298\u817e LoongArch \u4e0a ROCm \u7684\u8fc7\u7a0b\u4e2d\uff0c\\n\u7ed9 LoongArch LLVM [\u6dfb\u52a0\u4e86](https://github.com/llvm/llvm-project/pull/68851)\\n16 \u4f4d\uff08\u534a\u7cbe\u5ea6\uff09\u53ca 128 \u4f4d\uff08\u56db\u7cbe\u5ea6\uff09\u6d6e\u70b9\u64cd\u4f5c\u7684\u6a21\u62df\u652f\u6301\u3002\\n\u6309\u7167\u516c\u5f00\u4fe1\u606f\uff0c\u9f99\u67b6\u6784\u6ca1\u6709 16 \u4f4d\u6216 128 \u4f4d\u6d6e\u70b9\u64cd\u4f5c\u7684\u539f\u751f\u652f\u6301\uff1b\\n\u4e3a\u4e86\u80fd\u8dd1\u66f4\u591a\u7a0b\u5e8f\uff0c\u5373\u4fbf\u6a21\u62df\u64cd\u4f5c\u6027\u80fd\u80af\u5b9a\u4e0d\u5982\u771f\u5b9e\u786c\u4ef6\u652f\u6301\uff0c\u5bf9\u751f\u6001\u6574\u4f53\u800c\u8a00\u4e5f\u503c\u4e86\u3002\\n\\n:::info \u7b14\u8005\u731c\u6d4b\\n\u5927\u6982\u7387 LoongArch \u66fe\u7ecf\u81f3\u5c11\u652f\u6301\u8fc7\u8fd9\u4e24\u79cd\u6d6e\u70b9\u683c\u5f0f\u4e4b\u4e00\uff0c\u4f46\u5728\u516c\u5f00\u524d\u88ab\u6252\u6389\u4e86\u3002\\n\\n\u53ef\u4ee5\u4ece\u6d6e\u70b9\u6307\u4ee4\u7684\u7f16\u7801\u4e0a\u770b\u51fa\u7aef\u502a\uff1a\u8868\u793a\u6d6e\u70b9\u683c\u5f0f\u7684\u90a3\u90e8\u5206\u64cd\u4f5c\u7801\uff0c\\n\u5355\u7cbe\u5ea6\u662f `01` \u53cc\u7cbe\u5ea6\u662f `10`\uff0c\u56e0\u6b64\u8fd9\u4e2a\u4f4d\u57df\u80af\u5b9a\u5bbd 2 \u4f4d\uff1b\\n\u4f46\u76f8\u5e94\u4f4d\u53d6 `00` \u6216 `11` \u7684\u6307\u4ee4\u5c3d\u4ed8\u9619\u5982\u3002\\n\u5982\u679c\u9700\u6c42\u4e0a\u53ea\u8981\u652f\u6301 2 \u79cd\u683c\u5f0f\u5373\u53ef\uff08\u5373\u6700\u5e38\u89c1\u7684\u5355\u7cbe\u5ea6\u3001\u53cc\u7cbe\u5ea6\u6d6e\u70b9\uff09\uff0c\u591a\u7684\u683c\u5f0f\u4ee5\u540e\u4e5f\u4e0d\u8981\uff0c\\n\u90a3\u4e48\u8868\u793a\u8fd9\u4e2a\u4fe1\u606f\u53ea\u8981 1 \u4f4d\u5c31\u591f\u4e86\u3002\\n\\n\u56e0\u6b64\u5728\u300c\u62c9\u6e05\u5355\u300d\u51b3\u5b9a\u6307\u4ee4\u96c6\u5927\u65b9\u5411\u7684\u9636\u6bb5\uff0c\u8bbe\u8ba1\u5e08\u5fc5\u7136\u8003\u8651\u4e86\u5176\u4ed6\u6d6e\u70b9\u683c\u5f0f\u4e14\u4e3a\u5176\u9884\u7559\u4e86\u7f16\u7801\u7a7a\u95f4\uff0c\\n\u800c\u662f\u51fa\u4e8e\u5176\u4ed6\u539f\u56e0\u624d\u672a\u5c06\u5176\u5305\u542b\u8fdb LoongArch v1.00\u3002\\n\u8fd9\u539f\u56e0\u53ef\u80fd\u662f FP16\u3001FP128 \u76ee\u524d\u5f88\u5c11\u7528\u5230\uff0c\u4e14\u673a\u5668\u5b66\u4e60\u573a\u666f\u5f80\u5f80\u90fd\u7528 FP16\\n\u7684\u53d8\u4f53 BF16\uff0c\u56e0\u6b64\u5982\u679c\u7b2c\u4e00\u65f6\u95f4\u5ba3\u79f0\u652f\u6301\uff0c\u5c06\u9650\u5236\u540e\u7eed\u7684\u8fed\u4ee3\u7a7a\u95f4\uff1b\\n\u5982\u679c\u52a0\u5165\u4e86\u652f\u6301\u5374\u51e0\u5e74\u90fd\u635e\u4e0d\u7740\u7528\uff0c\u66f4\u662f\u5f97\u4e0d\u507f\u5931\u3002\\n\u76f8\u53cd\uff0c\u76ee\u524d\u662f\u5c06\u4e24\u79cd\u683c\u5f0f\u7f16\u7801\u6682\u65f6\u4fdd\u7559\uff1a\u5982\u679c\u6709\u671d\u4e00\u65e5\u9700\u8981\u91cd\u65b0\u52a0\u5165\u5b83\u4eec\uff08\u6216\u8005\u522b\u7684\u683c\u5f0f\uff09\uff0c\u6307\u4ee4\u7f16\u7801\u4fbf\u80fd\u7ef4\u6301\u300c\u597d\u770b\u300d\u3002\\n\u300c\u597d\u770b\u300d\u4e0d\u5149\u662f\u770b\u8d77\u6765\u8212\u670d\uff0c\u8bd1\u7801\u5668\u7684\u5b9e\u73b0\u4e5f\u80fd\u7b80\u5355\u70b9\uff1b\\n\u8fd9\u65b9\u9762\u505a\u4e2a\u300c\u989c\u63a7\u300d\u5927\u6982\u6ca1\u6bdb\u75c5\uff01\\n:::\\n\\n\u540c\u4e00\u5929\uff0cheiher \u5e2e\u7b14\u8005\u628a\u5148\u524d\u505a\u4e86\u4e00\u5927\u534a\u5374\u6ca1\u7cbe\u529b\u8ddf\u8fdb\u7684 3A6000 `DBAR`\\n\u4f18\u5316\u8865\u4e01\u5b8c\u5584\u4e86\uff0c[\u5408\u5e76\u8fdb\u4e86](https://github.com/llvm/llvm-project/pull/68787)\u4e3b\u7ebf\u3002\\n\\n10 \u6708 11 \u65e5\uff0cheiher [\u4f18\u5316\u4e86](https://github.com/llvm/llvm-project/pull/67391)\u539f\u5b50\u64cd\u4f5c\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\u5177\u4f53\u6765\u8bf4\u662f\u53bb\u6389\u4e86 `LL` \u4e4b\u524d\u4ee5\u53ca `LL/SC` \u4e4b\u95f4\u4e0d\u5fc5\u8981\u7684\u5185\u5b58\u6805\u969c\uff0c\\n\u8fd8\u4fee\u590d\u4e86 acquire \u8bed\u4e49\u3002\\n\\n### \u53d1\u884c\u7248\\n\\nDebian \u4e0a\u6e38\u5de5\u4f5c\u4e5f\u6709\u6240\u8fdb\u5c55\uff1a`binutils` \u5305\u7684\u6539\u52a8[\u83b7\u5408\u5e76](https://tracker.debian.org/news/1470074/accepted-binutils-2415020231010-1-source-amd64-all-into-experimental/)\uff0c`glibc`\\n\u5305\u7684[\u6539\u52a8](https://salsa.debian.org/glibc-team/glibc/-/commit/859b3e39e09a57f0735f04514d2b574f80c3926c)\u4e5f[\u5f85\u4e0a\u4f20](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1053717)\u3002\\n\u8fd9\u610f\u5473\u7740\u9700\u8981 LoongArch \u65b9\u9762\u5355\u72ec\u7ef4\u62a4\u3001\u624b\u5de5\u5904\u7406\u7684\u5305\u8fdb\u4e00\u6b65\u51cf\u5c11\u4e86\u3002\\n\uff08\u611f\u8c22 Revy \u6295\u9012\u65b0\u95fb\u7ebf\u7d22\u3002\uff09\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\\n10 \u6708 10 \u65e5\uff0c\u793e\u533a\u540c\u5b66 Robin Lee \u505a\u7684 FreeDesktop SDK \u9f99\u67b6\u6784\u521d\u6b65\u9002\u914d[\u83b7\u5408\u5e76](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/12203)\u3002\\nFreeDesktop SDK \u662f Flatpak \u6253\u5305\u65b9\u6848\u7684\u57fa\u7840\u8fd0\u884c\u65f6\u3002\\n\\nAOSC \u793e\u533a\u7684 LoongArch \u540c\u597d Tianhao Chai \u8fd1\u65e5\u7ed9 Mellanox \u7f51\u5361[^\u6ce8\u4e00]\u7684\u56fa\u4ef6\u5de5\u5177 `mstflint`\\n[\u63d0\u4ea4\u4e86](https://github.com/Mellanox/mstflint/pull/836) LoongArch \u9002\u914d\u3002\\n\u8fd9\u4e9b\u786c\u4ef6\u76ee\u524d\u770b\u6765\u5728 LoongArch \u7cfb\u7edf\u4e0a\u90fd\u80fd\u826f\u597d\u5de5\u4f5c\u3002\\n\\n[^\u6ce8\u4e00]: Mellanox\u8fc8\u7edc\u601d\uff0c\u662f InfiniBand \u7f51\u5361\u7684\u4e3b\u8981\u4f9b\u5e94\u5546\u4e4b\u4e00\uff0c\\n\u51e0\u5e74\u524d\u5df2\u4e3a NVIDIA\u82f1\u4f1f\u8fbe\u6240\u6536\u8d2d\u3002\\n\u5728\u5bb6\u5ead\u9ad8\u6027\u80fd\u8ba1\u7b97\u3001NAS \u7b49\u9886\u57df\uff0c\u6709\u4e0d\u5c11\u7528\u6237\u9009\u62e9\u8d2d\u4e70\u4e8c\u624b Mellanox \u786c\u4ef6\u3002\\n\\nSlackware \u4e2d\u6587\u793e\u533a\u540c\u5b66\u3001Slackware \u9f99\u67b6\u6784\u79fb\u690d\u7ef4\u62a4\u8005 Shi Pujin \u63d0\u9192\uff1aSlackware\\n\u4e2d\u6587\u793e\u533a\u7684\u5b98\u7f51\u5730\u5740[\u53d8\u66f4\u4e86](http://www.slackwarecn.cn)\uff0c\u89c1\u94fe\u63a5\u76ee\u6807\u3002\\n\uff08\u4ece\u6258\u7ba1\u57df\u540d\u53d8\u4e3a\u72ec\u7acb\u57df\u540d\u4e86\uff0c\u4f46\u4ecd\u7136\u6258\u7ba1\u5728 GitHub Pages\u3002\uff09\\n\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09][aosc]\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[aosc]: https://aosc.io\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-19","metadata":{"permalink":"/newsletter/this-week-in-loongarch-19","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-09-this-week-in-loongarch-19.md","source":"@site/newsletter/2023-10-09-this-week-in-loongarch-19.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-09T09:58:10.000Z","formattedDate":"2023\u5e7410\u67089\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.015,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-19","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","authors":["xen0n"],"date":"2023-10-09T09:58:10.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 20 \u671f","permalink":"/newsletter/this-week-in-loongarch-20"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","permalink":"/newsletter/this-week-in-loongarch-18"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n10 \u6708 8 \u65e5\uff0cAOSC \u5f00\u53d1\u8005 Icenowy Zheng \u5728\u6392\u67e5 AMD \u663e\u5361\u7a33\u5b9a\u6027\u95ee\u9898\u8fc7\u7a0b\u4e2d\uff0c\\n\u53d1\u73b0\u4ee5\u524d\u4e3a\u70b9\u4eae RDNA2 \u800c\u5bf9 3A+7A \u7cfb\u7edf\u7684\u5199\u5408\u5e76\u95ee\u9898\u89c4\u907f\u4e0d\u5b8c\u5168\uff0c\\n\u6545\u4eb2\u81ea[\u5b8c\u5584\u4e86](https://lore.kernel.org/loongarch/20231009042841.635366-1-uwu@icenowy.me/)\u8fd9\u90e8\u5206\u903b\u8f91\u3002\\n\u5b9e\u6d4b\u6253\u4e0a\u6b64\u8865\u4e01\u540e\uff0c\u76f8\u5173\u7684\u7eb9\u7406\u635f\u574f\u95ee\u9898\uff08\u90e8\u5206\u82b1\u5c4f\uff0c\u620f\u79f0\u300c\u5b57\u8282\u8df3\u52a8\u300d\uff09\u4ee5\u53ca AMD Oland \u5fae\u67b6\u6784 GPU\\n\u5728 `amdgpu` \u5185\u6838\u6a21\u5757\u9a71\u52a8\u4e0b\u7684 ring timeout \u95ee\u9898\u90fd\u89e3\u51b3\u4e86\uff0c\u7a33\u5b9a\u6027\u4e5f\u6709\u90e8\u5206\u6539\u5584\u3002\\n\u8ba9\u6211\u4eec\u6b22\u8fce :ta: \u7684\u9996\u4e2a LoongArch \u5185\u6838\u8865\u4e01\uff01\\n\\n\u540c\u4e00\u5929\uff0cBibo Mao \u628a\u4ed6\u7684 vDSO & \u6808\u5185\u5b58\u5e03\u5c40\u4f18\u5316\u8865\u4e01[\u8fed\u4ee3\u5230\u4e86](https://lore.kernel.org/loongarch/20231008012036.1415883-1-maobibo@loongson.cn/)\u7b2c 3 \u7248\u3002\\n\u4ed6\u5b66 x86 \u8ba9 vDSO \u548c\u6808\u5171\u4eab\u540c\u4e00\u6761 PMD\uff0c\u800c\u5f97\u4ee5\u4ece\u6bcf\u4e2a\u7ebf\u7a0b\u7701\u51fa\u4e00\u9875\uff1b\u8fd8\u505a\u4e86\u5176\u4ed6\u5c0f\u4f18\u5316\u3002\\n\\n10 \u6708 7 \u65e5\uff0cTianrui Zhao [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/9f7931dd-3c0e-4bc2-988e-1fb3549e440e@infradead.org/T/#t)\u4e0a\u671f\u63d0\u5230\u7684\\nKVM \u4ee3\u7801\u5728\u7279\u5b9a\u5185\u6838\u914d\u7f6e\u4e0b\u7f16\u8bd1\u5931\u8d25\u7684\u95ee\u9898\uff0cRandy \u6d4b\u4e86\u80fd\u7528\u3002\\n\\n10 \u6708 6 \u65e5\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Deepak R Varma \u5728\u505a\u5b9e\u65f6\u5185\u6838\u6539\u9020\uff0c[\u6765\u95ee](https://lore.kernel.org/loongarch/ZSFWa44FTi48hDyE@runicha.com/T/#t)\u4e00\u4e2a\u51fd\u6570\u6709\u6ca1\u6709\u5728\u7528\uff0c\\n\u91cc\u5934\u7684\u5185\u5b58\u6620\u5c04\u64cd\u4f5c\u80fd\u4e0d\u80fd\u6362\u6210\u65b0\u52a0\u7684\u3001\u5bf9\u5b9e\u65f6\u8c03\u5ea6\u66f4\u53cb\u597d\u7684\u79cd\u7c7b\uff1b\\n\u88ab\u95ee\u5230\u7684\u51fd\u6570 `copy_user_highpage` \u53ea\u5bf9 32 \u4f4d\u5185\u6838\u6709\u7528\uff0c\\n\u56e0\u6b64\u5982\u679c\u6ca1\u6253\u7b97\u652f\u6301\u7eaf 32 \u4f4d\u7cfb\u7edf\u90a3\u4e48\u5176\u5b9e\u6700\u597d\u628a\u5b83\u5220\u6389\u3002Huacai Chen \u56de\u590d\u8bf4\u300c\u8fd1\u671f\u300d\u5c31\u4f1a\u52a0\u5165 LA32 \u652f\u6301\uff0c\\n\u7136\u540e\u987a\u624b\u628a Deepak \u7684\u5efa\u8bae\u5199\u6210\u8865\u4e01[\u8d34\u51fa\u6765\u4e86](https://lore.kernel.org/loongarch/20231007095229.235551-1-chenhuacai@loongson.cn/)\u3002Deepak \u5bf9\u6b64\u8868\u793a\u611f\u8c22\uff0c\\n\u5e76\u4e14 :ta: \u4ecd\u7136\u6253\u7b97\u51c6\u5907\u4e00\u4e2a LoongArch \u7f16\u8bd1\u73af\u5883\u6765\u5e2e\u5fd9\u6d4b\u8bd5\u3002\\n\u6211\u4eec\u4e5f\u611f\u8c22 :ta: \u7684\u5e2e\u5fd9\uff01\\n\\n10 \u6708 5 \u65e5\uff0cHuacai Chen \u5411 KVM \u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005[\u53d1\u9001\u4e86](https://lore.kernel.org/kvm/20231005091825.3207300-1-chenhuacai@loongson.cn/)\u589e\u52a0\u9f99\u67b6\u6784 KVM \u652f\u6301\u7684 PR\u62c9\u53d6\u8bf7\u6c42\u3002\\n\u8ddd\u79bb\u4e3b\u7ebf\u4e00\u6b65\u4e4b\u9065\uff01\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n10 \u6708 4 \u65e5\uff0c\u6765\u81ea\u5fb7\u56fd [Ostwestfalen-Lippe](https://en.wikipedia.org/wiki/Ostwestfalen-Lippe)\\nLinux \u7528\u6237\u7ec4\u7684\u793e\u533a\u540c\u5b66 Jan-Benedict Glaw\\n[\u62a5\u544a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631933.html)\u9f99\u67b6\u6784\\ngcc \u6784\u5efa\u9519\u8bef\u7684\u95ee\u9898\u3002\\n\u7ecf\u8fc7\u4e00\u4e9b\u8ba8\u8bba\u7814\u7a76\uff0c10 \u6708 7 \u65e5 Yang Yujie\\n[\u8d34\u51fa\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632210.html)\u4e00\u79cd\u4fee\u590d\u65b9\u6cd5\uff0c[\u770b\u4e0a\u53bb\u884c](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/632256.html)\u3002\\n\\n10 \u6708 3 \u65e5 Xi Ruoyao \u8ddf\u8fdb\u4e86\u4e00\u9879\u4e0a\u6e38\u91cd\u6784\uff1a\\n\u5c06\u7b26\u53f7\u62f7\u8d1d\u64cd\u4f5c\u7684\u8868\u793a\u65b9\u5f0f\u4ece\u539f\u5148\u7684\u81ea\u5b9a\u4e49 RTL\u5bc4\u5b58\u5668\u4f20\u8f93\u8bed\u8a00 \u6307\u4ee4[\u6539\u4e3a\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631822.html)\u65b0\u589e\u7684\u901a\u7528\u5199\u6cd5\u3002\\n\\n#### binutils\\n\\n10 \u6708 5 \u65e5\uff0cXi Ruoyao \u5728\u6298\u817e\u8fc7\u7a0b\u4e2d\uff08\u8be6\u89c1\u4e0a\u671f\uff09\u53d1\u73b0 binutils \u5f53\u524d\u7684\u9f99\u67b6\u6784\\nlinker relaxation \u5de5\u5e8f\u4e0d\u4f1a relax \u4efb\u4f55\u5171\u4eab\u5e93\u7684\u4ee3\u7801\u3002\\n\u73b0\u4ee3 Linux \u53d1\u884c\u7248\u4e2d\uff0c\u5927\u591a\u6570\u88ab\u6267\u884c\u5230\u7684\u4ee3\u7801\u90fd\u4f4d\u4e8e\u5171\u4eab\u5e93\uff0c\u56e0\u6b64\u76ee\u524d\u7684\u884c\u4e3a\u80af\u5b9a\u8ba9\\nlinker relaxation \u7684\u4f5c\u7528\u6253\u4e0a\u4e86\u76f8\u5f53\u5927\u7684\u95ee\u53f7\uff1b\\n\\n\u975e\u4f46\u5982\u6b64\uff0c\u5f53\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\u8fd8\u6709\u6b63\u786e\u6027\u95ee\u9898\uff1a\u5982 Icenowy Zheng \u5728\u540c\u4e00\u5929\u6298\u817e libglvnd\\n\u65f6[\u6240\u53d1\u73b0\u7684](https://sourceware.org/bugzilla/show_bug.cgi?id=30944)\uff0c\\n\u76ee\u524d LoongArch \u6c47\u7f16\u4e2d\u7684\u5bf9\u9f50\u6307\u793a\u5df2\u7ecf\u6539\u4e3a\u501f\u7528 relaxation \u57fa\u7840\u8bbe\u65bd\u7684\u65b9\u5f0f\u5b9e\u73b0\u4e86\\n\uff08\u4ee5 `R_LARCH_ALIGN` \u7684\u5f62\u5f0f\u5411 relaxation \u5de5\u5e8f\u4f20\u9012\u4fe1\u606f\uff09\uff1b\\n\u800c\u5982\u679c\u4e0d relax\uff08\u4f8b\u5982\uff0c\u56e0\u4e3a\u662f\u5171\u4eab\u5e93\uff09\u5219\u8fd9\u4e9b\u4e0d\u7ba1 re- \u4e0d relax\\n\u90fd\u5e94\u8be5\u9075\u5b88\u7684\u5bf9\u9f50\u6307\u793a\u5c31\u4f1a\u88ab\u9519\u8bef\u65e0\u89c6\uff0c\u4f7f\u5f97\u751f\u6210\u4ee3\u7801\u7684\u5e03\u5c40\u9519\u8bef\uff0c\\n\u6700\u7ec8\u5bfc\u81f4\u8fd0\u884c\u65f6\u5d29\u6e83\u4e4b\u7c7b\u96be\u4ee5\u6392\u67e5\u7684\u4e0d\u597d\u7ed3\u679c\u3002\\n\u7b97\u4e0a\u4e00\u4e24\u4e2a\u6708\u524d\u540c\u6837\u88ab\u5751\u5230\u4f46\u5341\u5206\u62b1\u6b49\u672a\u80fd\u53ca\u65f6\u4e00\u53e5\u8bdd\u62a5\u51fa bug \u7684\u7b14\u8005\uff0c\\n\u81f3\u5c11\u5df2\u7ecf\u6709 3 \u4eba\u5171\u8ba1\u51e0\u4e2a\u751a\u81f3\u5341\u51e0\u5c0f\u65f6\u7684\u5b9d\u8d35\u4e1a\u4f59\u65f6\u95f4\u4ea4\u5f85\u5728\u8fd9\u4e86\u3002\\n\\n\u7531\u4e8e\u62a5\u544a\u95ee\u9898\u65f6\u6b63\u503c\u5047\u671f\uff0c\u76ee\u524d\u6682\u672a\u6709\u53cd\u9988\uff0c\u4f46\u6211\u4eec\u9884\u671f\u9f99\u82af\u5de5\u5177\u94fe\u7684\u540c\u5b66\u5c06\u5f88\u5feb\u5f97\u77e5\u5e76\u7740\u624b\u914d\u5408\u4fee\u590d\u6b64\u4e8b\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u5468\u62a5\u7b2c 17 \u671f\u62a5\u9053\u8fc7\u7684 D \u8bed\u8a00\u8fd0\u884c\u65f6\u9002\u914d\u5de5\u4f5c\u5df2\u7ecf\u5728 10 \u6708 5 \u65e5[\u5408\u5e76\u4e86](https://github.com/dlang/dmd/pull/15628)\u3002\\n\u606d\u559c :tada:\uff01\\n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n10 \u6708 4 \u65e5\uff0cjiegec [\u53c8\u53d1\u73b0\u4e86](https://github.com/loongson-community/loongarch-opcodes/issues/1#issuecomment-1746975991) 21 \u6761\u672a\u89c1\u4e8e\u9f99\u67b6\u6784\u624b\u518c\u7684\u795e\u5947\u6307\u4ee4\uff01\\n\u5176\u4e2d\u6709\u4e00\u4e9b\u7591\u4f3c\u662f\u6267\u884c\u66f4\u5feb\u4f46\u7cbe\u5ea6\u66f4\u4f4e\u7684\u6d6e\u70b9\u6c42\u5012\u6570\u64cd\u4f5c\uff0c\u5982\u679c\u505a\u66f4\u591a\u5b9e\u9a8c\u6bd4\u5bf9\u76f8\u5e94\u6709\u6587\u6863\u8bb0\u8f7d\u6307\u4ee4\u7684\u8f93\u51fa\uff0c\u5219\u6709\u671b\u77e5\u6653\u66f4\u591a\u7ec6\u8282\u3002\\n\\n\u6574\u4e2a\u56fd\u5e86\u5047\u671f\uff0cAOSC \u793e\u533a\u90fd\u5728\u6298\u817e AMD \u663e\u5361\u5728\u9f99\u67b6\u6784\u673a\u5668\u4e0a\u7684\u7a33\u5b9a\u6027\u95ee\u9898\uff0c\\n\u9f99\u82af\u5de5\u7a0b\u5e08\u4eec\u4e5f\u79ef\u6781\u914d\u5408\uff0c\u300c\u4e3a\u4eba\u6c11\u505a\u9f99\u82af\u300d\u3002\\n\u4e2d\u56fd\u7684\u540c\u5b66\u8fc7\u7740\u7f8e\u897f\u65f6\u533a\uff0c\u7f8e\u897f\u7684\u540c\u5b66\u8fc7\u7740\u4e2d\u56fd\u65f6\u533a\uff1b\\n\u5728\u5982\u6b64\u7684\u793e\u533a\u534f\u4f5c\u4e0b\uff0c\u76f8\u4fe1\u6b64\u95ee\u9898\u7ec8\u5c06\u5f97\u5230\u89e3\u51b3\uff08\u6216\u51dd\u56fa\u4e3a [Errata \u6587\u6863](/docs/errata)\u7684\u9996\u6279\u8bb0\u8f7d\u4e4b\u4e00 :smiling_imp:\uff09\uff01\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-18","metadata":{"permalink":"/newsletter/this-week-in-loongarch-18","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-10-02-this-week-in-loongarch-18.md","source":"@site/newsletter/2023-10-02-this-week-in-loongarch-18.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-10-02T10:40:39.000Z","formattedDate":"2023\u5e7410\u67082\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.505,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-18","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","authors":["xen0n"],"date":"2023-10-02T10:40:39.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 19 \u671f","permalink":"/newsletter/this-week-in-loongarch-19"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","permalink":"/newsletter/this-week-in-loongarch-17"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLinux v6.6-rc4 \u5df2\u7ecf[\u6b63\u5f0f tagged](https://lore.kernel.org/lkml/CAHk-=wia2-4DRvD-aXz70AV64yrt+Vr50MxHiDunZ71dHATv-Q@mail.gmail.com/)\uff0c\\n\u5305\u542b\u4e86\u4e24\u5904\u9f99\u67b6\u6784\u4fee\u590d\uff0c\u8bf7\u5404\u4e0b\u6e38\u53d1\u884c\u7248\u7684\u6253\u5305\u540c\u5b66\u4eec\u6ce8\u610f\u5e76\u5c3d\u91cf backport\uff1a\\n\\n* \u4fee\u590d\u6a21\u5757\u52a0\u8f7d\u5668\u4e0d\u8ba4\u8bc6 binutils 2.41 \u6c47\u7f16\u51fa\u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u7684\u95ee\u9898\uff08Tiezhu Yang\uff09\uff0c\\n* \u4fee\u590d NUMA \u7cfb\u7edf\u4e0a\u7269\u7406\u5185\u5b58\u5929\u82b1\u677f\u7684\u8ba1\u7b97\u95ee\u9898\uff08Huacai Chen\uff09\u3002\\n\\n\u6b64\u5916\uff0c\u9f99\u67b6\u6784 KVM \u652f\u6301\u76ee\u524d\u5df2\u8fdb\u5165 linux-next\uff0c\\n\u53ef\u642d\u914d\u6682\u672a\u5b8c\u5168\u4e0a\u6e38\u7684[\u9f99\u82af QEMU \u5206\u652f](https://github.com/loongson/qemu/tree/kvm-loongarch)\\n\u4f9b\u540c\u5b66\u4eec\u8bd5\u7528\u4e86\u3002\\n\uff08\u76ee\u524d\u5df2\u7ecf\u5728\u4e0a\u6e38\u7684\u968f\u673a\u81ea\u52a8\u5316\u6d4b\u8bd5\u4e2d[\u88ab\u53d1\u73b0\u4e86](https://lore.kernel.org/loongarch/d5ba4268-eef0-46be-8314-fccad55f41e2@infradead.org/)\u4e00\u5904\u7f16\u7801\u4e0d\u5468\uff0c\\n\u4e0d\u8fc7\u9884\u8ba1\u5047\u671f\u7ed3\u675f\u4e4b\u540e\u5c31\u4f1a\u4fee\u6389\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u6301\u7eed\u6709\u4e00\u6bb5\u65f6\u95f4\u7684 [PR110939](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110939)\\n\u4e0a\u5468\u7ec8\u4e8e\u5f97\u5230\u4e86\u89e3\u51b3\u3002\\n\u9f99\u67b6\u6784\u7684\u81ea\u4e3e\uff0c\u4ee5\u53ca ARM\u3001RISC-V \u4e0a\u7684\u76f8\u5173\u6d4b\u8bd5\u5931\u8d25\u90fd\u4fee\u590d\u4e86\u3002\\n\\nxry111 [\u5728\u52aa\u529b](https://github.com/xry111/gcc/commits/xry111/explicit-relocs-auto)\u4ece\u9ed8\u8ba4\u5f00\u542f\\nlinker relaxation \u6240\u5bfc\u81f4\u7684\u6307\u4ee4\u8c03\u5ea6\u673a\u4f1a\u51cf\u5c11\u4e2d\uff0c\u62a0\u56de\u4e00\u4e9b\u6027\u80fd\uff1a\\n\u5728\u4e00\u4e9b\u300c\u660e\u6446\u7740\u4e0d\u80fd\u4f9d\u9760\u94fe\u63a5\u5668 relax \u7684\u60c5\u51b5\u4e0b\u300d\uff08\u672c\u4eba\u8bed\uff09\uff0c\u4ecd\u7136\u5982\u5148\u524d\u4e00\u6837\u751f\u6210\\nexplicit relocs\u3002\\n\u4ed6\u51c6\u5907\u5728\u5047\u671f\u7ed3\u675f\u4e4b\u540e\u5c06\u6b64\u5de5\u4f5c\u53d1\u5411\u90ae\u4ef6\u5217\u8868\uff08\u5426\u5219\u53d1\u4e86\u4e5f\u6ca1\u4eba\u770b\uff09\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n#### LLVM\\n\\nLLVM \u7684\u534f\u4f5c\u6d41\u7a0b\u5df2\u5168\u9762\u8f6c\u5411 GitHub PR\uff0cPhabricator \u4e0d\u65e5\u5c06\u8f6c\u4e3a\u53ea\u8bfb\u6a21\u5f0f\uff0c\u8bf7\u5f00\u53d1\u8005\u4eec\u6ce8\u610f\u3002\\n\u8be6\u60c5\u8bf7\u89c1[\u8fc1\u79fb\u65f6\u95f4\u8868](https://discourse.llvm.org/t/update-on-github-pull-requests/71540)\u3002\\n\\nAmi-zhang \u7ed9 LLVM \u4e2d\u7aef\u7684 `Transforms/IPO/LowerTypeTests` \u5de5\u5e8fpass[\u9002\u914d\u4e86](https://github.com/llvm/llvm-project/pull/67312)\u9f99\u67b6\u6784\u3002\\n\\n\u5468\u62a5\u7b2c 14 \u671f\u62a5\u9053\u8fc7\u7684 hev \u7684[\u539f\u5b50\u64cd\u4f5c\u4f18\u5316](https://reviews.llvm.org/D159252)\u4e0a\u5468\u4e5f\u8fdb\u5165\u4e86\u4e3b\u7ebf\u3002\\n\\n#### Rust\\n\\n\u53d1\u7a3f\u51e0\u5c0f\u65f6\u524d\uff0cRust \u751f\u6001\u4e2d\u6700\u91cd\u8981\u5bc6\u7801\u5b66\u57fa\u7840\u5e93\u4e4b\u4e00 `ring`\\n[\u5408\u5e76\u4e86](https://github.com/briansmith/ring/pull/1632)\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u65f6\u9694\u4e24\u5e74\u4e4b\u4e45\uff0c`ring 0.17.0` \u7ec8\u4e8e\u6b63\u5f0f\u53d1\u5e03\uff0c\u53ef\u4ee5\u671f\u5f85\u672a\u6765\u7684\u6570\u6708\u95f4\u66f4\u591a Rust\\n\u9879\u76ee\u80fd\u591f\u968f\u7740\u4f9d\u8d56\u7248\u672c\u5347\u7ea7\uff0c\u800c\u83b7\u5f97\u9f99\u67b6\u6784\u652f\u6301\u4e86\u3002\\n\\n9 \u6708 30 \u65e5 hev \u5c06\u9f99\u67b6\u6784\u88f8\u673a\u7684\u6784\u5efa\u76ee\u6807[\u63d0\u5347\u5230\u4e86](https://github.com/rust-lang/rust/pull/115368)\\nTier 2\u3002\\n\u4e0d\u5de7\u7684\u662f\uff0c\u8fd9\u4e2a\u63d0\u4ea4\u7684\u5408\u5e76\u4f3c\u4e4e\u6070\u597d\u9519\u8fc7\u4e86 Rust 1.74.0 \u7684\u73ed\u8f66\uff1a\\n\u76ee\u524d\u770b\u56e0\u4e3a\u5c31\u51e0\u884c\u4ee3\u7801\u548c CI \u6539\u52a8\uff0c\u585e\u8fdb\u53bb\u4e5f\u4e0d\u662f\u4e0d\u53ef\u4ee5\uff0c\u4e0d\u8fc7\u4e0d\u6025\u7684\u8bdd\u4f30\u8ba1\u7b49\u7b49\u66f4\u597d\u3002\\n\u9f99\u67b6\u6784\u7684\u76ee\u524d\u7528\u6237\u7fa4\u4f53\u91cc\uff0c\u5e94\u8be5\u6781\u5c11\u6709\u65e2\u8ddf\u8e2a\u4e0a\u6e38\u793e\u533a\u7248\u672c\uff0c\u53c8\u505a\u88f8\u673a\u5f00\u53d1\u7684\uff0c\u56e0\u6b64\u7b14\u8005\u8ba4\u4e3a\u95ee\u9898\u4e0d\u5927\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n\u540c\u4e00\u5929\uff0cxry111 \u7ed9 Rust \u8bfb\u5199\u76ee\u6807\u4ee3\u7801\u6587\u4ef6\u683c\u5f0f\u7684\u8457\u540d\u57fa\u7840\u5e93 `object`\\n[\u6dfb\u52a0\u4e86](https://github.com/gimli-rs/object/pull/578) LoongArch ELF psABI\\n20230519 \u7248\u672c\u65b0\u589e\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n## \u9650\u65f6\u8fd4\u573a\u4e13\u680f\uff1aQEMU\\n\\n\u6700\u8fd1 QEMU \u4e0a\u6e38\u7684\u9f99\u67b6\u6784\u6587\u4ef6\u5939\u53c8\u70ed\u95f9\u8d77\u6765\u4e86\u3002\\n\u540e\u7eed\u770b\u60c5\u51b5\u53ea\u8981\u4e00\u5468\u95f4\u7684 QEMU \u52a8\u6001\u8db3\u591f\u591a\uff0c\u8fd9\u4e2a\u4e13\u680f\u5c31\u4f1a\u51fa\u73b0\u5e76\u6536\u7eb3\u5b83\u4eec\uff0c\u5426\u5219\u8fd8\u662f\u585e\u300a\u6742\u95fb\u64ad\u62a5\u300b\u3002\\n\\n\u65e5\u524d\uff089 \u6708 21 \u65e5\uff09\uff0cQEMU \u7684\u9f99\u67b6\u6784\u6a21\u62df[\u83b7\u5f97\u4e86](https://gitlab.com/qemu-project/qemu/-/commit/55394dcbec8f0c29c30e792c102a0edd50a52bf4)\\nLASX \u652f\u6301\uff08\u4e0d\u8fc7\u5f88\u5feb[\u88ab\u53d1\u73b0\u6709\u5751](https://gitlab.com/qemu-project/qemu/-/issues/1907)\uff09\u3002\\n\uff08\u611f\u8c22 [@jiegec](https://github.com/jiegec) \u7684\u63d0\u9192\uff01\uff09\\n\\n10 \u6708 1 \u65e5\uff0cJiajie Chen \u7ed9\u9f99\u67b6\u6784\u7684 linux-user \u6a21\u62df[\u5f00\u542f\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20231001085315.1692667-1-c@jia.je/)\\nLSX\u3001LASX \u7684 ELF HWCAP \u6807\u5fd7\u4f4d\u3002\\n\uff08\u8fd9\u6837\u88ab\u6a21\u62df\u7684\u7a0b\u5e8f\u4eec\u5c31\u4e0d\u4f1a\u770b\u7740\u6ca1 HWCAP\uff0c\\n\u4fbf\u6309\u7167[\u300a\u9f99\u67b6\u6784\u8f6f\u4ef6\u5f00\u53d1\u4e0e\u6784\u5efa\u7ea6\u5b9a\u300b\u6709\u5173\u6761\u6b3e](https://github.com/loongson/la-softdev-convention/blob/2975b325e1d31c8b52d75f9948d627343c5a454c/la-softdev-convention.adoc#91-kernel-development)\uff0c\\n\u4e3b\u52a8\u89c4\u907f\u5411\u91cf\u6307\u4ee4\u4e86\u3002\uff09\\n\\n\u540c\u4e00\u5929\uff0c\u7b14\u8005\u6d4b\u8bd5\u4e86 Richard Henderson 9 \u6708 16 \u53f7[\u7ed9\u9f99\u67b6\u6784\u505a\u7684 128 \u4f4d\u8bbf\u5b58\u4f18\u5316](https://patchwork.kernel.org/project/qemu-devel/list/?series=784972)\u6ca1\u95ee\u9898\uff0c\\n\u56de\u4e86\u5c01\u90ae\u4ef6\uff0c\u5e76\u4e14\u5341\u5206\u60ed\u6127\u8fd1\u671f\u5728 QEMU \u6c34\u7684\u8865\u4e01\u4e0d\u591f\u591a\uff1a\\n\u51c6\u5907\u4eca\u5e74\u770b\u7740\u628a LBT \u6269\u5c55\u6307\u4ee4\u591a\u5229\u7528\u8d77\u6765\u3002\\n\\n9 \u6708 30 \u65e5\uff0cRichard Henderson \u5728\u4ed6\u7ed9 linux-user [\u589e\u52a0](https://patchwork.kernel.org/project/qemu-devel/list/?series=788954)\\nvDSO \u6a21\u62df\u7684\u540c\u65f6\uff0c\\n\u987a\u624b[\u9002\u914d\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230930021529.987950-16-richard.henderson@linaro.org/)\u9f99\u67b6\u6784\u3002\\n\\n\u540c\u4e00\u5929\uff0cJiajie Chen [\u4fee\u590d\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230930112837.1871691-1-c@jia.je/)\\n\u524d\u9762\u63d0\u5230\u7684 LASX \u652f\u6301\u4ee3\u7801\u4e2d\u4e00\u5904\u6807\u5fd7\u4f4d\u5199\u9519\uff0c\u5bfc\u81f4 guest \u5185\u6838\u6216\u8fdb\u7a0b\u5d29\u6e83\uff0c\u5565\u90fd\u5e72\u4e0d\u4e86\u7684\u5de8\u5751\u3002\\n\\n9 \u6708 26 \u65e5\uff0cSong Gao [\u4fee\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230926075819.3602537-1-gaosong@loongson.cn/)\u9f99\u67b6\u6784\\nTCG \u7684\u4e00\u5904\u6784\u5efa\u9519\u8bef\uff0c\u53c8[\u89e3\u51b3\u4e86](https://patchwork.kernel.org/project/qemu-devel/patch/20230926071253.3601021-1-gaosong@loongson.cn/)\u4e00\u5904\u8b66\u544a\u3002\\n\\n\u540c\u4e00\u5929\uff0cXianglai Li \u7ed9\u9f99\u67b6\u6784[\u52a0\u4e86](https://patchwork.kernel.org/project/qemu-devel/list/?series=787587)\u70ed\u63d2\u62d4\u865a\u62df CPU \u7684\u80fd\u529b\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n9 \u6708 29 \u65e5\uff0cShi Pujin \u5728 Slackware CN \u7528\u6237\u793e\u533a[\u53d1\u5e03\u4e86](http://slackwarecn.github.io/2023/09/29/Slackwareloong1.0%E5%8F%91%E5%B8%83%EF%BC%81/)\\nSlackwareloong 1.0 LTS \u7248\u672c\u3002\\n\uff08\u611f\u8c22\u4f5c\u8005\u81ea\u6211\u6295\u7a3f\uff01\uff09\\n\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\\n\\nLA UOSC \u7f51\u53cb autistic-chad\uff08GitHub [@cl91](https://github.com/cl91)\uff09[\u5728\u618b\u5927\u62db](https://bbs.loongarch.org/d/303-gsgpu)\uff1a\\n\u5c06 GSGPU \u7684\u5185\u6838\u9a71\u52a8\u4ece Loongnix 4.19 \u5185\u6838\u79fb\u690d\u5230\u4e3b\u7ebf\u7248\u672c\uff086.6+\uff09\uff01\\n\\n:::info RESPECT\\n\u8fd9\u9700\u8981\u8de8\u8d8a 5 \u5e74\u7684\u65f6\u95f4\uff0c26 \u4e2a\u6b63\u5f0f\u7248\u672c\uff0c\u6570\u4e07\u6761\u56fe\u5f62\u5b50\u7cfb\u7edf\u63d0\u4ea4\uff0c\u51e0\u5341\u751a\u81f3\u4e0a\u767e\u6b21\u5408\u5e76\u51b2\u7a81\u6216\u63a5\u53e3\u53d8\u66f4\uff1b\\n\u8fd8\u6ca1\u7b97\u4e0a GSGPU \u548c Apple M1 GPU \u60c5\u51b5\u7c7b\u4f3c\uff0c\u90fd\u5904\u4e8e 0 \u516c\u5f00\u6587\u6863\u72b6\u6001\u3002\\n\u5411\u8fd9\u4f4d\u52c7\u58eb\u81f4\u656c\uff01\\n\\n\u4e5f\u6b22\u8fce\u6709\u610f\u5411\u7684\u540c\u5b66\u5728 LA UOSC \u8bba\u575b\u4e0a\u8ff0\u7684\u8d34\u5b50\u53c2\u4e0e\u4e92\u52a8\uff1a\\n\u6709\u4e00\u4efd\u70ed\uff0c\u53d1\u4e00\u4efd\u5149\uff0c\\n\u4ee5\u4f7f\u4e0a\u6e38\u5185\u6838\u7684\u4f7f\u7528\u8005\u4eec\u80fd\u65e9\u65e5\u7528\u4e0a\u9f99\u82af\u96c6\u663e\u7684 3D \u52a0\u901f~~\u868a\u5b50\u518d\u5c0f\u4e5f\u662f\u8089~~\u3002\\n:::\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u7684\u9f99\u67b6\u6784\u79fb\u690d\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\u4ecd\u5728\u5982\u706b\u5982\u837c\u8fdb\u884c\u4e2d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-17","metadata":{"permalink":"/newsletter/this-week-in-loongarch-17","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-25-this-week-in-loongarch-17.md","source":"@site/newsletter/2023-09-25-this-week-in-loongarch-17.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-25T07:17:26.000Z","formattedDate":"2023\u5e749\u670825\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":7.235,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-17","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","authors":["xen0n"],"date":"2023-09-25T07:17:26.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 18 \u671f","permalink":"/newsletter/this-week-in-loongarch-18"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","permalink":"/newsletter/this-week-in-loongarch-16"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n9 \u6708 23 \u65e5\uff0cHuacai Chen \u5411[\u4e2d\u56fd\u65f6\u95f4 9 \u6708 25 \u65e5\u51cc\u6668 tagged \u7684](https://lore.kernel.org/lkml/CAHk-=wjrZgxjHZuXwrGeFnng_whUmtToCWE5GQ+HORhGSeiX8g@mail.gmail.com/)\\nLinux v6.6-rc3 [\u63a8\u9001\u4e86](https://lore.kernel.org/loongarch/20230923091031.1075337-1-chenhuacai@loongson.cn/)\u4e00\u7ec4\u95ee\u9898\u4fee\u590d\u4e0e\u4ee3\u7801\u6e05\u7406\u3002\\n\u7531\u4e8e\u6b64 rc \u5305\u542b\u91cd\u8981\u7684\u4fee\u590d\u5de5\u4f5c\uff08\u89c1\u4e0b\uff09\uff0c\u5efa\u8bae\u6240\u6709\u7d27\u8ddf\u4e3b\u7ebf\u7684\u540c\u5b66\u4eec\u5c3d\u5feb\u5347\u7ea7\u6216\u8ddf\u8fdb\u6700\u65b0\u7684\\nlinux-next\uff08≥ `next-20230925`\uff09\u3002\\n\\n* [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/CAAhV-H7r2iNVUstHuYHj8Ve=sY9c5JoMvZNX_pDaUVhL7oGWXw@mail.gmail.com/T/#m74d1c148796ffb824ced5986e3160d055778899c)\u9f99\u67b6\u6784\u4e0a\u4e00\u65e6\u542f\u7528\u5185\u6838\u914d\u7f6e\u9879\\n `CONFIG_DEFERRED_STRUCT_PAGE_INIT` \u5219\u7cfb\u7edf\u65e0\u6cd5\u6b63\u5e38\u542f\u52a8\u7684\u95ee\u9898\u3002\\n \uff08\u5bf9\u4e8e\u63d2\u4e86\u5f88\u591a\u5185\u5b58\u7684\u673a\u5668\uff0c\u6b64\u4f18\u5316\u53ef\u5c11\u8bb8\u63d0\u5347\u542f\u52a8\u901f\u5ea6\u3002\\n \u56e0\u6b64\u5185\u5b58\u63d2\u6ee1\u53c8\u559c\u6b22\u5fae\u64cd\u7684\u793e\u533a\u5f00\u53d1\u8005\u4eec\u88ab\u7b2c\u4e00\u65f6\u95f4\u5751\u5230\u4e86\uff1a\\n \u9f99\u82af\u56e2\u961f\u6781\u5c11\u6539\u52a8\u3001\u6d4b\u8bd5\u8fd9\u4e9b\u4e0d\u76f4\u63a5\u4e0e\u9f99\u82af\u82af\u7247\u3001\u8f6f\u4ef6\u3001\u51fa\u8d27\u7cfb\u7edf\u76f8\u5173\u7684\u5185\u6838\u914d\u7f6e\uff0c\\n \u6240\u4ee5\u672a\u5728[\u5f15\u53d1\u95ee\u9898\u7684\u63d0\u4ea4](https://github.com/torvalds/linux/commit/61167ad5fecdea)\u6240\u5728\u7684\\n v6.5 \u5f00\u53d1\u5468\u671f\u53d1\u73b0\u95ee\u9898\u3002\uff09\\n* \uff08\u6b64\u53d8\u66f4\u4e0e\u9f99\u67b6\u6784\u65e0\u5173\u4f46\u5341\u5206\u91cd\u8981\uff09[\u56de\u6eda\u4e86](https://www.phoronix.com/news/Linux-Revert-MG-Timestamps)\u591a\u7c92\u5ea6\u65f6\u95f4\u6233\uff08Multi-grained Timestamps\uff09\u5de5\u4f5c\u3002\\n \u6b64\u4f18\u5316\u672c\u610f\u662f\u60f3\u964d\u4f4e NFS\uff08\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\uff09\u7684\u6027\u80fd\u5f00\u9500\uff0c\u4f46\u5b9e\u9645\u5728\u5176\u4ed6\u6587\u4ef6\u7cfb\u7edf\u4e0a\u5f15\u8d77\u4e86\u76f8\u5173\u7684\u7ec6\u5fae bugs\uff0c\\n \u56e0\u6b64\u8865\u4e01\u4f5c\u8005\u51b3\u5b9a\u63a8\u7ffb\u6b64\u65b9\u6848\u4ece\u5934\u518d\u6765\u3002\\n\\n9 \u6708 20 \u65e5\uff0cKVM \u7ef4\u62a4\u8005 Paolo [\u5728\u56de\u4fe1\u4e2d\u8868\u793a](https://lore.kernel.org/loongarch/CAAhV-H6YormmC7DC4Ar9Rwu16OHKP0G8+=7eShxkWjjQ7kq5mA@mail.gmail.com/T/#m3a0928eccdaf047b8d1365512b563a571047f6c6)\uff1a\\n\u65e2\u7136\u4f60\u4eec\u5df2\u7ecf\u5728\u51c6\u5907\u7b2c 22 \u7248\u8865\u4e01\u4e86\uff0c\u5230\u65f6\u5019\u53ef\u4ee5\u4f5c\u4e3a Pull Request \u987a\u5e26\u63d0\u4e86\u3002Huacai Chen\\n[\u56de\u590d\u8bf4](https://lore.kernel.org/loongarch/CAAhV-H6YormmC7DC4Ar9Rwu16OHKP0G8+=7eShxkWjjQ7kq5mA@mail.gmail.com/)\uff1a\\n\u5982\u679c v22 \u6ca1\u4ec0\u4e48\u66f4\u591a\u5ba1\u67e5\u610f\u89c1\u7684\u8bdd\uff0c\u7b49\u4e00\u4e24\u5468\u5c31\u53d1\u3002\\n\u770b\u4e0a\u53bb\u9f99\u67b6\u6784 KVM \u652f\u6301\u8fdb\u5165 Linux 6.7 \u6307\u65e5\u53ef\u5f85\u4e86\uff1a\\n\u786c\u4ef6\u865a\u62df\u5316\uff0c\u8bf4\u662f\u670d\u52a1\u5668\u3001\u6570\u636e\u4e2d\u5fc3\uff0c\u751a\u81f3\u5bb6\u5ead\u591a\u5408\u4e00 NAS \u573a\u666f\u7684\u6700\u57fa\u7840\u80fd\u529b\u4e5f\u4e0d\u4e3a\u8fc7\u3002\\nLinux 6.7 \u662f\u4e2a\u503c\u5f97\u671f\u5f85\u7684\u66f4\u65b0\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u4e3a\u542f\u7528 linker relaxation\uff08\u94fe\u63a5\u5668\u677e\u5f1b\uff09\u4f18\u5316\uff0cchenglulu [\u4f7f\u5f97](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630954.html)\\ngcc \u5728\u6784\u5efa\u65f6\u5982\u679c\u53d1\u73b0\u914d\u5957\u7684\u6c47\u7f16\u5668\u6709 `-mrelax` \u652f\u6301\uff0c\u5219\u8ba9\u6210\u54c1 gcc \u9ed8\u8ba4\u5173\u95ed\\n`-mexplicit-relocs` \u9009\u9879\u3002\\n\u8fd9\u6837\u505a\u7684\u4f18\u5316\u6548\u679c\u53ef\u80fd\u5341\u5206\u53d6\u51b3\u4e8e\u88ab\u7f16\u8bd1\u7684\u5177\u4f53\u4ee3\u7801\uff0c\u6545\u7279\u522b\u63d0\u53ca\uff0c\u8bf7\u5404\u4f4d\u540c\u5b66\u5347\u7ea7 gcc\\n\u65f6\u591a\u591a\u7559\u5fc3\u5e76\u89c2\u5bdf\u4e00\u4e9b\u81ea\u5df1\u5173\u5fc3\u7684\u8f6f\u4ef6\u3001\u51fd\u6570\u7684\u6027\u80fd\u4e0e\u6c47\u7f16\u5f62\u72b6\u662f\u5426\u4ecd\u7136\u7b26\u5408\u9884\u671f\u3002\\n\\n:::info\\n\u7531\u4e8e\u6d89\u53ca\u5220\u9664\u4e00\u4e9b\u6307\u4ee4\uff0clinker relaxation \u80fd\u5de5\u4f5c\u7684\u524d\u63d0\u662f\u76f8\u5173\u6307\u4ee4\u90fd\u805a\u5728\u4e00\u8d77\uff1a\\n\u8fd9\u9879\u5de5\u4f5c\u53ea\u80fd\u5728\u94fe\u63a5\u9636\u6bb5\u5b8c\u6210\uff0c\u4e0d\u505a\u6b64\u4fdd\u8bc1\u4f1a\u8ba9\u94fe\u63a5\u5668\u7684\u590d\u6742\u5ea6\u7206\u70b8\uff0c\\n\u4f8b\u5982\u9700\u8981\u8ddf\u8e2a\u6bcf\u4e2a\u5bc4\u5b58\u5668\u7684\u4f7f\u7528\u60c5\u51b5\u4ee5\u9632\u6b62\u5220\u9664\u6307\u4ee4\u5bfc\u81f4\u7a0b\u5e8f\u8bed\u4e49\u53d8\u5316\u3002\\n\u8fd9\u8981\u6c42\u7f16\u8bd1\u5668\u5728\u751f\u6210\u4ee3\u7801\u65f6\uff0c\u53ea\u7528\u4f2a\u6307\u4ee4\u6765\u8868\u8fbe\u4ea7\u751f\u3001\u4f7f\u7528\u7b26\u53f7\u5730\u5740\u7684\u52a8\u4f5c\uff0c**\u4e0d\u80fd**\u6709\u63a7\u5236\u80cc\u540e\u5177\u4f53\u6307\u4ee4\u7684\u81ea\u7531\u5ea6\u3002\\n\u8fd9\u5c31\u4e0e `-mexplicit-relocs` \u5929\u7136\u4e0d\u5bf9\u4ed8\uff1a\\n\u6253\u5f00\u8fd9\u4e2a\u9009\u9879\u5c31\u662f\u8981\u8ba9\u7f16\u8bd1\u5668**\u80fd**\u611f\u77e5\u3001\u63a7\u5236\u8fd9\u4e9b\u5177\u4f53\u6307\u4ee4\uff0c\\n\u8fdb\u800c\u5f97\u4ee5\u5229\u7528\u66f4\u591a\u4f18\u5316\u673a\u4f1a\uff0c\u4e5f\u66f4\u6709\u52a9\u4e8e\u6307\u4ee4\u8c03\u5ea6\u3002\\n\\n\u56e0\u4e3a linker relaxation \u4e0e\u76f8\u5173\u6307\u4ee4\u7684\u66f4\u4f73\u8c03\u5ea6\u5728\u73b0\u6709\u6761\u4ef6\u4e0b\u65e0\u6cd5\u4e24\u5168\uff0c\u6240\u4ee5\u624d\u8bf4\u4e0d\u89c1\u5f97\u662f\u65e0\u6761\u4ef6\u4f18\u5316\uff0c\u9700\u8981\u5341\u5206\u7559\u5fc3\u3002\\n:::\\n\\nliwei [\u8c03\u6574\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630749.html)\u4e00\u4e9b\u5411\u91cf\u4f18\u5316\u6210\u672c\u6570\u503c\u3002\\n\\nguojie [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631062.html)\u51e0\u79cd\u5411\u91cf\u503c\u7684\u6784\u9020\u3002\\n\\nChenghui Pan [\u5728\u4fee\u6d4b\u8bd5](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630953.html)\u3002\\n\\n#### D\\n\\nAOSC \u793e\u533a\u7684[\u5218\u5b50\u5174](https://github.com/liushuyu)\u4e3a D \u8bed\u8a00\u7684\\n[GCC \u524d\u7aef](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631259.html)\u4e0e[\u8fd0\u884c\u65f6](https://github.com/dlang/dmd/pull/15628)\u6dfb\u52a0\u4e86\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u6b22\u8fce\uff01\\n\\n#### LLVM\\n\\n\u5f53\u5730\u65f6\u95f4 9 \u6708 19 \u65e5\uff0cLLVM 17 \u6b63\u5f0f\u53d1\u5e03\u3002\u6b64\u7248\u672c\u65b0\u589e\u4e86\u4e0d\u5c11\u9f99\u67b6\u6784\u4f18\u5316\uff0c\u66f4\u6709\u5b8c\u6574\u7684\\nLA64 v1.00 \u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\uff08\u5148\u524d\u5df2\u6709\u62a5\u9053\uff09\uff0c\u5efa\u8bae\u5f00\u53d1\u8005\u4eec\u53ea\u8981\u53ef\u884c\u90fd\u5347\u7ea7\u3002\\n\\n\u6700\u8fd1\u53d1\u73b0 Clang 17 \u5728\u5e26\u7740 `-march=la464` \u7f16\u8bd1\u7684\u65f6\u5019\uff0c\u53ef\u80fd\u4f1a\u60f3\u505a\u81ea\u52a8\u5411\u91cf\u5316\u7136\u540e\u4e0d\u77e5\u9053\u600e\u4e48\u751f\u6210\u4ee3\u7801\uff08\u56e0\u4e3a\u5f53\u65f6\u8fd8\u6ca1\u505a\uff1b\u73b0\u5728\u4f3c\u4e4e\u4e5f\u6ca1\uff09\uff0c\u5bfc\u81f4\u5d29\u6e83\u3002\\n\u7531\u4e8e\u7b14\u8005\u7cbe\u529b\u6709\u9650\uff0c\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u81ea\u544a\u594b\u52c7\uff1a\u7b14\u8005\u4f1a\u6559\u4f60\u600e\u4e48\u67e5 & \u4fee\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u8fd1\u65e5\uff0c\u8457\u540d\u5de5\u5177\u94fe\u7ef4\u62a4\u8005\u4e4b\u4e00\u3001LLVM LLD \u7684\u539f\u4f5c\u8005 Rui Ueyama \u3055\u3093[\u53d1\u5e03\u4e86](https://github.com/rui314/mold/releases/tag/v2.2.0)\\nmold 2.2\u3002\\nmold \u662f\u4ed6\u57fa\u4e8e\u591a\u5e74\u7684\u94fe\u63a5\u5668\u5f00\u53d1\u7ecf\u9a8c\u91cd\u65b0\u8bbe\u8ba1\u7684\u73b0\u4ee3\u5316\u3001\u9ad8\u6027\u80fd\u94fe\u63a5\u5668\uff0c\\n\u4ece 2.1 \u7248\u672c\u8d77\u652f\u6301\u9f99\u67b6\u6784\u3002\\n\u4e3a\u63d0\u5347 `--build-id` \u8ba1\u7b97\u901f\u5ea6\uff0cmold 2.2 \u6362\u7528\u4e86\\n[BLAKE3](https://github.com/BLAKE3-team/BLAKE3) \u54c8\u5e0c\u7b97\u6cd5\uff1b\\n\u8fd9\u4e2a\u5e93[\u6709\u6c47\u7f16\u4f18\u5316\u7a7a\u95f4](https://github.com/BLAKE3-team/BLAKE3/blob/master/c/README.md)\uff01\\n\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e3a\u5176\u6dfb\u52a0 LSX/LASX \u4f18\u5316\u3002\\n\\n9 \u6708 20 \u65e5\uff0c\u7b14\u8005\u4ece\u4e00\u5c01\u6284\u9001\u5230\u81ea\u5df1\u90ae\u7bb1\u7684\u901a\u77e5\u90ae\u4ef6\u5173\u6ce8\u5230\uff1aopenEuler \u793e\u533a[\u5df2\u5728\u7740\u624b](https://gitee.com/openeuler/kernel/issues/I82GAS)\u4e3a\u5176\\n23.09 \u7cfb\u7edf\u7684\u5185\u6838\u6dfb\u52a0\u66f4\u591a\u9f99\u67b6\u6784\u652f\u6301\u3002\\n\u770b\u90ae\u7bb1\u5730\u5740\uff0c\u63a8\u8fdb\u6b64\u5de5\u4f5c\u7684 Hongchen Zhang \u662f\u9f99\u82af\u5458\u5de5\u3002[openEuler 23.09 \u7684\u5185\u6838](https://gitee.com/openeuler/kernel/tree/openEuler-23.09/)\u7248\u672c\u662f 6.4\uff0c\\n\u8fd9\u610f\u5473\u7740\u4e0a\u8ff0\u5de5\u5355\u4e2d\u63d0\u5230\u7684\u5de5\u4f5c\u4f1a\u6d89\u53ca\u8bb8\u591a\u5411\u540e\u79fb\u690d\uff08backport\uff09\uff0c\u5728\u6b64\u795d :ta: \u4eec\u5c11\u88ab\u51b2\u7a81\u5751\u5230 :smiling_imp:\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u53cb\u60c5\u6269\u6563\uff1a[\u5b89\u540c\u5f00\u6e90\u793e\u533a\uff08AOSC\uff09](https://aosc.io)\u6b63\u5728\u63a8\u8fdb\u5176\u9f99\u67b6\u6784\u79fb\u690d\u7684\u4e3b\u7ebf\u5316\u5de5\u4f5c\u300c\u5408\u9f99\u300d\uff0c\\n \u6b64\u5de5\u4f5c\u5b8c\u6210\u540e\u9f99\u67b6\u6784\u5c06\u5347\u683c\u4e3a AOSC OS \u7684 Tier 1 \u67b6\u6784\u3002\\n \u6b22\u8fce\u540c\u5b66\u4eec\u8bd5\u7528\u3001\u53cd\u9988\uff0c\u4e5f\u6b22\u8fce\u6709\u5fd7\u4e4b\u58eb\u4e00\u540c\u52a0\u5165\u3002\\n \u63a8\u8350\u9605\u8bfb[\u300a\u5b89\u8bb0\u51b0\u5ba4\u30fb\u4e5d\u6708\u4e0b\u300b](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/zh_CN.md)\u3002(An\\n English version [is also available](https://github.com/AOSC-Dev/newsroom/blob/bfa12c12b1f819adab0fa568e906e682e0fbc244/coffee-break/20230922/en.md).)\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-16","metadata":{"permalink":"/newsletter/this-week-in-loongarch-16","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-18-this-week-in-loongarch-16.md","source":"@site/newsletter/2023-09-18-this-week-in-loongarch-16.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-18T05:37:25.000Z","formattedDate":"2023\u5e749\u670818\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.135,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-16","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","authors":["xen0n"],"date":"2023-09-18T05:37:25.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 17 \u671f","permalink":"/newsletter/this-week-in-loongarch-17"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","permalink":"/newsletter/this-week-in-loongarch-15"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nLoongArch KVM\u5185\u6838\u865a\u62df\u673a \u7684\u4ee3\u7801\u4ecd\u7136\u5728\u6539\uff0c\u76ee\u524d\u6539\u5230\\n[v21](https://lore.kernel.org/loongarch/20230915014949.1222777-1-zhaotianrui@loongson.cn/)\\n\u4e86\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n\u4e0a\u5468\u63d0\u5230\u7684\u9664\u6cd5\u3001\u53d6\u4f59\u5904\u7406\u4fee\u590d\\n\uff08bug [PR111334](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111334)\uff09\\n\u5df2\u7ecf[\u63a8\u5165\u4e3b\u7ebf\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630223.html)\u3002\\n\u4e00\u540c\u63a8\u5165\u7684\u8fd8\u6709\\n[LSX](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630221.html)\u3001[LASX](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630222.html)\\n\u7684\u6d4b\u8bd5\u7528\u4f8b\u3002\\n\\n\u6b64\u5916 Lulu Cheng \u8fd8\uff1a\\n\\n* \u5c06\u9ed8\u8ba4\u7684\u5206\u652f\u8df3\u8f6c\u6210\u672c\u4ece 2 [\u63d0\u5347\u5230\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630285.html) 6\uff0c\\n* [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630481.html)\u6d6e\u70b9\u6761\u4ef6\u642c\u8fd0\u64cd\u4f5c\uff0c\\n* [\u79fb\u9664\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630486.html)\u591a\u4f59\u7684\u5bf9\u9f50\u52a8\u4f5c\uff08\u4f1a\u5bfc\u81f4\u6700\u7ec8\u751f\u6210\u7684\u4ee3\u7801\u53cd\u800c\u4e0d\u6ee1\u8db3\u5bf9\u9f50\u8981\u6c42\uff09\u3002\\n\\n\u9694\u58c1 binutils \u7ec4\u7684 mengqinggang \u4e5f\u6765[\u8c03\u6574\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/630653.html)\u4f18\u5316\u5668\u6210\u672c\u6a21\u578b\u4e00\u5904\uff1a\\n\u636e\u8bf4\u6709\u5229\u4e8e\u5bc4\u5b58\u5668\u538b\u529b\u8f83\u5927\u60c5\u51b5\u4e0b\u7684\u5faa\u73af\u4f18\u5316\uff0c\u4f46\u6ca1\u6d4b\u8bd5\u7528\u4f8b\uff08\u5e94\u8be5\u5728\u8865\u4e86\uff09\u3002\\n\\n#### LLVM\\n\\n\u5173\u6ce8\u5230 7 \u6708\u5e95 Rust \u793e\u533a\u7684\u540c\u5b66[\u6765\u62a5](https://github.com/llvm/llvm-project/issues/64208)\\n`llvm.maximum.*` \u548c `llvm.minimum.*` \u4e24\u79cd intrinsics \u6ca1\u6709\u5b9e\u73b0\u7684\u95ee\u9898\uff0c\u81f3\u4eca\u672a\u80fd\u6392\u4e0a\u8bae\u4e8b\u65e5\u7a0b\uff1b\\n\u6709\u5174\u8da3\u6c34\u4e00\u4e24\u4e2a\u8865\u4e01\u7684\u540c\u5b66\u53ef\u4ee5\u53bb\u770b\u770b\u3002\\n\\n:::info\\n\u5b9e\u73b0\u8d77\u6765\u5e94\u8be5\u6bd4\u8f83\u7b80\u5355\uff1ax86 \u6216\u8005 RISC-V \u7684\u5b9e\u73b0\u5747\u53ef\u501f\u9274\u3002\\n\\nLoongArch \u7684 `fmax` `fmin` \u6307\u4ee4\uff0c\u5728\u771f\u673a\u4e0a\u89c2\u5bdf\u5176\u8bed\u4e49\uff0c\u4f3c\u4e4e\u4e0e\u8981\u7684\u4e00\u81f4\uff08\u8bf7\u52a1\u5fc5\u81ea\u5df1\u4e5f\u505a\u5b9e\u9a8c\u5c1d\u8bd5\uff1a\u7b14\u8005\u53ea\u68c0\u67e5\u4e86\u6b63\u8d1f\u96f6\u7684\u5927\u5c0f\u6bd4\u8f83\uff09\u3002\\n\u4f46\u8bf7\u5341\u5206\u6ce8\u610f\uff1a\u9f99\u67b6\u6784\u624b\u518c\u4e0a\u5bf9\u6b64\u4e24\u6761\u6307\u4ee4\u7684\u63cf\u8ff0\u662f\u300c\u9075\u5faa IEEE 754-2008\u300d\uff0c\\n\u800c\u4e24\u6761 LLVM intrinsics \u7684\u8bed\u4e49\u662f\u9075\u5faa\u300cIEEE 754-2008 \u7684**\u8349\u7a3f\u7248\u672c**\u300d\u3002\\n\u7b14\u8005\u68c0\u67e5\u4e86\u6b63\u5f0f\u7248\u7684 IEEE 754-2008\uff08\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u5e94\u80fd\u5f88\u65b9\u4fbf\u514d\u8d39\u83b7\u53d6\uff09\uff1a\\n\u5176 Section 5.3.1 \u786e\u5b9e\u4e0d\u518d\u63d0\u53ca LLVM intrinsics \u8981\u6c42\u7684\u6b63\u8d1f\u96f6\u8bed\u4e49\u3002\\n\u56e0\u6b64\u4f60\u5728\u5b9e\u73b0\u7684\u65f6\u5019\u5927\u6982\u7387\u4e5f\u8981\u53c2\u8003 x86\u3001RISC-V \u540e\u7aef\u7684\u505a\u6cd5\uff0c\u786e\u4fdd\u89c4\u8303\u5916\u8bed\u4e49\u5f97\u5230\u6b63\u786e\u5904\u7406\u4e4b\u540e\uff0c\u624d\u80fd\u8c03\u7528\u8fd9\u4fe9\u6307\u4ee4\u3002\\n:::\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\u4e0a\u5468\u4f3c\u4e4e\u662f\u521b\u520a\u4ee5\u6765\u6700\u5b89\u9759\u7684\u4e00\u5468\uff0c\u5404\u4e2a\u793e\u533a\u90fd\u6ca1\u6709\u4ec0\u4e48\u5927\u65b0\u95fb\u3002\\n\u5f53\u7136\uff0c\u8fd9\u4e5f\u53ef\u80fd\u4ec5\u4ec5\u662f\u7b14\u8005\u672a\u80fd\u5173\u6ce8\u5230\uff1a\u8fd9\u4fbf\u662f\u4e3a\u4f55[\u7fa4\u4f17\u6295\u7a3f][call-for-submissions]\u5982\u6b64\u5fc5\u8981\u4e86\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-15","metadata":{"permalink":"/newsletter/this-week-in-loongarch-15","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-11-this-week-in-loongarch-15.md","source":"@site/newsletter/2023-09-11-this-week-in-loongarch-15.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-11T09:10:28.000Z","formattedDate":"2023\u5e749\u670811\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.685,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-15","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","authors":["xen0n"],"date":"2023-09-11T09:10:28.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 16 \u671f","permalink":"/newsletter/this-week-in-loongarch-16"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","permalink":"/newsletter/this-week-in-loongarch-14"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u5317\u4eac\u65f6\u95f4 9 \u6708 11 \u65e5\u6e05\u6668\uff0cLinus [tagged](https://lore.kernel.org/lkml/CAHk-=wgfL1rwyvELk2VwJTtiLNpwxTFeFtStLeAQ-2rTRd34eQ@mail.gmail.com/T/#u)\\nLinux 6.6-rc1\u3002\\n\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff1aLinus \u5728\u62c9\u53d6\u3001\u5ba1\u67e5\u3001\u5408\u5e76\u672c\u6b21\u7684[\u9f99\u67b6\u6784 PR](https://lore.kernel.org/loongarch/169420324840.9132.7799052693511343279.pr-tracker-bot@kernel.org/T/#eb6a9a4343868f07c867cdbae4231a8f1f86ebed0) \u65f6\uff0c\\n\u5bf9\u5176\u4e2d\u7684 KASAN \u6280\u672f\u7ec6\u8282\u4eb2\u81ea\u7ed9\u51fa\u4e86\u6307\u5bfc\uff1a\\n\u6307\u51fa\u4e86\u5176\u4e2d\u6cbf\u7528\u7684\u4e00\u79cd\u8001\u5f0f\u4ee3\u7801\u5199\u6cd5\u4e4b\u4e0d\u59a5\uff0c\u5f53\u4ee3\u4e00\u822c\u5982\u4f55\u5199\uff1b\\n\u4ee5\u53ca\u4e24\u5904\u5185\u8054\u58f0\u660e\u7684\u80cc\u540e\u539f\u56e0\uff08\u8fd9\u539f\u56e0\u5728\u9f99\u67b6\u6784\u4e0a\u65e0\u8bba\u662f\u5426\u786e\u5b9e\u5b58\u5728\uff0c\u90fd\u610f\u5473\u7740\u8981\u6539\u4ee3\u7801\uff09\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cHuacai Chen \u5df2\u7ecf\u628a\u91cd\u6784\u63d0\u4ea4[\u8d34\u51fa\u6765](https://lore.kernel.org/loongarch/fc0f52e0-99a7-bde7-6674-9c1c579c6bc7@xen0n.name/T/#e78ae5e0fb57c26860c7c173dcc2464ba5e70a99a)\u4e86\u3002\\n\\n\u5728\u6b64\u4e4b\u5916\uff0cBibo Mao \u5728\u7ee7\u7eed\u7740\u4ed6\u5bf9\u9f99\u67b6\u6784\u5185\u5b58\u7ba1\u7406\u4ee3\u7801\u7684\u4f18\u5316\uff1a\\n[\u8865\u4e01\u4e00](https://lore.kernel.org/loongarch/20230908012907.2994001-1-maobibo@loongson.cn/)\u3001[\u8865\u4e01\u4e8c](https://lore.kernel.org/loongarch/20230907020936.2692542-1-maobibo@loongson.cn/)\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n9 \u6708 8 \u65e5\uff0cGCC 14 \u6700\u65b0\u5f00\u53d1\u7248\u672c[\u88ab\u53d1\u73b0](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111334)\u5728\u7f16\u8bd1 Mesa \u65f6\u5d29\u6e83\u3002\\n\u95ee\u9898\u539f\u56e0\u5df2\u627e\u5230\uff0c\u8865\u4e01[\u8d34\u51fa\u6765\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629749.html)\uff0c\u7b49\u5f85\u5408\u5e76\u3002\\n\\n:::info \u6240\u4ee5\u95ee\u9898\u5728\u54ea\uff1f\\nLoongArch® v1.00 \u624b\u518c\u63d0\u5230\u4e86 LA64 \u7684 32 \u4f4d\u9664\u6cd5\u3001\u53d6\u6a21\u64cd\u4f5c\u6709\u5751\uff08\u4e2d\u6587\u7248\u5377\u4e00 2.2.1.13 \u8282\uff1b\u82f1\u6587\u7248\u4e2d\u6ca1\u6709\u6ce8\u660e\u8be5\u5751\uff09\uff1a\\n\\n\u300c\u5728 LoongArch64 \u4f4d\u517c\u5bb9\u7684\u673a\u5668\u4e0a\uff0c\u6267\u884c `DIV.W[U]` \u548c `MOD.W[U]` \u6307\u4ee4\u65f6\uff0c\\n\u5982\u679c\u901a\u7528\u5bc4\u5b58\u5668 rj \u548c rk \u4e2d\u7684\u6570\u503c\u8d85\u8fc7\u4e86 32 \u4f4d\u6709\u7b26\u53f7\u6570\u7684\u6570\u503c\u8303\u56f4\uff0c\\n\u5219\u6307\u4ee4\u6267\u884c\u7ed3\u679c\u53ef\u4ee5\u4e3a\u65e0\u610f\u4e49\u7684\u4efb\u610f\u503c\u3002\u300d\\n\\n\u8fd9\u662f\u4e00\u5904 LA464 \u7684\u5b9e\u73b0\u7ec6\u8282\u66b4\u9732\uff0c\u56e0\u4e3a\u5176\u4ed6 32 \u4f4d\u64cd\u4f5c\u90fd\u7b80\u5355\u65e0\u89c6\u5bc4\u5b58\u5668\u7684\u9ad8 32 \u4f4d\u90e8\u5206\u3002\\n\u9274\u4e8e\u6b64\uff0c\u6240\u6709\u4ea7\u751f\u9f99\u67b6\u6784\u673a\u5668\u8bed\u8a00\u7684\u7f16\u8bd1\u5668\u90fd\u5fc5\u987b\u505a\u76f8\u5e94\u7684\u7279\u6b8a\u9002\u914d\uff0c\u4ee5\u786e\u4fdd\u8fd9\u4e9b\u6307\u4ee4\u7684\u6e90\u64cd\u4f5c\u6570\u90fd\u7b26\u5408\u7ea6\u675f\uff1b\\n\u4e0d\u5de7 gcc \u91cc\u8fd9\u4e2a\u53d8\u6362\u5199\u9519\u4e86\u3002\\n\\n\u6b64\u5916\uff0c\u8bc4\u8bba\u533a\u4e2d Lulu Cheng \u900f\u9732\uff0c\u6b64\u4e58\u9664\u6cd5\u64cd\u4f5c\u7684\u8bed\u4e49\u5927\u5751\u5df2\u5728 LA664 \u89e3\u51b3\u4e86\u3002\\n\u7b14\u8005\u4e5f\u5728\u624b\u4e0a\u7684 3A6000 \u673a\u5668\u8bc1\u5b9e\u4e86\u6b64\u4e8b\u3002\\n\u5f85\u591a\u5e74\u4e4b\u540e\uff0c\u91c7\u7528\u65e7\u8bed\u4e49\u7684\u5904\u7406\u5668\u578b\u53f7\u90fd\u6de1\u51fa\u5e02\u573a\uff0c\u5c31\u53ef\u4ee5\u53eb\u5927\u5bb6\u90fd\u505c\u6b62\u751f\u6210\u8fd9\u4e9b\u591a\u4f59\u7684\u7b26\u53f7\u6269\u5c55\u64cd\u4f5c\u4e86\u3002\\n:::\\n\\n\u540c\u4e00\u5929\uff0cguojie \u4e3a\u9f99\u67b6\u6784\u4e0a `-O1` \u53ca\u66f4\u9ad8\u7684\u4f18\u5316\u7ea7\u522b\u90fd[\u9ed8\u8ba4\u5f00\u542f\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629647.html)\\n`-fsched-pressure` \u4f18\u5316\u5de5\u5e8f\u3002\\n\\n9 \u6708 7 \u65e5\uff0cXi Ruoyao \u4f7f\u7528\u5411\u91cf\u8bbf\u5b58\u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629618.html)\u5f00\u542f\u5411\u91cf\u652f\u6301\u6761\u4ef6\u4e0b\u7684\u5185\u8054\u5185\u5b58\u642c\u8fd0\u64cd\u4f5c\u3002\\n\\n9 \u6708 6 \u65e5\uff0cXi Ruoyao \u7528\u4f1f\u5927\u7684 `bstrins` \u6307\u4ee4[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629446.html)\u4f4d\u57df\u6e05\u7a7a\u3001\u4f4d\u57df\u66ff\u6362\u64cd\u4f5c\u3002\\n\u8fd9\u89e3\u51b3\u4e86\u4e0a\u6e38 bug [PR111252](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111252)\uff1a\u6bd4\u5982\\n`__builtin_copysignf128`\uff08\u8fd1\u671f\u6dfb\u52a0\u7684 128 \u4f4d\u6d6e\u70b9\u7c7b\u578b\u652f\u6301\u7684\u76f8\u5173\u57fa\u672c\u64cd\u4f5c\u4e4b\u4e00\uff09\u7f16\u8bd1\u7ed3\u679c\u5341\u5206\u6076\u52a3\u7684\u95ee\u9898\u3002\\n\\n9 \u6708 4 \u65e5\uff0cYang Yujie \u5411 GCC \u7684 Ada \u8bed\u8a00\u5b9e\u73b0[\u6dfb\u52a0\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629184.html) \u521d\u6b65\u7684 Linux/LoongArch \u9002\u914d\u3002\\n\\n#### LLVM\\n\\n9 \u6708 8 \u65e5\uff0cNathan Chancellor \u5728\u65e5\u5e38\u7684 ClangBuiltLinux \u6d4b\u8bd5\u4e2d\uff0c\u53d1\u73b0 Clang\\n\u5728\u9f99\u67b6\u6784\u4e0a\u4f7f\u7528\u7684 mcount \u7b26\u53f7\u540d\u79f0\u6709\u8bef\uff0c\u987a\u624b[\u5e2e\u5fd9\u4fee\u590d\u4e86](https://github.com/llvm/llvm-project/pull/65657)\u3002\\n\uff08\u8fd9\u4f3c\u4e4e\u4e5f\u662f LLVM \u4ee3\u7801\u5ba1\u67e5\u5de5\u4f5c[\u6574\u4f53\u8f6c\u5411 GitHub](https://discourse.llvm.org/t/update-on-github-pull-requests/71540)\\n\u4e4b\u540e\u7684\u7b2c\u4e00\u4e2a\u9f99\u67b6\u6784\u76f8\u5173 PR\u3002\uff09\\n\\n#### Rust\\n\\n9 \u6708 7 \u65e5\uff0c\u5c06 LA64 \u88f8\u673a\u7f16\u8bd1\u76ee\u6807\u4eec\u63d0\u5347\u81f3 Tier 2 \u652f\u6301\u7ea7\u522b\u7684 MCP [\u8fdb\u5165\u4e86\u516c\u793a\u671f](https://github.com/rust-lang/compiler-team/issues/664#issuecomment-1710266066)\uff0c\u516c\u793a\u671f 10 \u5929\u3002\\n\uff08\u8fd9\u4e2a\u63d0\u6848\u662f 8 \u6708 15 \u53f7\u53d1\u51fa\u6765\u7684\uff0c\u8fd9\u4e48\u4e45\u90fd\u6ca1\u6709\u53cd\u5bf9\u610f\u89c1\uff0c\u5927\u6982\u7387\u4e4b\u540e\u4e5f\u4e0d\u4f1a\u6709\u4e86\u30029 \u6708 17 \u53f7\u5e94\u8be5\u4f1a\u81ea\u52a8\u901a\u8fc7\u3002\uff09\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\uff08\u8865\u5145\u62a5\u9053\uff099 \u6708 3 \u65e5\uff0cJiajie Chen \u5728 fuzz \u4ed6\u624b\u5934\u7684\u9f99\u67b6\u6784 CPU \u65f6\uff0c[\u627e\u51fa\u4e86](https://github.com/loongson-community/loongarch-opcodes/issues/1)\u672a\u89c1\u4e8e\u516c\u5f00\u6587\u6863\u7684\u51e0\u6761\u6307\u4ee4\uff1a\\n\\n* \u64cd\u4f5c 8 \u4f4d\u548c 16 \u4f4d\u7684 `amswap` \u4e0e `amadd` \u8865\u5145\uff08\u6587\u6863\u4e2d\u6240\u6709\u7684\u539f\u5b50\u64cd\u4f5c\u6269\u5c55\u6307\u4ee4\uff0c\u6700\u5c0f\u6570\u636e\u5355\u4f4d\u90fd\u662f 32 \u4f4d\uff09\uff0c\u4ee5\u53ca\\n* \u7c7b\u4f3c `ldx` \u4f46\u65e0\u89c6 `rk` \u69fd\u4f4d\u7684\u8f7d\u5165\u64cd\u4f5c\uff0c\u8fd9\u4f7f\u5f97 `rk` \u69fd\u4f4d\u7684\u5185\u5bb9\u50cf\u662f\u7ed9\u5185\u5b58\u5b50\u7cfb\u7edf\u7684\u4ec0\u4e48\u63d0\u793a\u3002\\n\\n\u76ee\u524d\u6682\u672a\u68c0\u67e5\u8fd9\u4e9b\u6307\u4ee4\u662f LA464 \u8fd8\u662f LA664 \u7684\uff0c\u4f46\u5b83\u4eec\u663e\u7136\u5df2\u7ecf\u6210\u4e3a\u4e86\u91cd\u70b9\u5173\u6ce8\u5bf9\u8c61 :smirk_cat:\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-14","metadata":{"permalink":"/newsletter/this-week-in-loongarch-14","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-09-04-this-week-in-loongarch-14.md","source":"@site/newsletter/2023-09-04-this-week-in-loongarch-14.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-09-04T17:39:31.000Z","formattedDate":"2023\u5e749\u67084\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":10.09,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-14","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","authors":["xen0n"],"date":"2023-09-04T17:39:31.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 15 \u671f","permalink":"/newsletter/this-week-in-loongarch-15"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","permalink":"/newsletter/this-week-in-loongarch-13"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux {#linux-6.6-loongarch-changes}\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0cLinux 6.6 \u7684\u5408\u5e76\u7a97\u53e3\u5de5\u4f5c\u6b63\u98ce\u751f\u6c34\u8d77\uff0c\u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005\u4eec\u90fd\u5728\u5fd9\u7740\u6574\u7406\u4ee3\u7801\u3001\u63d0\u4ea4 PR\u62c9\u53d6\u8bf7\u6c42\u3002\\n\u5408\u5e76\u7a97\u53e3\u9884\u8ba1\u5728\u7f8e\u897f\u65f6\u95f4\u7684\u672c\u5468\u65e5\u4e0b\u5348\uff089 \u6708 10 \u65e5\uff1b\u4e2d\u56fd\u65f6\u95f4 9 \u6708 11 \u65e5\uff09\u5173\u95ed\uff1b\\n\u672c\u5f00\u53d1\u5468\u671f\u7684 `arch/loongarch` \u53d8\u66f4\u5df2\u7531 Huacai Chen \u6574\u7406\u5b8c\u6210\u5e76[\u6253\u597d\u4e86 tag](https://git.kernel.org/chenhuacai/linux-loongson/l/loongarch-6.6)\uff0c\\n\u4e3b\u8981\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a\\n\\n:::info arch/loongarch in Linux 6.6\\n1. \u5141\u8bb8\u5728\u5185\u6838\u6001\u4f7f\u7528 LSX\u3001LASX\uff08Huacai Chen\uff0c\u5e94\u7b14\u8005\u7684 SIMD \u4f18\u5316\u9700\u6c42\u800c\u8bbe\u8ba1\uff09\uff1b\\n2. \u6dfb\u52a0 SIMD \u4f18\u5316\u7684 RAID5/RAID6 \u4f8b\u7a0b\uff08\u7b14\u8005\uff09\uff1b\\n3. \u6dfb\u52a0\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u652f\u6301\uff08Qi Hu\u3001Huacai Chen\uff09\uff1b\\n4. \u6dfb\u52a0 KGDB\u3001KDB \u7684\u57fa\u672c\u652f\u6301\uff1b\\n * \u6846\u67b6\u3001\u6838\u5fc3\u529f\u80fd\uff1aQing Zhang\uff1b\u8be5\u540c\u5b66\u662f\u524d\u9f99\u82af\u5458\u5de5\uff0c\u5728\u9f99\u82af\u65f6\u671f\u5b8c\u6210\u4e86\u6b64\u5de5\u4f5c\u3002\\n * \u65ad\u70b9\u3001\u5355\u6b65\uff1aBinbin Zhou\u3002\\n * \u7ec6\u8282\u6539\u8fdb\u8c03\u6574\uff1aHui Li\u3002\\n * \u6784\u5efa\u9519\u8bef\u4fee\u590d\u6253\u78e8\uff1aRandy Dunlap\uff1b\u6d3b\u8dc3\u7684\u4e0a\u6e38\u793e\u533a\u5f00\u53d1\u8005\u540c\u5b66\u4e4b\u4e00\u3002\\n5. \u652f\u6301\u5f00\u542f KCov\uff08\u5185\u6838\u7684\u4ee3\u7801\u8986\u76d6\u7387\u6536\u96c6\u673a\u5236\uff09\u6784\u5efa\u5185\u6838\uff08Feiyang Chen\uff09\uff1b\\n6. \u6dfb\u52a0 KFENCE (Kernel Electric-Fence) \u652f\u6301\uff08Enze Li\uff1b\u8be5\u540c\u5b66\u662f\u9e92\u9e9f\u5458\u5de5\uff09\uff1b\\n7. \u6dfb\u52a0 KASAN (Kernel Address Sanitizer) \u652f\u6301\uff08Qing Zhang\uff09\uff1b\\n8. bug \u4fee\u590d\u4e0e\u5176\u4ed6\u8f83\u5c0f\u53d8\u66f4\uff08Bibo Mao\u3001Weihao Li\u3001Tiezhu Yang\uff09\uff1b\\n9. \u9ed8\u8ba4\u914d\u7f6e\u66f4\u65b0\u3002\\n\\n\u8be5\u4fe1\u606f\u7ffb\u8bd1\u81ea [tag \u8bf4\u660e\u6587\u5b57](https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git/tag/?h=loongarch-6.6)\uff0c\\n\u76f8\u5173\u4f5c\u8005\u4fe1\u606f\u7531\u7b14\u8005\u6574\u7406\u6dfb\u52a0\u3002\\n\u9664\u7b14\u8005\u5916\uff0c\u672a\u63d0\u53ca\u5de5\u4f5c\u5355\u4f4d\u4fe1\u606f\u7684\u540c\u5b66\u90fd\u662f\u9f99\u82af\u5458\u5de5\u3002\\n:::\\n\\n8 \u6708 31 \u65e5\uff0cTianrui Zhao\u3001Bibo Mao \u7b49\u540c\u5b66\u5f00\u53d1\u7684\u9f99\u67b6\u6784 KVM\u5185\u6838\u865a\u62df\u673a\\n\u8865\u4e01\u7cfb\u5217\u5df2[\u8fed\u4ee3\u81f3](https://lore.kernel.org/loongarch/20230831083020.2187109-1-zhaotianrui@loongson.cn/)\u7b2c 20 \u7248\u3002\\n\u76ee\u524d\u9884\u8ba1\u8be5\u529f\u80fd\u6b63\u5f0f\u9732\u9762\u7684\u9996\u4e2a\u4e0a\u6e38\u5185\u6838\u7248\u672c\u662f Linux 6.7\uff08\u4e0b\u4e2a\u5f00\u53d1\u5468\u671f\uff09\uff0c\\n\u4f46\u6211\u4eec\u540c\u65f6\u9884\u8ba1\u793e\u533a\u53d1\u884c\u7248\u4eec\u5c06\u8f83\u5feb\u8ddf\u8fdb\u652f\u6301\uff08\u63d0\u524d\u96c6\u6210\u8fd9\u4e9b\u8865\u4e01\uff09\u3002\\n\\n:::info \u503c\u5f97\u4e00\u63d0\u7684\u662f\\n\u968f\u7740\u4e0a\u6e38\u7684\u5185\u6838 CI\u6301\u7eed\u96c6\u6210 \u8bbe\u65bd\u7684\u9f99\u67b6\u6784\u5de5\u5177\u94fe\u5347\u7ea7\u5230\u6700\u65b0\u7248\uff0c\\n\u6b64\u5806\u4ee3\u7801\u4e2d\u5199\u6b7b\u7684\u3001\u4e0d\u5229\u4e8e\u7ef4\u62a4\u7684\u6307\u4ee4\u7f16\u7801\u7ec8\u4e8e\u6d88\u5931\u4e86\u3002\\n\u8fd9\u5c06\u4e0d\u4f1a\u5f71\u54cd\u4e0b\u6e38\u672a\u5347\u7ea7\u5de5\u5177\u94fe\u7248\u672c\u7684\u53d1\u884c\u7248\u96c6\u6210\u8be5\u529f\u80fd\uff1a\u8fd9\u4e9b\u53d1\u884c\u7248\u603b\u80fd\u4e3a\u5176\u5de5\u5177\u94fe\u5355\u72ec\u52a0\u5165\u76f8\u5173\u6307\u4ee4\u652f\u6301\u3002\\n:::\\n\\n8 \u6708 17 \u65e5\uff0clihui\\n[\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230817032825.22974-1-lihui@loongson.cn/)\u7b2c 3 \u7248\u7684\u9f99\u67b6\u6784 KGDB\u5185\u6838 GDB \u652f\u6301\u8865\u4e01\uff0c\\n\u4f46 :ta: \u628a\u8865\u4e01\u539f\u4f5c\u8005\u3001\u524d\u9f99\u82af\u5458\u5de5 Qing Zhang \u7684\u4f5c\u8005\u4fe1\u606f\u66ff\u6362\u6210\u4e86 :ta: \u81ea\u5df1\u3002\\n\uff08\u5728\u8865\u4e01\u5185\u5bb9\u672c\u8eab\u5e76\u672a\u53d1\u751f\u672c\u8d28\u6539\u53d8\u7684\u524d\u63d0\u4e0b\uff0c\u4f5c\u8005\u4fe1\u606f\u4e0d\u5e94\u88ab\u66ff\u6362\uff09\u3002\\n\u8865\u4e01\u7684\u539f\u4f5c\u8005 Qing Zhang \u5728 29 \u53f7\u4f7f\u7528\u817e\u8baf\u7684\u90ae\u7bb1\u5730\u5740[\u5410\u69fd\u4e86](https://lore.kernel.org/loongarch/ea1126e8-690c-424e-ab52-ef5ebbc9707a@tencent.com/)\u8fd9\u4ef6\u4e8b\uff0c\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u5c1a\u672a\u6709\u540e\u7eed\u8fdb\u5c55\u3002\\n\u672c\u5468\u62a5\u5c06\u6301\u7eed\u4e3a\u60a8\u8ffd\u8e2a\u3002\\n\\n:::info \u5410\u69fd\u7684\u5177\u4f53\u70b9\\n\u4e00\u5207\u4ece\u4e00\u4e2a\u672a\u88ab\u521d\u59cb\u5316\u5373\u88ab\u4f7f\u7528\u7684\u53d8\u91cf `cj_val` \u5f00\u59cb\uff1a\\n\u8fd9\u610f\u5473\u7740\u8fd9\u90e8\u5206\u4ee3\u7801\u7684\u4f5c\u8005\u672a\u4f5c\u4efb\u4f55\u6d4b\u8bd5\uff0c\u751a\u81f3\u8fde\u6d4b\u8bd5\u7f16\u8bd1\u90fd\u6ca1\u8fdb\u884c\uff0c\u4fbf\u63d0\u4ea4\u4e86\u4ee3\u7801\u3002\\n\u4e14\u4e0d\u8bba\u8fd9\u79cd\u884c\u4e3a\u54ea\u6015\u5728\u4efb\u4f55\u516c\u53f8\u5185\u90e8\uff0c\u6050\u6015\u4e5f\u4e0d\u53ef\u63a5\u53d7\uff0c\u9051\u8bba\u793e\u533a\u8303\u7574\uff1b\\n\u4f5c\u4e3a\u8865\u4e01\u539f\u4f5c\u8005\uff0c\u770b\u5230\u63a5\u624b\u7684\u540c\u5b66\u8fd9\u6837\u5bf9\u5f85\u81ea\u5df1\u7684\u52b3\u52a8\u6210\u679c\uff0c\u5410\u69fd\u4e24\u53e5\u4e5f\u5408\u60c5\u5408\u7406\u5427\u3002\\n\\nQing Zhang \u8fd8\u63d0\u5230\uff1a\u8865\u4e01\u7684\u672c\u4f53\u662f :ta: \u7f16\u5199\u7684\uff0c\u540e\u7eed\u4fee\u8865\u5de5\u4f5c\u4e3b\u8981\u662f Binbin Zhou \u505a\u7684\uff0c\\n\u5e76\u4e14\u300c\u4e0d\u6539\u53d8\u4f5c\u8005\u4fe1\u606f\u300d\u8fd9\u4ef6\u4e8b\u4f3c\u4e4e\u662f :ta: \u4ece\u9f99\u82af\u79bb\u804c\u524d\u4e0e lihui \u5185\u90e8\u534f\u8c03\u8fc7\u7684\u4e8b\u9879\u3002\\n\u6211\u4eec\u5728\u6ca1\u6709\u83b7\u5f97\u66f4\u591a\u6d88\u606f\u4e4b\u524d\uff0c\u76f8\u4fe1\u6c9f\u901a\u53cc\u65b9\u672c\u8d28\u4e0a\u90fd\u57fa\u4e8e\u5584\u610f\uff1a\u4e5f\u8bb8 lihui\\n\u6216\u5176\u90e8\u95e8\u6709\u4ec0\u4e48\u5176\u4ed6\u539f\u56e0\u5bfc\u81f4 :ta: \u4e0d\u80fd\u7ef4\u6301\u539f\u4f5c\u8005\u4fe1\u606f\u4e86\u3002\\n\u5e0c\u671b\u8fd9\u573a\u5c0f\u98ce\u6ce2\u80fd\u6700\u7ec8\u5e73\u7a33\u89e3\u51b3\uff01\\n:::\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n9 \u6708 2 \u65e5\uff0cLulu Cheng \u4f9d\u7167 [2018 \u5e74 RISC-V \u7684\u540c\u7b49\u4f18\u5316](https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=7bbce9b50302959286381d9177818642bceaf301)\uff0c\\n\u4e5f\u7ed9\u9f99\u67b6\u6784[\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629155.html) `switch` \u8bed\u53e5\u9009\u62e9\u652f\u662f 8 \u4f4d\u91cf\u7684\u7b26\u53f7\u6269\u5c55\u7ed3\u679c\u65f6\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n\u540c\u4e00\u5929\uff0cguojie [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629157.html)\u5411\u5f62\u5982 `MEM[base + index]` \u7684\u4f4d\u7f6e\u5b58\u5165\u6d6e\u70b9 `0.0` \u8fd9\u79cd\u884c\u4e3a\u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n9 \u6708 1 \u65e5\uff0cLulu Cheng \u5408\u5e76\u4e86 :ta: \u548c guojie 6 \u6708 29 \u65e5\u505a\u7684\u4e00\u5904\u4ee3\u7801\u751f\u6210\u9519\u8bef\u4fee\u590d\uff08GCC bug [PR110484](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110484)\uff0c\\n\u5728\u5f00\u542f LTO\u94fe\u63a5\u65f6\u4f18\u5316 \u7f16\u8bd1 SPEC2017 541.leela\\\\_r \u7528\u4f8b\u65f6\u53d1\u73b0\uff09\u3002\\n\\n:::info LTO \u662f\u8dd1\u5206\u4e13\u4eab\u4f18\u5316\u5417\uff1f\u6709\u7528\u5417\uff1f\u4f1a\u53cd\u800c\u9020\u6210\u6027\u80fd\u52a3\u5316\u5417\uff1f\\n\u7b80\u5355\u7684\u56de\u7b54\uff1a\u4e0d\u662f\uff1b\u6709\u7528\uff1b\u4e0d\u5927\u53ef\u80fd\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u3002\\n\\n\u590d\u6742\u7684\u56de\u7b54\uff1a\u53d6\u51b3\u4e8e\u5177\u4f53\u53d1\u884c\u7248\u548c\u8f6f\u4ef6\u4f5c\u8005\u7684\u7f16\u8bd1\u53c2\u6570\u9009\u62e9\uff1b\u53d6\u51b3\u4e8e\u5177\u4f53\u4ee3\u7801\u5199\u6cd5\uff1b\u5177\u4f53\u60c5\u51b5\u5177\u4f53\u5206\u6790\u3002\\n:::\\n\\n8 \u6708 31 \u65e5\uff0cchenxiaolong [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628895.html)\u7b2c 5 \u7248\u7684\\n128 \u4f4d\u6d6e\u70b9\u64cd\u4f5c\u5185\u5efa\u51fd\u6570\u652f\u6301\u3002\\n\\n\u540c\u4e00\u5929\uff0cLulu Cheng [\u4f18\u5316\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628950.html)\u4ece\u5185\u5b58\u4e2d\u8f7d\u5165\u5b9a\u70b9\u6570\u5e76\u9a6c\u4e0a\u5c06\u5176\u8f6c\u4e3a\u6d6e\u70b9\u6570\u7684\u64cd\u4f5c\uff1a\\n\u6bcf\u6b21\u8fd9\u79cd\u60c5\u51b5\u90fd\u7701\u4e00\u6761\u6307\u4ee4\uff08\u4e0d\u7528\u975e\u5f97\u5148\u88c5\u8fdb GPR \u518d\u642c\u8fdb FPR\uff0c\u53ef\u4ee5\u76f4\u63a5\u88c5\u8fdb FPR \u53bb\uff09\u3002\\n\\n#### glibc\\n\\n8 \u6708 26 \u65e5\uff0cXi Ruoyao [\u6e05\u7406\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151146.html)\u81ea\u4ece\\nglibc \u8981\u6c42\u7684\u6700\u4f4e binutils \u7248\u672c\u62ac\u5347\u81f3 2.41 \u4e4b\u540e\u4e0d\u518d\u9700\u8981\u7684\u517c\u5bb9\u4ee3\u7801\u3002\\n\\n8 \u6708 24 \u65e5\uff0cdengjianbo [\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151091.html)\u7b2c\u4e8c\u6279 LSX\u3001LASX \u5b9e\u73b0\u7684\u5b57\u7b26\u4e32\u51fd\u6570\u3002\\n\u968f\u540e 28 \u65e5 :ta: \u53c8[\u8d34\u51fa\u4e86](https://sourceware.org/pipermail/libc-alpha/2023-August/151156.html)\u7b2c\u4e09\u6279\u3002\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u4e0a\u8ff0\u6539\u8fdb\u90fd\u5df2\u8fdb\u5165\u4e3b\u7ebf\u4e86\u3002\uff08\u611f\u8c22 Xi Ruoyao \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n#### LLVM\\n\\n8 \u6708 31 \u65e5\uff0chev \u628a [RISC-V \u7684\u4e00\u9879\u7279\u5b9a\u6709\u7528\u539f\u5b50\u64cd\u4f5c\u4f18\u5316](https://reviews.llvm.org/D156801)\uff0c[\u79fb\u690d\u5230\u4e86](https://reviews.llvm.org/D159252)\u9f99\u67b6\u6784\u3002\\n\u8fd9\u5c06[\u6709\u5229\u4e8e Rust](https://github.com/rust-lang/rust/pull/114034) \u751f\u6210\u66f4\u597d\u7684\u4ee3\u7801\u3002\\n\\n\u540c\u4e00\u5929\uff0chev \u8fd8[\u4f18\u5316\u6389\u4e86](https://reviews.llvm.org/D159272)\u9f99\u67b6\u6784 LL/SC \u64cd\u4f5c\u5e8f\u5217\u4e2d\u4e0d\u5fc5\u8981\u7684\u6805\u969c\u52a8\u4f5c\u3001\u4fee\u590d\u4e86\u5176 acquire \u8bed\u4e49\u3002\\n\\n8 \u6708 30 \u65e5\uff0cSixWeining [\u4f18\u5316\u4e86](https://reviews.llvm.org/D159183)LLVM intrinsic `llvm.is.fpclass` \u7684\u4ee3\u7801\u751f\u6210\u3002\\n\\n#### Go\\n\\n\uff08\u8fd9\u662f\u524d\u51e0\u671f\u9057\u6f0f\u5185\u5bb9\u7684\u8865\u5145\uff098 \u6708 22 \u65e5\uff0cGuoqi Chen \u9886\u8854\u7684\u9f99\u82af Go \u56e2\u961f[\u8d34\u51fa\u4e86](https://go-review.googlesource.com/c/go/+/521790)\u9f99\u67b6\u6784\u7684 regabi\u5bc4\u5b58\u5668 ABI \u9002\u914d\u8865\u4e01\u3002\\n\u7b14\u8005\u5728\u6b64\u5de5\u4f5c\u7684\u65e9\u671f\u4ea6\u6709\u8d21\u732e\u3002\\n\u6b64\u9002\u914d\u5b8c\u6574\u5408\u5e76\u3001\u542f\u7528\u540e\uff0c\u5c06\u4e3a\u9f99\u67b6\u6784\u7684 Go \u7a0b\u5e8f\u666e\u904d\u5e26\u6765 10% \u5230 20% \u5de6\u53f3\u7684\u6027\u80fd\u4f18\u5316\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 29 \u65e5\uff0cXi Ruoyao [\u4fee\u590d\u4e86](https://sourceware.org/pipermail/elfutils-devel/2023q3/006362.html)\\nelfutils \u9879\u76ee\u5728\u9f99\u67b6\u6784 binutils 2.41 \u4e0a\u7684\u6d4b\u8bd5\u5931\u8d25\uff08\u9057\u6f0f\u4e86\u65b0\u6dfb\u52a0\u7684\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5e38\u91cf\uff09\u3002\uff08\u611f\u8c22 Xi Ruoyao \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n8 \u6708 28 \u65e5\uff0cJiajie Chen \u4e3a QEMU TCG \u7684 LoongArch64 \u79fb\u690d\u6dfb\u52a0\u4e86\u5411\u91cf\u652f\u6301\uff1a\\n\u53ef\u4ee5\u5c06\u88ab\u6a21\u62df\u67b6\u6784\u7684\u4e00\u4e9b SIMD \u64cd\u4f5c\u6620\u5c04\u5230\u9f99\u67b6\u6784\u7684\u5bf9\u5e94 SIMD \u64cd\u4f5c\u4e86\u3002\\n\u622a\u81f3 9 \u6708 2 \u65e5\uff0c\u8be5\u8865\u4e01\u7cfb\u5217\u5df2[\u8fed\u4ee3\u81f3\u7b2c 3 \u7248](https://patchwork.ozlabs.org/project/qemu-devel/list/?series=371423)\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u5df2\u77e5\u6709\u540c\u5b66\u5728\u8fdb\u884c AMD® ROCm® \u5957\u4ef6\u7684\u9f99\u67b6\u6784\u79fb\u690d\u5de5\u4f5c\u4e86\uff0c\\n\u4e5f\u6709\u540c\u5b66\u5728\u9f99\u67b6\u6784\u4e0a\u521d\u6b65\u8dd1\u8d77\u4e86 NixOS\u3002\\n\u671f\u5f85 :ta: \u4eec\u5e26\u7740\u6574\u7406\u597d\u7684\u4ee3\u7801\u6b63\u5f0f\u51fa\u9053\uff01:smirk_cat:\\n\\n\u7b14\u8005\u4ecd\u5728\u4e0d\uff08b\u01cei\uff09\u614c\uff08m\xe1ng\uff09\u4e0d\uff08zh\u012b\uff09\u5fd9\uff08zh\u014dng\uff09\u7ee7\u7eed 3A6000/LA664 \u7684\u6d4b\u8bd5\u5de5\u4f5c\u3002\\n\u622a\u81f3\u76ee\u524d\uff1a\\n\\n* \u8bc1\u5b9e\u5230\u4e86 LA664 \u4e8c\u8fdb\u5236\u7ffb\u8bd1\u52a0\u901f\u5355\u5143\u7684\u541e\u5410\u63d0\u5347\uff0c\\n* \u53d1\u73b0\u524d\u51e0\u671f\u63d0\u5230\u7684\u786c\u4ef6\u9875\u8868\u904d\u5386\u52a0\u901f\u5355\u5143\uff08PTW\uff09\u88ab\u56fa\u4ef6\u5173\u95ed\u4e86\uff08\u53ef\u80fd\u6709 bug \u5bfc\u81f4\u4e0d\u80fd\u7528\uff09\uff0c\\n* \u4ecd\u672a\u786e\u8ba4\u5230 LA664 \u76f8\u6bd4 LA464 \u65b0\u589e\u7684\u4efb\u4f55\u6307\u4ee4\u3002\\n\\n\u6b64\u5916\uff0cLA664 \u7684 `CPUCFG` \u6570\u636e\u4e2d\u6709\u4e0d\u5c11\u672a\u77e5\u4f4d\u57df\u88ab\u7f6e\u4e86 `1`\uff0c\u4f46\u76ee\u524d\u5e76\u65e0\u4efb\u4f55\u65b9\u6cd5\u80fd\u83b7\u77e5\u5b83\u4eec\u7684\u540d\u5b57\u4e0e\u542b\u4e49\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-13","metadata":{"permalink":"/newsletter/this-week-in-loongarch-13","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-08-28-this-week-in-loongarch-13.mdx","source":"@site/newsletter/2023-08-28-this-week-in-loongarch-13.mdx","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-08-28T08:06:17.000Z","formattedDate":"2023\u5e748\u670828\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.43,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-13","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","authors":["xen0n"],"date":"2023-08-28T08:06:17.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 14 \u671f","permalink":"/newsletter/this-week-in-loongarch-14"},"nextItem":{"title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-12"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n{/* truncate */}\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n\u7f8e\u897f\u65f6\u95f4\u5468\u65e5\u4e0b\u5348 3 \u70b9\u4e00\u523b\uff08\u4e2d\u56fd\u65f6\u95f4\u5468\u4e00\u65e9\u6668 6 \u70b9\uff09\uff0cLinus \u53d1\u5e03\u4e86 Linux 6.5 \u6b63\u5f0f\u7248\u3002\\n\u76f8\u6bd4\u4e8e Linux 6.4\uff0c\u5bf9\u9f99\u67b6\u6784\u800c\u8a00\uff0c\u8be5\u7248\u672c\u4e3b\u8981\u5305\u542b\u4e86\u4ee5\u4e0b\u4e00\u4e9b\u529f\u80fd\u53d8\u66f4\uff1a\\n\\n* \u9f99\u82af\u4e2d\u65ad\u63a7\u5236\u5668\u7684 bug \u4fee\u590d\uff08Jianmin Lv\u3001Liu Peibao\u3001Yinbo Zhu\uff09\u4e0e DT\u8bbe\u5907\u6811 \u5f15\u5bfc\u652f\u6301\uff08Binbin Zhou\uff09\u3002\\n* LS7A \u96c6\u6210\u58f0\u5361\u652f\u6301\uff08Yanteng Si\uff09\u3002\\n* AMD RDNA2 \u663e\u5361\u652f\u6301\uff08WANG Xuerui\u3001Huacai Chen\uff09\u3002\\n* \u652f\u6301\u4ee5 LLVM/Clang \u6784\u5efa\u9f99\u67b6\u6784\u5185\u6838\u7684\u4e00\u79cd\u57fa\u672c\u914d\u7f6e\uff08WANG Xuerui\u3001WANG Rui\uff09\u3002\\n* 3A6000 \u9002\u914d\u5de5\u4f5c\uff08\u786c\u4ef6\u9875\u8868\u904d\u5386\u3001SMT\u3001\u5411\u91cf\u6269\u5c55\u6307\u4ee4\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u652f\u6301\u7b49\uff09\uff08Huacai Chen\uff09\u3002\\n* \u53d1\u73b0\u5e76\u4fee\u590d\u4e86\u7f16\u8bd1\u5668\u5b89\u5168\u5f3a\u5316\u624b\u6bb5\uff08`CONFIG_FORTIFY_SOURCE`\uff09\u672a\u80fd\u5b8c\u5168\u751f\u6548\u7684\u95ee\u9898\uff08Nathan Chancellor\u3001Nick Desaulniers\u3001WANG Xuerui\uff09\u3002\\n\\nLinux \u4e0a\u6e38\u793e\u533a\u4e0d\u4ec5\u7ef4\u62a4\u5185\u6838\uff0c\u4e5f\u5305\u62ec\u8bb8\u591a Linux \u7684\u5468\u8fb9\u8f6f\u4ef6\u3001\u652f\u6301\u5e93\u7b49\u3002\\n\\n* nolibc \u7684 stack protector \u652f\u6301\uff08Thomas Wei\xdfschuh\uff09\u3002\\n* `perf` \u547d\u4ee4\u7684\u9f99\u67b6\u6784\u6c47\u7f16\u5904\u7406\u4fee\u590d\uff08WANG Rui\uff09\u4ee5\u53ca\u4e00\u4e9b\u65e5\u5e38\u6027\u8d28\u7684\u4ee3\u7801\u6574\u7406\u5de5\u4f5c\uff08Tiezhu Yang\uff09\u3002\\n\\n\u867d\u7136\u9f99\u82af\u56e2\u961f\u5bf9\u5176 MIPS \u65f6\u4ee3\u4ea7\u54c1\u7684\u4e3b\u7ebf\u7ef4\u62a4\u5de5\u4f5c\u5f3a\u5ea6\u5df2\u5927\u4e0d\u5982\u524d\\n\uff08\u5728\u9f99\u82af MIPS \u4ea7\u54c1\u7ebf\u88ab\u780d\u4e4b\u524d\uff0c\u8fd9\u4e9b\u4ea7\u54c1\u672a\u80fd\u7b49\u5230\u5b8c\u5584\u7684\u4e3b\u7ebf\u652f\u6301\u3002\\n\u56e0\u6b64\u540e\u7eed\u5373\u4fbf\u9f99\u82af\u8981\u4e3a\u5176 MIPS \u4ea7\u54c1\u63d0\u4f9b\u6280\u672f\u652f\u6301\uff0c\u4e5f\u4e0d\u5fc5\u975e\u5f97\u5c06\u8fd9\u4e9b\u6210\u679c\u5408\u5e76\u56de\u4e3b\u7ebf\u4e86\uff09\uff0c\\n\u8fd9\u4e9b\u4ea7\u54c1\u4ecd\u7136\u5728\u5f97\u5230\u793e\u533a\u3001\u9f99\u82af\u5f00\u53d1\u8005\u7684\u90e8\u5206\u652f\u6301\u3002\\n\\n* \u9f99\u82af 1 \u53f7\u7684 PWM \u5b9a\u65f6\u5668/\u65f6\u949f\u6e90\u3001\u770b\u95e8\u72d7\u652f\u6301\uff08Keguang Zhang\uff09\u3002\\n* \u4e3a\u9f99\u82af 2K1000 SoC\u3001LS7A \u6865\u7247\u7684 MIPS \u7cfb\u7edf\u542f\u7528\u677f\u8f7d RTC \u652f\u6301\uff08Binbin Zhou\uff09\u3002\\n* MIPS KVM \u7a7a\u6307\u9488\u5f15\u7528\u4fee\u590d\u3001MIPS \u9f99\u82af\u5185\u6838\u7684\u7f16\u8bd1\u9519\u8bef\u4fee\u590d\u7b49\uff08Huacai Chen\uff09\u3002\\n\\n\u9664\u4ee5\u4e0a\u53d8\u66f4\u4e4b\u5916\uff0c\u8fd8\u6709\u8bb8\u591a\u540c\u7b49\u91cd\u8981\u7684\u7f3a\u9677\u4fee\u590d\u3001\u4ee3\u7801\u91cd\u6784\u7b49\u5de5\u4f5c\u503c\u5f97\u8912\u626c\u3002\\n\u8fd9\u4e2a\u7248\u672c\u52a8\u8fc7\u9f99\u82af\u76f8\u5173\u4ee3\u7801\u7684\u6240\u6709\u5f00\u53d1\u8005\u4eec\uff08\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5e8f\uff0c\u4ee5 Git \u63d0\u4ea4\u8bb0\u5f55\u4e2d\u7684\u4f5c\u8005\u5b57\u6bb5\u4e3a\u51c6\uff09\uff1a\\n\\nimport ColumnedList from \'@site/src/components/ColumnedList\'\\n\\n\\n* Andy Shevchenko\\n* Arnaldo Carvalho de Melo\\n* Arnd Bergmann\\n* Binbin Zhou\\n* Chao Yu\\n* Chenguang Zhao\\n* Dan Carpenter\\n* Dave Airlie\\n* Donglin Peng\\n* Eric Lin\\n* Haoran Jiang\\n* Huacai Chen\\n* Ian Rogers\\n* Javier Martinez Canillas\\n* Jianmin Lv\\n* Jonathan Corbet\\n* Keguang Zhang\\n* Kuninori Morimoto\\n* Linus Torvalds\\n* Liu Peibao\\n* Marc Zyngier\\n* Masahiro Yamada\\n* Maxime Ripard\\n* Peter Zijlstra\\n* Sui Jingfeng\\n* Thomas Gleixner\\n* Thomas Wei\xdfschuh\\n* Thomas Zimmermann\\n* Tiezhu Yang\\n* WANG Rui\\n* WANG Xuerui\\n* Xi Ruoyao\\n* Yanteng Si\\n* Yinbo Zhu\\n* Yingkun Meng\\n* YingKun Meng\\n* Youling Tang\\n* Zhihong Dong\\n\\n\\n\u5f53\u4f60\u4f7f\u7528\u9f99\u67b6\u6784 Linux 6.5 \u65f6\uff0c\u522b\u5fd8\u4e86\u5411 :ta: \u4eec\u8868\u8fbe\u4e00\u58f0\u611f\u8c22\uff01\\n\\n:::info\\n\u672c\u8282\u62a5\u9053\u7684\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684 `git` \u64cd\u4f5c\u4ece Linux \u4ed3\u5e93\u4e2d\u83b7\u53d6\uff1a\\n\\n```sh\\ngit log --grep=\'[Ll]oong\' v6.4..v6.5\\n```\\n\\n:::\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n8 \u6708 28 \u65e5\uff0cLulu Cheng \u4e3a\u9f99\u67b6\u6784 `-O2` \u53ca\u66f4\u9ad8\u7684\u4f18\u5316\u7ea7\u522b[\u9ed8\u8ba4\u5f00\u542f\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628538.html)\u79fb\u9664\u975e\u5fc5\u8981\u7b26\u53f7\u6269\u5c55\u3001\u96f6\u6269\u5c55\u64cd\u4f5c\u7684\u4f18\u5316\uff0c\\n\u4e5f[\u5408\u5e76\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628534.html)\\n25 \u65e5 :ta: \u81ea\u5df1\u5199\u7684\u907f\u514d `SLT` \u6307\u4ee4\u5f15\u8d77\u591a\u4f59\u7b26\u53f7\u6269\u5c55\u52a8\u4f5c\u7684\u8865\u4e01\u3002\\n\\n#### LLVM\\n\\n8 \u6708 25 \u65e5\uff0cSixWeining [\u4f18\u5316\u4e86](https://reviews.llvm.org/D158832)\u9f99\u67b6\u6784\u7684\u4f4d\u57df\u6e05\u96f6\u64cd\u4f5c\uff0c\u57fa\u672c\u4e0a\u6bcf\u5904\u53ef\u4ee5\u7701 1 \u6761\u6307\u4ee4\u3002\\n\\n8 \u6708 23 \u65e5\uff0cAmi-zhang \u4e3a MSan [\u589e\u52a0\u4e86](https://reviews.llvm.org/D158587)\u9f99\u67b6\u6784\u53ef\u53d8\u53c2\u6570\u5217\u8868\u51fd\u6570\u7684\u652f\u6301\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 24 \u65e5\uff0cSong Gao [\u53d1\u51fa\u4e86](https://patchew.org/QEMU/20230824092409.1492470-1-gaosong@loongson.cn/)\\nQEMU 8.2 \u7684\u9f99\u67b6\u6784 target \u76f8\u5173\u6539\u52a8\u7684 PR\u3002\\n\u5176\u4e2d\u5305\u542b\u4e86\uff1a\\n\\n* LA32 \u652f\u6301\uff08Jiajie Chen\uff09\uff0c\\n* \u5728\u7ffb\u8bd1\u6269\u5c55\u6307\u4ee4\u524d\u8fdb\u884c\u66f4\u5b8c\u5584\u7684\u524d\u7f6e\u6761\u4ef6\u68c0\u67e5\uff08Song Gao\uff09\uff0c\\n* \u8fb9\u6cbf\u89e6\u53d1\u4e2d\u65ad\u7684\u4fee\u590d\uff08Bibo Mao\uff09\uff0c\u4ee5\u53ca\\n* \u4e3a CSR \u5199\u64cd\u4f5c\u6dfb\u52a0\u65e5\u5fd7\uff0c\u4ee5\u53ca\u4ee3\u7801\u91cd\u6784\uff08Philippe Mathieu-Daud\xe9\uff09\u3002\\n\\n\uff08\u611f\u8c22 Jiajie Chen \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n\u540c\u4e00\u5929\uff0cKatyushaScarlet 7 \u6708 22 \u65e5\u4e3a google/cpufeatures \u5e93\u505a\u7684\u9f99\u67b6\u6784\u9002\u914d[\u4e5f\u8fdb\u5165\u4e86\u4e3b\u7ebf](https://github.com/google/cpu_features/pull/314)\uff0c\\n\u9884\u8ba1\u5c06\u5728\u6b64\u5e93\u7684 v0.9.0 \u7248\u672c\u53d1\u5e03\u3002\uff08\u611f\u8c22 KatyushaScarlet \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"these-weeks-in-loongarch-12","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-12","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-08-22-these-weeks-in-loongarch-12.md","source":"@site/newsletter/2023-08-22-these-weeks-in-loongarch-12.md","title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-08-21T17:07:50.000Z","formattedDate":"2023\u5e748\u670821\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.845,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-12","title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","authors":["xen0n"],"date":"2023-08-21T17:07:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 13 \u671f","permalink":"/newsletter/this-week-in-loongarch-13"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","permalink":"/newsletter/this-week-in-loongarch-11"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u7684\u73b0\u5b9e\u751f\u6d3b\u51fa\u73b0\u53d8\u6545\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e09\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\nxen0n \u4f7f\u7528\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u505a\u7684 RAID5\u3001RAID6 \u8ba1\u7b97\u4f18\u5316\u5df2[\u88ab linux-raid \u7ef4\u62a4\u8005\u63a5\u53d7](https://lore.kernel.org/linux-raid/CAPhsuW5J_wUGmU+1tvzTqmpJSRrJicXoNmp+-ftDuHuhBcbkqA@mail.gmail.com/T/#t)\uff0c\u5df2\u5728\u6700\u65b0 linux-next \u53ef\u7528\u3002\\n\u76f8\u6bd4\u901a\u7528\u7684\u6807\u91cf\u7b97\u6cd5\uff0c\u5411\u91cf\u52a0\u901f\u53ef\u4f7f\u8fd9\u4e9b\u64cd\u4f5c\u7684\u6027\u80fd\u63d0\u5347 1~3 \u500d\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### gcc\\n\\n8 \u6708 15 \u65e5\uff0cChenghui Pan \u4e0e Lulu Cheng \u7b49\u4eba\u7684\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u4e0a\u6e38\u8865\u4e01\u5df2\u7ecf[\u7ffb\u65b0\u5230\u4e86\u7b2c 4 \u7248](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627413.html)\u3002\\n\u4e0d\u8fc7\u4ecd\u7136\u6ca1\u6709\u5c06\u8865\u4e01\u62c6\u5f97\u66f4\u7ec6\uff0c\u4e5f\u4ecd\u7136\u6709\u4e00\u4e9b\u5c0f\u7ec6\u8282\u9700\u8981\u6253\u78e8\u3002\\n\u597d\u4e8b\u591a\u78e8\uff01\\n\\n8 \u6708 6 \u65e5\uff0cJiajie Chen [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626413.html)\\n32 \u4f4d\u9f99\u67b6\u6784\uff08LA32\uff09\u7684 GCC \u652f\u6301\u8865\u4e01\u3002\\n\u8be5\u540c\u5b66\u662f\u8fd1\u4e00\u6bb5\u65f6\u95f4\u4ee5\u6765\u7684\u65b0\u9c9c\u9762\u5b54\uff0c\u4e14\u5e76\u975e\u9f99\u82af\u5458\u5de5\uff0c\u6b22\u8fce\u6b22\u8fce\uff01\\n\uff08\u611f\u8c22 xry111 \u7684\u7ebf\u7d22\u6295\u9012\uff1b\u4ed6\u8fd8\u6709\u53e5\u5410\u69fd\uff1a\u5efa\u8bae\u5927\u5bb6\u522b\u5728\u8111\u5b50\u91cc\u603b\u628a 32 \u4f4d ISA \u8ddf 32 \u4f4d ABI \u201c\u5f3a\u7ed1\u5b9a\u201d\u4e00\u8d77\u3002\uff09\\n\\n#### LLVM\\n\\n8 \u6708 21 \u65e5\uff0cwangleiat \u5c06\u9f99\u67b6\u6784\u7684\u6808\u91cd\u5bf9\u9f50\u64cd\u4f5c\u5b9e\u73b0\u65b9\u5f0f\u4ece\u4e24\u6761\u79fb\u4f4d\uff08RISC-V \u505a\u6cd5\uff09[\u4f18\u5316\u5230\u4e86](https://reviews.llvm.org/D158384)\u4e00\u6b21 `bstrins`\u3002\\n\\n8 \u6708 19 \u65e5\uff0cwangleiat \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1\u505a\u7684 Clang \u9f99\u67b6\u6784\u5411\u91cf\u64cd\u4f5c intrinsics\\n\u652f\u6301\u8865\u4e01\uff08[LSX](https://reviews.llvm.org/D155829)\u3001[LASX](https://reviews.llvm.org/D155830)\uff09\\n\u4e0e leecheechen \u8865\u7684\u76f8\u5173\u6d4b\u8bd5\u7528\u4f8b\uff08[LSX](https://reviews.llvm.org/D155834)\u3001[LASX](https://reviews.llvm.org/D155835)\uff09\u3002\\n\\n8 \u6708 9 \u65e5\uff0cwangleiat \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1 2 \u53f7\u505a\u7684\u4e00\u7ec4 Clang \u9f99\u67b6\u6784 intrinsics \u76f8\u5173\u7684[\u4ee3\u7801\u91cd\u6784](https://reviews.llvm.org/D156866)\u3002\\n\\n\u540c\u4e00\u5929\uff0cSixWeining \u5408\u5e76\u4e86\u4ed6\u81ea\u5df1 1 \u53f7\u4e3a LLD \u65b0\u589e\u7684 [`R_LARCH_PCREL20_S2` \u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7c7b\u578b\u652f\u6301](https://reviews.llvm.org/D156772)\uff1b\\n\u8fd8\u628a\u5148\u524d\u88ab\u53d1\u73b0\u6709\u95ee\u9898\u7684 `-march=`\u3001`-mtune=` \u9009\u9879\u652f\u6301\u8865\u4e01[\u6700\u7ec8\u4fee\u597d\u4e86](https://reviews.llvm.org/D155824)\u3002\\n\\n8 \u6708 8 \u65e5\uff0cSixWeining [\u4fee\u590d\u4e86](https://reviews.llvm.org/D156116)\u9f99\u67b6\u6784 Clang \u4e0e GCC \u6240\u5b9e\u73b0\u7684 C++ ABI \u7684\u4e00\u5904\u4e0d\u4e00\u81f4\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n8 \u6708 17 \u65e5\uff0ccaiyinyu \u5408\u5e76\u4e86 8 \u6708 4 \u65e5 dengjianbo \u5728 glibc \u90ae\u4ef6\u5217\u8868[\u8d34\u51fa\u7684](https://sourceware.org/pipermail/libc-alpha/2023-August/150671.html)\u4f7f\u7528\u9f99\u67b6\u6784\u5411\u91cf\u6307\u4ee4\u4f18\u5316\u7684\u5b57\u7b26\u4e32\u64cd\u4f5c\u5b9e\u73b0\u3002\\n\u4ece\u90ae\u7bb1\u5730\u5740\u770b\uff0c\u8fd9\u4f4d Deng \u59d3\u540c\u5b66\u662f\u9f99\u82af\u5458\u5de5\uff0c\u8fd9\u5e94\u8be5\u662f :ta: \u5728\u4e0a\u6e38\u7684\u9996\u79c0\u3002\u6b22\u8fce\u6b22\u8fce\uff01\\n\u8fd9\u4e5f\u610f\u5473\u7740\u80fd\u591f\u6784\u5efa\u9f99\u67b6\u6784 glibc 2.39 \u7684\u6700\u4f4e binutils \u7248\u672c\u4e0a\u5347\u5230\u4e86 2.41\u3002xry111 \u5bf9\u6b64\u6307\u51fa\uff1a\\n\u4e0e\u4e00\u4e9b\u5176\u4ed6\u9879\u76ee\u4e0d\u540c\uff0cglibc \u7684\u7ef4\u62a4\u8005\u4eec\u4e0d\u559c\u6b22\u68c0\u6d4b\u6c47\u7f16\u5668\u80fd\u529b\u5e76\u4ee5\u6b64\u51b3\u5b9a\u6253\u5f00\u6216\u662f\u5173\u95ed\u67d0\u4e9b\u529f\u80fd\u3002\\n\uff08\u611f\u8c22 xry111 \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n8 \u6708 16 \u65e5\uff0cDebian Ports \u9879\u76ee[\u6b63\u5f0f\u5c06\u9f99\u67b6\u6784\u52a0\u5165](https://lists.debian.org/debian-devel-announce/2023/08/msg00000.html)\u5176\u81ea\u52a8\u5316\u6784\u5efa\u68af\u961f\u3002\\n\u8fd9\u5929\u4e5f\u6070\u5de7\u662f Debian \u9879\u76ee\u521b\u7acb 30 \u5468\u5e74\u7684\u7eaa\u5ff5\u65e5\u3002\\n\u6b64\u4e8b\u4e5f\u5f97\u5230\u4e86\u77e5\u540d Linux \u5a92\u4f53 [Phoronix \u7684\u62a5\u9053](https://www.phoronix.com/news/Debian-Ports-LoongArch)\u3002\\n\\nLLD \u539f\u4f5c\u8005 Rui Ueyama \u5355\u98de\u540e\u521b\u7acb\u7684 mold \u9879\u76ee\uff0c\u5df2\u5728\u5176 8 \u6708 13 \u65e5\u6b63\u5f0f\u53d1\u5e03\u7684 2.1\\n\u7248\u672c\u4e2d[\u5305\u542b\u4e86](https://github.com/rui314/mold/pull/1081) Jinyang He \u57fa\u4e8e LLD\\nLoongArch port \u5199\u4f5c\u7684\u9f99\u67b6\u6784\u652f\u6301\u8865\u4e01\u3002\\nPhoronix \u4e5f[\u62a5\u9053\u4e86](https://www.phoronix.com/news/Mold-2.1-Adds-LoongArch)\u6b64\u4e8b\u3002\\n\uff08\u611f\u8c22 zhangn1985 \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u8fd9\u51e0\u5468\u6ca1\u6709\u7f51\u53cb\u6574\u5927\u6d3b\u7684\u5370\u8c61\uff0c\u53ef\u80fd\u662f\u7b14\u8005\u6ca1\u5173\u6ce8\uff0c\u4e5f\u53ef\u80fd\u786e\u5b9e\u98ce\u5e73\u6d6a\u9759\u3002\\n\u4e0d\u8fc7\u7b14\u8005\u548c\u5176\u4ed6\u5f88\u591a\u540c\u5b66\u90fd\u9646\u7eed\u62ff\u5230/\u4e70\u5230\u4e86 3A6000 \u677f\u5b50\uff0c\u9884\u8ba1\u6709\u5f88\u591a\u6298\u817e\u6210\u679c\u5c06\u4e0d\u65e5\u516c\u5e03 :wink:\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-11","metadata":{"permalink":"/newsletter/this-week-in-loongarch-11","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-31-this-week-in-loongarch-11.md","source":"@site/newsletter/2023-07-31-this-week-in-loongarch-11.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-31T12:21:17.000Z","formattedDate":"2023\u5e747\u670831\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.545,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-11","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","authors":["xen0n"],"date":"2023-07-31T12:21:17.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e09\u9f99\uff1a\u7b2c 12 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-12"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","permalink":"/newsletter/this-week-in-loongarch-10"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n7 \u6708 31 \u65e5\uff0cxen0n \u5728\u505a RAID6 \u9f99\u67b6\u6784\u5411\u91cf\u4f18\u5316\u7684\u8fc7\u7a0b\u4e2d\uff0c\\n\u987a\u5e26[\u4fee\u590d\u4e86](https://lore.kernel.org/linux-raid/20230731104911.411964-1-kernel@xen0n.name/)\u5e74\u4e45\u5931\u4fee\u7684 `raid6test` \u8c03\u8bd5\u5de5\u5177\u3002\\n\\n\u4e2d\u56fd\u65f6\u95f4 7 \u6708 31 \u65e5\u51cc\u6668\uff0cLinus [tagged](https://lore.kernel.org/lkml/CAHk-=wik9NO9Un-OU0rVeo1+dp=6vj=s=K0T=uBVEa+Aqkj66w@mail.gmail.com/) Linux v6.5-rc4\u3002\\n\u5176\u4e2d\u7684\u9f99\u67b6\u6784\u53d8\u66f4\u5305\u542b\u4e86[\u9488\u5bf9 binutils 2.41 \u7684\u6784\u5efa\u4fee\u590d\u8865\u4e01](https://github.com/torvalds/linux/commit/03c53eb90c0c61885b2175adf8675fb56df7f8db)\uff0c\\n\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u81ea\u884c\u53d6\u7528\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n7 \u6708 30 \u65e5\u665a\u95f4\uff0cbinutils 2.41 [\u6b63\u5f0f\u53d1\u5e03](https://sourceware.org/pipermail/binutils/2023-July/128719.html)\u3002\\n\u76f8\u5173\u53d8\u66f4\u5185\u5bb9\u5df2\u5728[\u5468\u62a5\u7b2c 7 \u671f](./2023-07-03-this-week-in-loongarch-7.md)\u62a5\u9053\u3002\\n\\n7 \u6708 29 \u65e5\uff0cLLVM 17.0.0-rc1 [\u53d1\u5e03](https://discourse.llvm.org/t/llvm-17-0-0-rc1-tagged/72404)\u3002\\n\u9664\u4e86\u5df2\u5728[\u5468\u62a5\u7b2c 10 \u671f](./2023-07-24-this-week-in-loongarch-10.md)\u62a5\u9053\u7684\u53d8\u66f4\u4e4b\u5916\uff0c\u5176\u4e2d\u91cd\u8981\u7684\u9f99\u67b6\u6784\u76f8\u5173\u53d8\u66f4\u8fd8\u6709\uff1a\\n\\n* LLD \u73b0\u5df2\u652f\u6301\u9f99\u67b6\u6784\uff08by xen0n\uff09\u3002\\n \u5728 LLVM\u3001QEMU\u3001Linux \u7b49\u5927\u578b\u9879\u76ee\u4e0a\u6d4b\u8bd5\u53ef\u7528\uff0c\u4e5f\u6d4b\u8bd5\u8fc7\u53ef\u4ee5\u81ea\u4e3e Gentoo LLVM stage\u3002\\n* Clang \u5728\u9f99\u67b6\u6784\u4e0a\u652f\u6301\u4e86 `-march=` `-mtune=` \u9009\u9879\uff0c\\n \u4ee5\u53ca\u76f8\u5e94\u7684\u5185\u5efa\u9884\u5904\u7406\u5668\u7b26\u53f7 `__loongarch_arch`\u3001`__loongarch_tune`\uff08by SixWeining\uff09\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\nGNOME3 \u5df2\u5728 Gentoo/LoongArch \u4e0a\u8bc1\u5b9e\u53ef\u7528\u5e76 keyworded\u3002\\n\u76f8\u5e94\u5730\uff0cGNOME \u4e0e Plasma \u7684 desktop profiles \u4e5f\u5728\u672c\u5468\u6dfb\u52a0\u4e86\u3002\\n\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u4ee5\u5229\u7528\u5b83\u4eec\u6765\u7ed9\u81ea\u5df1 `make.conf` \u7b49\u7b49\u914d\u7f6e\u7626\u8eab\u4e86\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n7 \u6708 31 \u65e5\uff0cxen0n \u5b8c\u6210\u4e86 Linux RAID 5/6 \u8ba1\u7b97\u7684 LSX\u3001LASX \u79fb\u690d\uff08\u6027\u80fd\u4e0d\u9519\uff09\uff0c\u9884\u8ba1\u5728\u672c\u5468\u5185\u63d0\u4ea4\u4e0a\u6e38\u3001\u89c1\u8bf8\u4e0b\u671f\u5468\u62a5\u3002\\n\\n7 \u6708 26 \u65e5\u665a\u95f4\uff0cxry111 [\u6ce8\u610f\u5230](https://github.com/openssl/openssl/pull/21530)\u9f99\u82af\u5458\u5de5\u5728\u4fee\u590d\\nOpenSSL \u7684\u9f99\u67b6\u6784 AES \u6c47\u7f16\u52a0\u901f\u7684\u6b63\u786e\u6027\uff0c\u8be5\u5458\u5de5\u63f4\u5f15\u300c\u6700\u65b0\u4fee\u8ba2\u7684 LoongArch64 \u5411\u91cf\u6307\u4ee4\u624b\u518c\u300d\uff1a\\n\u300c\u5bf9\u4e8e `vshuf.b` \u7684\u63a7\u5236\u5bc4\u5b58\u5668\u4e2d\u7684\u6bcf\u4e2a\u5b57\u8282\uff0c\u5176\u672a\u5b9a\u4e49\u7684\u6700\u9ad8 3 \u4f4d\u4e0d\u5e94\u88ab\u4f7f\u7528\uff0c\\n\u5426\u5219\u6307\u4ee4\u6267\u884c\u7ed3\u679c\u4e0d\u786e\u5b9a\u3002\u300dxry111 \u636e\u6b64\u6307\u51fa\uff1a\\n\\n> \u6839\u636e LA464 \u7684\u5b9e\u73b0\u201c\u731c\u201d\u7684\u5411\u91cf\u6307\u4ee4\u884c\u4e3a\u672a\u5fc5\u53ef\u9760\u3002\\n\\n\uff08\u7f16\u8005\u6ce8\uff1a\u5f88\u9057\u61be\uff0c\u8fd9\u610f\u5473\u7740\u6839\u636e QEMU \u5b9e\u73b0\u53cd\u63a8\u7684\u6307\u4ee4\u884c\u4e3a\u4e5f\u672a\u5fc5 100% \u5339\u914d\u771f\u5b9e\u6216\u672a\u6765\u786c\u4ef6\u884c\u4e3a\uff0c\\n\u56e0\u6b64\u4e0d\u57fa\u4e8e\u5b98\u65b9\u624b\u518c\u4e8c\u6b21\u521b\u4f5c\uff08\u8fd9\u76ee\u524d\u88ab\u7981\u6b62\uff09\u7684\u6307\u4ee4\u8bf4\u660e\u6587\u6863\u603b\u4e0d\u514d\u8981\u7ecf\u53d7\u4e9b\u540e\u77e5\u540e\u89c9\u7684\u4fee\u8ba2\u3002\\n\u4f46\u6709\u8fd9\u4e48\u4e00\u4efd\u8457\u4f5c\u6743\u4e0d\u53d7\u9650\u7684\u6587\u6863\u7684\u597d\u5904\u603b\u6bd4\u574f\u5904\u591a\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-10","metadata":{"permalink":"/newsletter/this-week-in-loongarch-10","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-24-this-week-in-loongarch-10.md","source":"@site/newsletter/2023-07-24-this-week-in-loongarch-10.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-24T05:56:50.000Z","formattedDate":"2023\u5e747\u670824\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.765,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-10","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","authors":["xen0n"],"date":"2023-07-24T05:56:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 11 \u671f","permalink":"/newsletter/this-week-in-loongarch-11"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","permalink":"/newsletter/this-week-in-loongarch-9"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n* 7 \u6708 24 \u65e5\uff0cHuacai Chen [\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/20230722072201.2677516-1-chenhuacai@loongson.cn/)\u4e00\u7248\u6d4b\u8bd5\u8865\u4e01\uff0c\\n \u4ee5\u5141\u8bb8\u5185\u6838\u81ea\u8eab\u4f7f\u7528 LSX/LASX \u4e3a\u7279\u5b9a\u64cd\u4f5c\u52a0\u901f\u3002xen0n \u5c06\u5f88\u5feb\u57fa\u4e8e\u6b64\u8865\u4e01\u4f18\u5316\u9f99\u67b6\u6784\u4e0a\u7684 RAID5/6 \u8ba1\u7b97\u6027\u80fd\u3002\\n* 7 \u6708 19 \u65e5\uff0c\u6765\u81ea\u9e92\u9e9f\u7684 Enze Li [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230719082732.2189747-1-lienze@kylinos.cn/)\u9f99\u67b6\u6784\u7684\\n [KFENCE](https://www.kernel.org/doc/html/latest/dev-tools/kfence.html) \u9002\u914d\u3002KFENCE\uff08Kernel Electric-Fence\uff0c\u201c\u5185\u6838\u7535\u5b50\u56f4\u680f\u201d\uff09\\n \u662f\u57fa\u4e8e\u91c7\u6837\u7684\u4f4e\u5f00\u9500\u5185\u5b58\u5b89\u5168\u68c0\u67e5\u5de5\u5177\uff0c\u53ef\u4ee5\u5e2e\u52a9\u68c0\u67e5\u5806\u8d8a\u754c\u8bbf\u95ee\u3001\u91ca\u653e\u540e\u4f7f\u7528use-after-free\u3001\u975e\u6cd5\u91ca\u653e\u5185\u5b58\u7b49\u5e38\u89c1\u7684\u5185\u5b58\u5b89\u5168 bug\u3002\\n* 7 \u6708 18 \u65e5\uff0c\u4e0a\u6e38\u5f00\u53d1\u8005 Dan Carpenter \u4e3a\u9f99\u82af\u96c6\u663e\u663e\u63a7\u9a71\u52a8[\u589e\u52a0\u4e86](https://lore.kernel.org/dri-devel/0da6859b-40cc-4b3e-b8b6-fed157517083@moroto.mountain/T/#u)\u4e00\u5904\u9519\u8bef\u5904\u7406\u3002\\n \u7531\u4e8e\u9f99\u82af\u7684\u4ee3\u7801\u7ef4\u62a4\u8005\u4f3c\u4e4e\u4e00\u5f00\u59cb\u5e76\u4e0d\u60f3\u63a5\u53d7\u8be5\u8865\u4e01\uff0c\u52a0\u4e4b\u4f7f\u7528\u4e86\u9519\u8bef\u7684\u82f1\u8bed\u8868\u8fbe\uff0c\u5dee\u70b9\u5435\u8d77\u6765\uff0c\u8fd8\u597d\u540e\u8fb9\u548c\u5e73\u89e3\u51b3\u4e86\u3002\\n \uff08\u7b14\u8005\u5e76\u672a\u53c2\u4e0e\u8c03\u89e3\uff0c\u4f46\u7591\u4f3c\u662f\u6709\u56fd\u4eba\u670b\u53cb\u770b\u61c2\u4e86\u4e2d\u5f0f\u82f1\u8bed\uff0c\u79c1\u804a\u544a\u77e5\u4e86 Dan \u9f99\u82af\u7ef4\u62a4\u8005\u5b9e\u9645\u60f3\u8868\u8fbe\u7684\u542b\u4e49\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### LLVM\\n\\n\u9884\u8ba1\u5728\u4e2d\u56fd\u65f6\u95f4 7 \u6708 25~26 \u65e5\u671f\u95f4\uff0cLLVM 17 \u5c06\u4ece\u4e3b\u7ebf\u5207\u51fa\uff0c\u5982\u65e0\u91cd\u5927\u4e8b\u4ef6\u5219\u9884\u8ba1\u5728 6 \u5468\u540e\u6b63\u5f0f\u53d1\u5e03\u3002\\n\u8be5\u7248\u672c\u5982\u540c binutils 2.41\uff0c\u4e5f\u5c06\u5305\u542b\u5b8c\u6574\u7684 LA64 v1.00 \u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\u3002LLD \u7684\u9f99\u67b6\u6784\u79fb\u690d\u9884\u8ba1\u4e0d\u4f1a\u5728\u672c\u5468\u5185\u5b8c\u6210\uff08\u5c3d\u7ba1\u8fdb\u884c\u5230\u4e86\u6700\u540e\u7684\u5fae\u8c03\u5de5\u4f5c\uff09\uff0c\\n\u4f46\u7ecf\u4e0a\u6e38\u7ef4\u62a4\u8005 MaskRay \u8bc1\u5b9e\uff0c\u4e00\u65e6\u5176\u4ee3\u7801\u901a\u8fc7\u5ba1\u67e5\uff0c\u4e5f\u5c06\u80fd\u591f\u8fdb\u5165 LLVM 17 \u53d1\u5e03\u5206\u652f\u3002\\n\\n7 \u6708 21 \u65e5\uff0cwangleiat [\u63d0\u4ea4\u4e86](https://reviews.llvm.org/D155917)\u9f99\u67b6\u6784\u865a\u62df\u5316\u6269\u5c55\uff08LVZ\uff09\\n\u4e0e\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u7684\u6307\u4ee4\u6c47\u7f16\u3001\u53cd\u6c47\u7f16\u652f\u6301\uff0c\u5df2\u4e8e 7 \u6708 24 \u65e5\u8fdb\u5165\u4e3b\u7ebf\uff0c\\n\u8d76\u4e0a\u4e86 LLVM 17 \u7684\u53d1\u5e03\u8282\u594f\u3002\\n\\n7 \u6708 20 \u65e5\uff0cwangleiat \u4e3a Clang \u589e\u52a0\u4e86 [LSX](https://reviews.llvm.org/D155829)\\n\u4e0e [LASX](https://reviews.llvm.org/D155830) \u7684 intrinsics \u652f\u6301\uff0c\\n\u7b2c\u4e8c\u5929 leecheechen \u4e3a\u5b83\u4eec\u5206\u522b[\u8865\u4e0a](https://reviews.llvm.org/D155834)\u4e86[\u6d4b\u8bd5](https://reviews.llvm.org/D155835)\u3002\\n\\n7 \u6708 20 \u65e5\uff0cSixWeining \u4e5f\u4e3a Clang [\u589e\u52a0\u4e86](https://reviews.llvm.org/D155824)\\n`-march=native` \u4e0e `-mtune=` \u547d\u4ee4\u884c\u9009\u9879\u7684\u652f\u6301\u3002\\n\\n## \u6742\u95fb\u64ad\u62a5\\n\\n\\n\\n7 \u6708 21 \u65e5\uff0cxry111 \u5411 OpenSSL \u9879\u76ee\u63d0\u4ea4\u4e86[\u8fd0\u884c\u65f6\u52a8\u6001\u68c0\u6d4b\u9f99\u67b6\u6784\u5411\u91cf\u6269\u5c55\u652f\u6301](https://github.com/openssl/openssl/pull/21509)\u4e0e[\u6784\u5efa\u65f6\u6b63\u786e\u68c0\u6d4b\u9f99\u67b6\u6784](https://github.com/openssl/openssl/pull/21510)\u7684\u8865\u4e01\u3002\u8fd9\u80fd\u4fee\u590d OpenSSL 3.1.x \u7684\u9f99\u67b6\u6784\u914d\u7f6e\u4e0d\u80fd\u642d\u914d\u6ca1\u6709\u5411\u91cf\u652f\u6301\u7684\u5de5\u5177\u94fe\u4f7f\u7528\u7684\u95ee\u9898\u3002\uff08\u5148\u524d\u9f99\u82af\u8d21\u732e\u7684\u4ee3\u7801\u672a\u8003\u8651\u8fd9\u4e00\u70b9\uff0c\u90a3\u4e9b\u5de5\u7a0b\u5e08\u5927\u6982\u7387\u672a\u5728\u793e\u533a\u53d1\u884c\u7248\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u6d4b\u8bd5\u3002\uff09\\n\\n7 \u6708 20 \u65e5\uff0cGentoo \u7684\u9f99\u67b6\u6784\u79fb\u690d\u4ece WD40no rust \u72b6\u6001[\u6bd5\u4e1a\u4e86](https://github.com/gentoo/gentoo/pull/31957)\u3002\\n\u5f85 LLD \u652f\u6301\u4e0a\u6e38\u540e\uff0c\u9884\u8ba1 GNOME3 \u7684 keywording \u5de5\u4f5c\u5c06\u80fd\u591f\u5f88\u5feb\u63a8\u8fdb\u4e86\u3002\\n\\n7 \u6708 19\u300120 \u65e5\uff0cKatyushaScarlet \u5411 [v2ray](https://github.com/v2fly/v2ray-core/pull/2609)\\n\u4e0e [Xray](https://github.com/XTLS/Xray-core/pull/2338) \u5206\u522b\u63d0\u4ea4\u4e86 `loong64`\\n\u7684\u9002\u914d\uff0c\u53ea\u9700\u63d0\u5347\u4e00\u4e2a\u4f9d\u8d56\u7684\u7248\u672c\u5373\u53ef\u7f16\u51fa\u9f99\u67b6\u6784\u7684\u4e8c\u8fdb\u5236\u4e86\u3002\\n\\n7 \u6708 17 \u65e5\uff0c\u9f99\u82af\u5728\u5176 GitHub \u7ec4\u7ec7\u4e0b[\u521b\u5efa\u4e86](https://github.com/loongson/la-softdev-convention)\u540d\u4e3a\\n`la-softdev-convention`\u201c\u9f99\u67b6\u6784\u8f6f\u4ef6\u5f00\u53d1\u7ea6\u5b9a\u201d\u7684\u4ed3\u5e93\uff0c\\n\u5185\u5bb9\u4e5f\u662f\u5148\u524d\u88ab\u5f52\u6863\u7684\u300a\u9f99\u67b6\u6784\u5de5\u5177\u94fe\u7ea6\u5b9a\u300b\u7b49\u6587\u6863\u7684\u5fae\u8c03\u3002\\n\u5982\u540c[\u5148\u524d\u7684 `la-abi-specs` \u4ed3\u5e93](https://github.com/loongson/la-abi-specs)\uff0c[\u5411\u8be5\u5e93\u8d21\u732e](https://github.com/loongson/la-softdev-convention/blob/master/CONTRIBUTING.md)\u4e5f\u9700\u8981\u7b7e\u7f72\u9f99\u82af CLA\u3002\\n\u76ee\u524d\u4ecd\u672a\u6709\u9f99\u82af CLA \u65b9\u9762\u7684\u516c\u5f00\u8fdb\u5ea6\uff0c\u4f46\u89c2\u5bdf\u5230 [@loongson-admin](https://github.com/loongson-admin)\\n\u8d26\u53f7\u4e0b\u51fa\u73b0\u4e86[\u4e00\u4e2a Canonical CLA \u81ea\u52a8\u5316\u6d41\u7a0b\u7684 GitHub Action \u5b9a\u4e49\u7684 fork](https://github.com/loongson-admin/has-signed-canonical-cla)\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-9","metadata":{"permalink":"/newsletter/this-week-in-loongarch-9","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-07-17-this-week-in-loongarch-9.md","source":"@site/newsletter/2023-07-17-this-week-in-loongarch-9.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-07-17T06:28:39.000Z","formattedDate":"2023\u5e747\u670817\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.555,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-9","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 9 \u671f","authors":["xen0n"],"date":"2023-07-17T06:28:39.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 10 \u671f","permalink":"/newsletter/this-week-in-loongarch-10"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 8 \u671f","permalink":"/newsletter/this-week-in-loongarch-8"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### Linux\\n\\n7 \u6708 13 \u65e5\uff0chev [\u4fee\u590d\u4e86](https://lore.kernel.org/loongarch/20230713030453.7404-1-wangrui@loongson.cn/)\\n`copy_user_fast` \u548c `clear_user_fast` \u5404\u81ea\u5f02\u5e38\u5904\u7406\u8def\u5f84\u4e2d\u7684\u4e00\u5904\u4e0b\u6ea2\u3002\\n\\n7 \u6708 13 \u65e5\uff0cFreeFlyingSheep [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1689215889.git.chenfeiyang@loongson.cn/)\\nLS7A \u96c6\u6210\u7f51\u5361\u7684\u9a71\u52a8\u8865\u4e01\u8349\u7a3f\uff0c\u8bf7\u793e\u533a\u7ed9\u70b9\u610f\u89c1\u3002\\n\\n7 \u6708 11 \u65e5\uff0cxen0n \u5c06\u9f99\u67b6\u6784 CPU \u7a7a\u95f2\u65f6\u6267\u884c\u7684\u51fd\u6570\u540d\u5b57[\u52a0\u5165\u4e86](https://lore.kernel.org/loongarch/20230711102202.1206488-1-kernel@xen0n.name/)\\n`perf` \u5de5\u5177\u7684\u76f8\u5173\u5217\u8868\uff0c\u4ee5\u53bb\u9664 `perf` \u8f93\u51fa\u4e2d\u7684\u8fd9\u90e8\u5206\u566a\u58f0\u3002\\n\\n7 \u6708 10 \u65e5\uff0c[@specialpointcentral](https://github.com/specialpointcentral)\\n[\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230710124048.153562-1-huqi@loongson.cn/)\u9f99\u82af\u4e8c\u8fdb\u5236\u7ffb\u8bd1\u6269\u5c55\uff08LBT\uff09\u7684\u5185\u6838\u9002\u914d\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u8be5\u8865\u4e01[\u5df2\u8fed\u4ee3\u5230](https://lore.kernel.org/loongarch/20230714132121.107045-1-huqi@loongson.cn/)\u7b2c\u4e09\u7248\u3002\\n\\n7 \u6708 9 \u65e5\uff0c[@donmor](https://github.com/donmor) [\u5c1d\u8bd5\u4fee\u590d](https://lore.kernel.org/loongarch/MEYP282MB2597CD6E861D659E3218148DD933A@MEYP282MB2597.AUSP282.PROD.OUTLOOK.COM/)\u9f99\u67b6\u6784\u5185\u6838\u7684\u547d\u4ee4\u884c\u5904\u7406\uff0c\\n\u4f7f\u5176\u80fd\u6b63\u786e\u652f\u6301\u4ee5\u5185\u5efa\u547d\u4ee4\u884c\u6765\u6269\u5c55\u6216\u4ee3\u66ff\u5f15\u5bfc\u5668\u6240\u4f20\u7684\u547d\u4ee4\u884c\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6\u8be5\u8865\u4e01[\u5df2\u8fed\u4ee3\u5230](https://lore.kernel.org/loongarch/MEYP282MB2597514C7A4697A72F829B78D93BA@MEYP282MB2597.AUSP282.PROD.OUTLOOK.COM/)\u7b2c\u56db\u7248\u3002\\n\\n\\n### \u5de5\u5177\u94fe\\n\\n#### LLVM\\n\\n\u4e0a\u5468 7 \u6708 11 \u65e5\u5f00\u59cb hev \u9646\u7eed\u4ea4\u4e86\u4e00\u4e32\u4ee3\u7801\u751f\u6210\u4f18\u5316\uff1a[\u8865\u4e01\u4e00](https://reviews.llvm.org/D154762)\u3001[\u8865\u4e01\u4e8c](https://reviews.llvm.org/D154811)\u3001[\u8865\u4e01\u4e09](https://reviews.llvm.org/D154819)\u3001[\u8865\u4e01\u56db](https://reviews.llvm.org/D154919)\uff0c\u4e3b\u8981\u90fd\u662f\u544a\u8bc9 LLVM \u4f18\u5316\u5668\u66f4\u591a\u76f8\u5173\u4fe1\u606f\u4ee5\u8f85\u52a9\u5176\u51b3\u7b56\u3002\\n\\n\u540c\u6837\u5728 7 \u6708 11 \u65e5\uff0cleecheechen \u4e3a Clang [\u589e\u52a0\u4e86](https://reviews.llvm.org/D154931) LSX/LASX \u7684\u5185\u8054\u6c47\u7f16\u652f\u6301\u3002\\n\\nxen0n \u4e5f\u5728\u8fd9\u4e00\u5929[\u6574\u7406\u4e86](https://reviews.llvm.org/D154916)\u9f99\u67b6\u6784\u6307\u4ee4\u5b9a\u4e49\u6587\u4ef6\u8ba9\u5b83\u6e05\u723d\u4e00\u70b9\uff0c\u4e5f\u4e3a\u63a5\u4e0b\u6765\u7684\u91cd\u6784\u4f5c\u51c6\u5907\u3002\\n\\n#### Rust\\n\\n\u4e2d\u56fd\u65f6\u95f4 7 \u6708 13 \u65e5\u665a\u95f4\uff0cRust 1.71.0 [\u6b63\u5f0f\u53d1\u5e03](https://blog.rust-lang.org/2023/07/13/Rust-1.71.0.html)\u3002\\n\u9f99\u67b6\u6784\u5728\u8be5\u7248\u672c\u9996\u6b21\u4f5c\u4e3a Tier 2 with host tools\u5e26\u5bbf\u4e3b\u5de5\u5177\u7684\u4e8c\u7ea7\u67b6\u6784 \u83b7\u5f97\u652f\u6301\u3002\\n\u5df2\u7ecf\u53ef\u4ee5\u901a\u8fc7 rustup \u88c5\u4e0a\u6807\u51c6\u5e93\uff0c\u7528\u6765\u4ea4\u53c9\u7f16\u8bd1\u4e86\uff08\u5f53\u7136\uff0c\u76ee\u524d\u4ecd\u9700\u81ea\u884c\u51c6\u5907 C/C++ \u4ea4\u53c9\u5de5\u5177\u94fe\uff09\u3002\\n\\n```sh-session\\n$ rustup target list | grep loong\\nloongarch64-unknown-linux-gnu (installed)\\n```\\n\\n\u5728\u6b64\u4e4b\u540e\uff0c\u4e3a\u4e86\u9f99\u67b6\u6784\u7535\u8111\u7528\u6237\u4e5f\u80fd\u65b9\u4fbf\u4f7f\u7528\u5b98\u65b9\u5b89\u88c5\u6e20\u9053\\n[rustup.rs](https://rustup.rs/)\uff0chev [\u63d0\u4ea4\u4e86](https://github.com/rust-lang/rustup/pull/3405)\u4e3a\u5176\u7a33\u5b9a\u5206\u652f\\n\u5f00\u542f\u9f99\u67b6\u6784\u4e8c\u8fdb\u5236\u6784\u5efa\u7684\u53d8\u66f4\u5e76\u8bf7\u6c42\u53d1\u5e03\u65b0\u7248\uff0cxen0n [\u6574\u4e86\u4e2a\u6d3b:\u513f:](https://github.com/rust-lang/rustup/pull/3404)\u8ba9\u5b89\u88c5\u811a\u672c\u53ef\u4ee5\u8bc6\u522b\u65b0\u65e7\u4e16\u754c\uff0c\u4e3a\u65e7\u4e16\u754c\u7528\u6237\u62a5\u4e2a\u53cb\u597d\u7684\u9519\u3002\\n\\n### \u6742\u9879\\n\\n\u777d\u8fdd\u4e24\u5e74\uff0cGNU GRUB \u7684 2.12-rc1 \u7248\u672c\u5728 7 \u6708 10 \u65e5[\u6b63\u5f0f\u88ab tagged](https://lists.gnu.org/archive/html/grub-devel/2023-07/msg00029.html)\u3002\\n2.12 \u6b63\u5f0f\u7248\u9884\u8ba1\u5c06\u5728\u4e00\u4e2a\u6708\u5185\u53d1\u5e03\uff0c\u5c4a\u65f6\u6240\u6709\u53d1\u884c\u7248\u90fd\u53ef\u4ee5\u4e22\u6389\u4e00\u5768\u8865\u4e01\u4e86\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u65e5\u524d Deepin \u793e\u533a\u6280\u672f\u59d4\u5458\u4f1a\uff08TC\uff09\u5728\u4f8b\u4f1a\u4e0a[\u8ba8\u8bba\u4e86](https://www.freelists.org/post/deepin-devel/-230628)\u5408\u5e76\u9f99\u67b6\u6784\u652f\u6301\u7684\u4e00\u4e9b\u6f5c\u5728\u95ee\u9898\u7b49\u3002\\n\u4f1a\u8bae\u4e5f\u8ba8\u8bba\u4e86 RISC-V \u79fb\u690d\u7684\u7c7b\u4f3c\u95ee\u9898\u3002\uff08\u611f\u8c22 Revy \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\nxen0n [\u6574\u4e86](https://gist.github.com/xen0n/5ee04aaa6cecc5c7794b9a0c3b65fc7f)\u4e2a\\n156 \u5b57\u8282\u7684\u65b0\u65e7\u4e16\u754c\u5185\u6838 ABI \u68c0\u6d4b\u5de5\u5177\\n\uff08\u770b\u6e90\u7801\u9700\u8981\u68af\u5b50\uff0c\u4e0d\u8fc7\u603b\u5171\u4e5f\u6ca1\u51e0\u884c\uff0c\u590d\u6742\u5ea6\u4e3b\u8981\u5728\u4e8e ELF \u5934\u9700\u8981\u624b\u5de5\u6784\u9020\uff09\u3002\\n\\nTry it yourself!\\n\\n```sh-session\\n# highlight-next-line\\n$ base64 -d > check-new-world <pull request\u62c9\u53d6\u8bf7\u6c42 \u5df2[\u88ab Linus \u5408\u5e76][linux-loongarch-6.5]\u3002\\n\u5f53\u5929\u4e0b\u5348 Xi Ruoyao [\u63d0\u8bae][jump-label]\u5c06 `CONFIG_JUMP_LABEL` \u6027\u80fd\u4f18\u5316\u9009\u9879\u9ed8\u8ba4\u5f00\u542f\u3002\\n\\n6 \u6708 29 \u65e5\uff0cTianrui Zhao [\u8d34\u51fa\u4e86][loongarch-kvm-v16]\u7b2c 16 \u7248\u7684\u9f99\u67b6\u6784 KVM\u5185\u6838\u865a\u62df\u673a \u8865\u4e01\u3002\\n\u6b22\u8fce\u540c\u5b66\u4eec\u90fd\u6765\u770b\u770b\u3002\uff08\u611f\u8c22 [@Luo-Chang](https://github.com/Luo-Chang) \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n6 \u6708 28 \u65e5\uff0cClangBuiltLinux \u7ef4\u62a4\u8005 Nathan Chancellor \u4e3a\u8be5\u9879\u76ee\u7684CI\u6301\u7eed\u96c6\u6210\u57fa\u7840\u8bbe\u65bd[\u63d0\u4ea4\u4e86][cbl-boot-utils-loong]\u9f99\u67b6\u6784\u7684\u5f15\u5bfc\u6d4b\u8bd5\u652f\u6301\u3002\\n\u5341\u5206\u611f\u8c22\u56fd\u9645\u53cb\u4eba\u7684\u5bc6\u5207\u914d\u5408\uff08\u5e38\u5e38\u5728\u8865\u4e01\u53d1\u5e03\u3001\u5408\u5e76\u4e0d\u5230\u4e00\u5c0f\u65f6\u540e\u5c31\u884c\u52a8\u8d77\u6765\u4e86\uff09\uff01\\n\\n[linux-loongarch-6.5]: https://lore.kernel.org/loongarch/168814584495.9404.13332741026535742055.pr-tracker-bot@kernel.org/T/#t\\n[jump-label]: https://lore.kernel.org/loongarch/20230701083247.177482-1-xry111@xry111.site/\\n[loongarch-kvm-v16]: https://lore.kernel.org/loongarch/20230629075538.4063701-1-zhaotianrui@loongson.cn/\\n[cbl-boot-utils-loong]: https://github.com/ClangBuiltLinux/boot-utils/pull/109\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n\u4ee5\u4e0b\u5185\u5bb9\u5747\u5df2\u8fdb\u5165\u4e3b\u7ebf\uff0c\u9759\u5f85 binutils 2.41 \u53d1\u5e03\uff1a\\n\\n* FreeFlyingSheep [\u6dfb\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127873.html)\u4ee5 `$fcsrX` \u79f0\u547c FCSR\u6d6e\u70b9\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668 \u7684\u652f\u6301\u3002\\n :::info \u4ee5\u524d\u548b\u56de\u4e8b\\n \u4ee5\u524d\u8981\u7528 `$rX` \u79f0\u547c FCSR\uff0c\u4e5f\u5c31\u662f\u8bf4\uff1a\u5f53\u6210\u6574\u6570\u5bc4\u5b58\u5668\uff01\u8fd9\u663e\u7136\u4e0d\u5bf9\uff0c\u800c\u4e14\u8ddf LLVM \u4e5f\u4e0d\u517c\u5bb9\u3002\u73b0\u5728\u4e24\u79cd\u5199\u6cd5\u90fd\u652f\u6301\u4e86\uff0c\u65e7\u5199\u6cd5\u5148\u7559\u4e00\u9635\u5b50\u4e0d\u5220\uff0c\u65b9\u4fbf\u4e0b\u6e38\u8fc1\u79fb\u3002\\n :::\\n* mengqinggang \u6dfb\u52a0\u4e86 [LSX\u3001LASX]\u3001[LVZ\u3001LBT] \u7684\u6307\u4ee4\u5b9a\u4e49\u3002\\n* xen0n [\u6539\u8fdb\u4e86](https://sourceware.org/pipermail/binutils/2023-June/128082.html)\u9f99\u67b6\u6784\u6c47\u7f16\u5668\u3001\u53cd\u6c47\u7f16\u5668\u7684\u4e00\u7cfb\u5217\u884c\u4e3a\uff1a\\n - \u652f\u6301\u4ee5\u5f69\u8272\uff08\u8bed\u6cd5\u9ad8\u4eae\uff09\u663e\u793a\u53cd\u6c47\u7f16\u8f93\u51fa\u4e86\u3002\u53c2\u89c1 `--disassembler-color` \u9009\u9879\u7684\u5e2e\u52a9\u6587\u672c\u3002\\n - \u5728\u4e0d\u5f71\u54cd\u8bed\u4e49\u7684\u524d\u63d0\u4e0b\uff0c\u4f1a\u663e\u793a\u4e00\u4e9b\u4f2a\u6307\u4ee4\u4e86\u3002\\n - \u6709\u7b26\u53f7\u7acb\u5373\u6570\u540e\u8fb9\u4e0d\u4f1a\u6253\u5370\u5bf9\u5e94\u7684\u5341\u516d\u8fdb\u5236\u4f4d\u57df\u8868\u793a\u4e86\u3002\\n - \u672a\u77e5\u6307\u4ee4\u5b57\u5c06\u4f1a\u4ee5 `.word` \u4e3a\u52a9\u8bb0\u7b26\u7684\u5f62\u5f0f\u5c55\u793a\u4e86\u3002\\n - \u9075\u5faa\u89c4\u8303\u6587\u6863\uff0c\u5f03\u7528\u4e86 `$v[01]`\u3001`$fv[01]`\u3001`$x` \u51e0\u4e2a\u8fdc\u53e4\u65f6\u671f\u9057\u7559\u7684\u5bc4\u5b58\u5668\u522b\u540d\uff0c\u73b0\u5728\u4f7f\u7528\u5b83\u4eec\u5c06\u88ab\u8b66\u544a\u3002\\n :::info shenmegui\\n |\u5f03\u7528\u540d\u79f0|\u73b0\u884c\u540d\u79f0|\\n |--------|--------|\\n |`$v0`\u3001`$v1`|`$a0`\u3001`$a1`|\\n |`$fv0`\u3001`$fv1`|`$fa0`\u3001`$fa1`|\\n |`$x`|`$r21`|\\n \u663e\u7136\uff0c\u9664\u4e86\u4e0d\u89c1\u4e8e[\u6b63\u5f0f\u7248\u672c\u7684\u5bc4\u5b58\u5668\u7ea6\u5b9a][lapcs-regs]\u4e4b\u5916\uff0c\u8fd9\u4e9b\u53eb\u6cd5\u66f4\u4f1a\u4e0e\u5411\u91cf\u5bc4\u5b58\u5668\u7684\u6b63\u5f0f\u540d\u79f0 `$vrX`\u3001`$xrX` \u5f62\u6210\u4e25\u91cd\u6df7\u6dc6\u3002\\n :::\\n\\n[LSX\u3001LASX]: https://sourceware.org/pipermail/binutils/2023-June/127990.html\\n[LVZ\u3001LBT]: https://sourceware.org/pipermail/binutils/2023-June/128156.html\\n[lapcs-regs]: https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#the-registers\\n\\n#### GCC\\n\\n6 \u6708 30 \u65e5\uff0cChenghui Pan \u4ee3 Lulu Cheng [\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-June/623262.html)\\nLSX\u3001LASX \u7684\u4ee3\u7801\u751f\u6210\u652f\u6301\u3002\u8865\u4e01\u6bd4\u8f83\u5927\uff0c\u4e0d\u4fbf\u4ed4\u7ec6\u5ba1\u67e5\uff0c\u76ee\u524d\u5927\u6982\u5728\u62c6\u4e86\u3002\\n\u65e0\u8bba\u5982\u4f55\uff0c\u660e\u5e74 GCC 14.1 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u8fd9\u4e9b\u652f\u6301\u5927\u6982\u7387\u90fd\u4f1a\u641e\u5b9a\u3002\\n\\n#### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* xen0n [\u4fee\u590d\u4e86](https://reviews.llvm.org/D153865) CSR/IOCSR \u64cd\u4f5c\u7684\u526f\u4f5c\u7528\u6807\u8bb0\u3002\\n* SixWeining [\u652f\u6301\u4e86](https://reviews.llvm.org/D153872) `R_LARCH_64_PCREL` \u7684\u4ea7\u751f\u3002\\n \u8be5\u652f\u6301\u662f ClangBuiltLinux `CONFIG_JUMP_LABEL` \u7684\u524d\u7f6e\u9700\u6c42\u3002\\n* Ami-zhang \u5b8c\u6210\u4e86 MSan \u5230 LoongArch \u7684\u79fb\u690d\uff08[\u8865\u4e01\u4e00](https://reviews.llvm.org/D140528)\u3001[\u8865\u4e01\u4e8c](https://reviews.llvm.org/D152692)\uff09\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* wangleiat \u63d0\u4ea4\u4e86 [LSX](https://reviews.llvm.org/D154183)\u3001[LASX](https://reviews.llvm.org/D154195) \u7684\u6307\u4ee4\u5b9a\u4e49\uff0cleecheechen [\u8ddf\u8fdb\u63d0\u4ea4\u4e86](https://reviews.llvm.org/D154197)\u6d4b\u8bd5\u7528\u4f8b\u3002\\n* hev [\u663e\u5f0f\u6807\u8bb0\u4e86](https://reviews.llvm.org/D154192)\u6240\u6709\u6307\u4ee4\u7684\u5c5e\u6027\uff0c\u76f8\u6bd4\u4e8e\u8ba9 LLVM \u731c\uff0c\u53ef\u4ee5\u83b7\u5f97\u66f4\u9ad8\u8d28\u91cf\u7684\u751f\u6210\u4ee3\u7801\u3002\\n\\n#### Rust\\n\\n7 \u6708 1 \u65e5\uff0c\u4e0a\u6e38\u5408\u5e76\u4e86 hev \u7684 LoongArch ELF flags \u4fee\u590d\u3002\u8be5\u4fee\u590d\u4f7f\u5f97\u8f6f\u6d6e\u70b9\u7684 Rust\\n\u6784\u5efa\u4ea7\u7269\u7ec8\u4e8e\u83b7\u5f97\u4e86\u6b63\u786e\u7684 ELF `e_flags` \u5b57\u6bb5\u53d6\u503c\u3002\\n\u8be5\u4fee\u590d\u5c06\u4e8e Rust 1.72.0 \u6b63\u5f0f\u53d1\u5e03\u3002\\n\\n### QEMU\\n\\n6 \u6708 30 \u65e5\uff0cSong Gao [\u63d0\u4ea4\u4e86](https://patchwork.ozlabs.org/project/qemu-devel/list/?series=361811)\\nLASX \u7684\u6307\u4ee4\u6a21\u62df\u652f\u6301\uff0c\u5185\u542b\u6240\u6709 LASX \u6307\u4ee4\u7684\u8bed\u4e49\u5efa\u6a21\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n6 \u6708 29 \u65e5\uff0cyetist \u7684 IPXE \u9f99\u67b6\u6784\u79fb\u690d[\u88ab\u4e0a\u6e38\u5408\u5e76](https://github.com/ipxe/ipxe/pull/820)\u3002\\n\u8fd9\u5bf9\u9f99\u67b6\u6784\u673a\u5668\u7684\u65e0\u4eba\u503c\u5b88\u8fd0\u7ef4\u662f\u4e00\u5927\u5229\u597d\u3002\uff08\u611f\u8c22 yetist \u7684\u7ebf\u7d22\u6295\u9012\u3002\uff09\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16\\n\\n### AOSCC 2023\uff1a7 \u6708 15 \u81f3 16 \u65e5\uff0c\u4e0a\u79d1\u5927\u89c1\uff01\\n\\n\u8ddd\u79bb\u4eca\u5e74 AOSCC \u8fd8\u6709\u4e0d\u5230\u4e00\u4e2a\u6708\uff0c\u672c\u6b21\u805a\u4f1a\u7684\u65e5\u7a0b\u7e41\u591a\uff0c\u4e0d\u4ec5\u6709\u793e\u533a\u9879\u76ee\u76f8\u5173\u7684\u5c55\u793a\u3001\u8ba8\u8bba\u548c\u6295\u7968\uff0c\u8fd8\u6709\u8bb8\u591a\u6765\u81ea\u5f00\u6e90\u4e1a\u754c\u7684\u4ee3\u8868\u95e8\u5c06\u4f1a\u5230\u573a\u5206\u4eab\u7ecf\u9a8c\uff0c\u56de\u7b54\u95ee\u9898\u3002\\n\\n\u8be6\u89c1\uff1a[\u6d3b\u52a8\u65e5\u7a0b](https://wiki.aosc.io/zh/community/aoscc/2023/)\u3002\\n\\n#### \u201c\u9f99\u82af\u4e0e\u4f60\uff1a\u4f60\u95ee\u6211\u7b54\u201d\u95ee\u9898\u5f81\u96c6\\n\\n\u8fd1\u5e74\u6765\uff0c\u7531 LoongArch \u67b6\u6784\u9a71\u52a8\u7684\u9f99\u82af 5000 \u7cfb\u5217\u5904\u7406\u5668\u5c55\u73b0\u51fa\u4e86\u76f8\u5f53\u53ef\u89c2\u7684\u6027\u80fd\u63d0\u5347\uff0c\u4ea6\u5728\u5f00\u6e90\u793e\u533a\u4e2d\u6536\u83b7\u4e86\u4e0d\u5c11\u4eba\u6c14\uff1b\u4e0e\u6b64\u540c\u65f6\uff0c\u4f01\u4e1a\u4e0e\u793e\u533a\u7684\u201c\u65b0\u65e7\u4e16\u754c\u201d\u4ea4\u66ff\u4e0e\u5728\u4e0a\u6e38\u7684\u78b0\u649e\u4e0e\u4ea4\u6d41\u4e5f\u6210\u4e3a\u4e86\u6700\u8fd1\u51e0\u5e74 LoongArch \u751f\u6001\u53c2\u4e0e\u8005\u4eec\u65f6\u523b\u5173\u6ce8\u7684\u4e8b\u60c5\u3002\u672c\u6b21 AOSCC \u6211\u4eec\u6709\u5e78\u9080\u8bf7\u5230\u4e86\u6765\u81ea LoongArch \u793e\u533a\u7684\u4e0a\u6e38\u8d21\u732e\u8005\u548c\u9f99\u82af\u4e2d\u79d1\u7684\u5de5\u7a0b\u5e08\u4eec\u6765\u4e00\u540c\u4ecb\u7ecd\u548c\u89e3\u7b54\u5404\u4f4d\u7684\u95ee\u9898\u548c\u7591\u60d1\u3002\\n\\n\u8003\u8651\u5230\u65e5\u7a0b\u5b89\u6392\u8f83\u4e3a\u7d27\u51d1\uff0c\u6211\u4eec\u51b3\u5b9a\u63d0\u524d\u6536\u96c6\u793e\u533a\u63d0\u95ee\uff0c\u8bf7[\u4f7f\u7528\u672c\u95ee\u5377](https://forms.gle/QgdzPmcXqjwitmQm7)\u63d0\u4ea4\u60a8\u5e0c\u671b\u5f97\u5230\u89e3\u7b54\u7684\u95ee\u9898\u3002\\n\\n#### \u4e0e\u4f1a\u8005\u767b\u8bb0\\n\\n\u7531\u4e8e\u672c\u6b21 AOSCC \u7ebf\u4e0b\u6d3b\u52a8\u5728\u4e0a\u6d77\u79d1\u6280\u5927\u5b66\u4e3e\u884c\uff0c\u6821\u65b9\u5b89\u4fdd\u8981\u6c42\u6765\u8bbf\u8005\u767b\u8bb0\u4e2a\u4eba\u4fe1\u606f\uff0c\u6709\u610f\u53c2\u52a0\u7ebf\u4e0b\u6d3b\u52a8\u7684\uff0c\u8bf7\u4e8e 7 \u6708 13 \u65e5\u524d[\u586b\u5199\u767b\u8bb0\u95ee\u5377](https://forms.gle/vc8sd3yah7eMNmoP7)\u3002\\n\\n:::info \u8bf4\u660e\\n\u672c\u8868\u683c\u4ec5\u7531\u793e\u533a\u4ee3\u8868\uff08\u767d\u94ed\u9aa2\uff09\u548c GeekPie \u5bf9\u63a5\u4ee3\u8868\uff08\u79e6\u6590\u7136\uff09\u67e5\u9605\uff0c\u5e76\u4ea4\u7531\u6821\u65b9\u5f55\u5165\u3002\\n:::"},{"id":"these-weeks-in-loongarch-6","metadata":{"permalink":"/newsletter/these-weeks-in-loongarch-6","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-27-these-weeks-in-loongarch-6.md","source":"@site/newsletter/2023-06-27-these-weeks-in-loongarch-6.md","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-27T05:57:42.000Z","formattedDate":"2023\u5e746\u670827\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"},{"label":"\u6bcf\u5468\u4e24\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99"}],"readingTime":4.95,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"these-weeks-in-loongarch-6","title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","authors":["xen0n"],"date":"2023-06-27T05:57:42.000Z","tags":["\u6bcf\u5468\u4e00\u9f99","\u6bcf\u5468\u4e24\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 7 \u671f","permalink":"/newsletter/this-week-in-loongarch-7"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","permalink":"/newsletter/this-week-in-loongarch-5"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u56e0\u4e3a\u7b14\u8005\u4e0a\u5468:sheep:\u4e86\uff0c\u672c\u671f\u6539\u4e3a\u5468\u4e8c\u66f4\u65b0\u524d\u4e24\u5468\u7684\u5185\u5bb9\uff0c\u9884\u8ba1\u4e0b\u671f\u6062\u590d\u5468\u4e00\u66f4\u65b0\u3002\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\u9274\u4e8e\u8be5\u5021\u8bae\u7684\u9f99\u67b6\u6784\u90e8\u5206\u4e3b\u4f53\u5de5\u4f5c\u5df2\u7ecf\u5b8c\u6210\uff0c\u540e\u7eed\u76f8\u5173\u5de5\u4f5c\u5c06\u5728 Linux \u4e00\u8282\u5408\u5e76\u62a5\u9053\u3002\\n\\n\u611f\u8c22 [@heiher](https://github.com/heiher) \u7684\u53c2\u4e0e\uff0c\u76ee\u524d\u6253\u8fc7\u8865\u4e01\u7684 LLVM/Clang\\n\u5df2\u7ecf\u53ef\u4ee5\u6784\u5efa\u57fa\u672c\u7684 LoongArch Linux \u955c\u50cf\u4e86\u3002\\n\u622a\u81f3\u53d1\u7a3f\u65f6[\u76f8\u5173\u5185\u6838\u8865\u4e01](https://lore.kernel.org/loongarch/20230625095644.3156349-1-kernel@xen0n.name/)\u5df2\u88ab\u63a5\u53d7\uff0c\\n\u5c06\u8fdb\u5165 v6.5-rc1\uff1b\\nLLVM \u7684\u53d8\u66f4\u60c5\u51b5\u89c1 LLVM \u4e00\u8282\u3002\\n\u4e0a\u6e38\u793e\u533a[\u706b\u901f\u8ddf\u8fdb\u4e86](https://github.com/ClangBuiltLinux/boot-utils/issues/108)\u76f8\u5173\u7684\u81ea\u52a8\u5316\u5f15\u5bfc\u6d4b\u8bd5\u652f\u6301\uff0c\\n\u53d1\u73b0\u7684\u5c0f\u5751\u5c06\u5728\u672c\u5468\u5feb\u901f\u586b\u5e73\uff0c\u540e\u7eed\u7684 LLVM/Clang \u517c\u5bb9\u6027\u5c06\u7531\u8be5\u8bbe\u65bd\u81ea\u52a8\u5316\u4fdd\u8bc1\u3002\\n\\n\u76ee\u524d\u8fd8\u7f3a\u6a21\u5757\u548c\u53ef\u91cd\u5b9a\u4f4d\uff08`CONFIG_RELOCATABLE`\uff09\u652f\u6301\uff0c\u8fd9\u90e8\u5206\u9884\u8ba1\u5728\u540e\u7eed\u7684\u5f00\u53d1\u5468\u671f\u4e5f\u4f1a\u6162\u6162\u89e3\u51b3\u6389\u3002\\n\\n### Linux\\n\\n\u76ee\u524d Linux v6.5 \u7684\u5408\u5e76\u7a97\u53e3\u5df2\u7ecf\u5f00\u542f\u3002\u672c\u5468\u671f\u7684\u9f99\u67b6\u6784\u76f8\u5173\u91cd\u5927\u53d8\u66f4\u6709\uff1a\\n\\n* [\u5411\u91cf\u6269\u5c55\u652f\u6301](https://lore.kernel.org/loongarch/20230613151918.2039498-1-chenhuacai@loongson.cn/)\u3002\\n \u9700\u8981\u7f16\u8bd1\u5668\u3001\u6c47\u7f16\u5668\u652f\u6301\u5411\u91cf\u6307\u4ee4\uff0c\u624d\u80fd\u6253\u5f00\u76f8\u5e94 Kconfig \u914d\u7f6e\u9879\u3002\\n \u8fc7\u4e00\u9635\u5b50\u5e94\u8be5\u90fd\u80fd\u7528\u4e0a\u4e86\u3002\\n* 3A6000/LA664 \u7684[\u7ec6\u7c92\u5ea6\u5185\u5b58\u6805\u969c\u652f\u6301](https://lore.kernel.org/loongarch/20230516124536.535343-1-chenhuacai@loongson.cn/)\u3002\\n* 3A6000/LA664 \u7684[\u540c\u65f6\u591a\u7ebf\u7a0b\uff08SMT\uff0c\u201c\u8d85\u7ebf\u7a0b\u201d\uff09\u652f\u6301](https://lore.kernel.org/loongarch/20230614093755.88881-1-wangliupu@loongson.cn/)\u3002\\n \u8865\u4e01\u900f\u9732\u8be5\u652f\u6301\u9700\u8981\u56fa\u4ef6\u914d\u5408\uff0c\u4ee5\u6700\u521d\u7528\u4e8e AArch64 \u7684 ACPI PPTT \u8868\u7ed3\u6784\u4f20\u9012\u5904\u7406\u5668\u6838\u7684\u62d3\u6251\u4fe1\u606f\u3002\\n* 3A6000/LA664 \u7684[\u786c\u4ef6\u9875\u8868\u904d\u5386\u5355\u5143\u652f\u6301](https://lore.kernel.org/loongarch/20230516124610.535360-1-chenhuacai@loongson.cn/)\u3002\\n* \u521d\u6b65\u7684 ClangBuiltLinux \u9002\u914d\u3002\\n\\n\u8be6\u60c5\u8bf7[\u79fb\u6b65\u9f99\u67b6\u6784\u7684\u4e0a\u6e38\u96c6\u6210\u5206\u652f](https://git.kernel.org/chenhuacai/linux-loongson/l/loongarch-next)\u3002\\n\\n6 \u6708 20 \u65e5\uff0cYouling Tang \u57fa\u4e8e :ta: [4 \u6708\u4efd\u7684 libelf \u5de5\u4f5c](https://sourceware.org/pipermail/elfutils-devel/2023q2/006107.html)\uff0c\\n\u5f00\u59cb\u5c06 [ORC unwinder](https://www.kernel.org/doc/html/latest/arch/x86/orc-unwinder.html)\\n\u79fb\u690d\u5230\u9f99\u67b6\u6784\uff1a[\u53d1\u51fa\u4e86](https://lore.kernel.org/loongarch/1687247209-31676-1-git-send-email-tangyouling@loongson.cn/)\u4e00\u7248\u521d\u7a3f\u8865\u4e01\u3002\\n\uff08\u611f\u8c22 [@xry111](https://github.com/xry111) \u7684\u65b0\u95fb\u7ebf\u7d22\u3002\uff09\\n\\n### \u5de5\u5177\u94fe\\n\\n#### binutils\\n\\n6 \u6708 25 \u65e5\uff0cmengqinggang \u5411 GNU binutils \u90ae\u4ef6\u5217\u8868[\u63d0\u4ea4\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127990.html) LSX/LASX \u652f\u6301\uff0c\\n\u53c8[\u6dfb\u52a0\u4e86](https://sourceware.org/pipermail/binutils/2023-June/127993.html) `R_LARCH_64_PCREL` \u652f\u6301\u3002\\n\\n#### LLVM\\n\\n\u4e24\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining [\u5141\u8bb8\u4e86](https://reviews.llvm.org/D150196)\u5728\u4efb\u4f55\u573a\u666f\u4e0b\u4f7f\u7528\u6d6e\u70b9\u3001\u5411\u91cf\u7b49\u6269\u5c55\u6307\u4ee4\uff0c\u4ee5\u4fbf\u88f8\u673a\u8f6f\u4ef6\u3001\u5185\u6838\u7b49\u5177\u5907\u8db3\u591f\u63a7\u5236\u529b\u7684\u7a0b\u5e8f\u5728\u672c\u8eab\u4e0d\u4f7f\u7528\u8fd9\u4e9b\u6307\u4ee4\u7684\u524d\u63d0\u4e0b\uff0c\u4ecd\u7136\u80fd\u591f\u81ea\u884c\u7ba1\u7406\u76f8\u5e94\u786c\u4ef6\u8d44\u6e90\u3002\\n :::info \u8fd9\u662f\u4e3a\u5565\\n \u9f99\u67b6\u6784\u4e0b\uff0c\u7ba1\u7406\u6269\u5c55\u8d44\u6e90\u9700\u8981\u7528\u5230\u6269\u5c55\u6307\u4ee4\uff0c\u4f46\u5148\u524d\u5982\u679c\u544a\u77e5 LLVM \u4e0d\u4f7f\u7528\u8fd9\u4e9b\u6307\u4ee4\uff0c\u90a3\u4e48\u53ea\u8981\u5c1d\u8bd5\u4f7f\u7528\u90fd\u4f1a\u62a5\u9519\u3002\\n \u5373\u4fbf\u7a0b\u5e8f\u5458\u77e5\u9053\u81ea\u5df1\u5728\u505a\u4ec0\u4e48\u3001\u54ea\u4e9b\u5730\u65b9\u7684\u624b\u5199\u6c47\u7f16\u7528\u5230\u6269\u5c55\u6307\u4ee4\u4e5f\u662f\u5b89\u5168\u7684\uff0c\u4e5f\u6ca1\u6cd5\u641e\u3002\\n :::\\n* xen0n \u4e3a `llvm-objcopy` [\u6dfb\u52a0\u4e86](https://reviews.llvm.org/D153609)\u9f99\u67b6\u6784\u652f\u6301\u3002\\n* xen0n \u4f7f Clang \u5904\u7406 `-m*-float` \u53c2\u6570\u65f6[\u4e5f\u4e0d\u5fd8\u68c0\u67e5](https://reviews.llvm.org/D153707) `-mabi`\u3001`-mfpu` \u9009\u9879\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* Ami-zhang \u63a5\u8fd1\u5b8c\u6210\u4e86 MSan \u7684\u9f99\u67b6\u6784\u79fb\u690d\uff1a[D140528](https://reviews.llvm.org/D140528)\u3001[D152692](https://reviews.llvm.org/D152692)\uff0c\u4e0d\u65e5\u5c06\u5408\u5e76\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[loongarch-opcodes \u9879\u76ee](https://github.com/loongson-community/loongarch-opcodes)\u6574\u7406\u5b8c\u6210\u4e86\u6240\u6709\\nLSX\u3001LASX \u6307\u4ee4\u7f16\u7801\u4fe1\u606f\u3002\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u4ee5\u53c2\u8003\u8d77\u6765\u4e86\u3002\\n\u5728\u9f99\u82af\u516c\u5e03\u300a\u9f99\u82af\u67b6\u6784\u53c2\u8003\u624b\u518c\u300b\u5377\u4e8c\u4e4b\u524d\uff0c\u793e\u533a\u540c\u5b66\u4e5f\u53ef\u4ee5\u6839\u636e QEMU \u6e90\u7801\uff0c\u63a8\u8fdb\u6307\u4ee4\u6587\u6863\u7684\u7f16\u64b0\u4e86\u3002\\n\\n\u8fd1\u65e5 Gentoo \u793e\u533a\u4e00\u4f4d\u56fd\u9645\u53cb\u4eba\u62ff\u5230\u4e86 7A2000 \u677f\u5b50\uff0c\u9f99\u67b6\u6784\u7684\u670b\u53cb\u9010\u6e10\u589e\u591a :sunglasses:\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-5","metadata":{"permalink":"/newsletter/this-week-in-loongarch-5","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-12-this-week-in-loongarch-5.md","source":"@site/newsletter/2023-06-12-this-week-in-loongarch-5.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-12T06:42:22.000Z","formattedDate":"2023\u5e746\u670812\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":6.82,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-5","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","authors":["xen0n"],"date":"2023-06-12T06:42:22.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e24\u9f99\uff1a\u7b2c 6 \u671f","permalink":"/newsletter/these-weeks-in-loongarch-6"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","permalink":"/newsletter/this-week-in-loongarch-4"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n6 \u6708 5 \u65e5\uff0cGitHub loongson \u7ec4\u7ec7\u4e0b\u51fa\u73b0\u4e86\u65b0\u7684\u53ef\u534f\u4f5c\u7684\u6587\u6863\u5e93\uff1a[la-abi-specs](https://github.com/loongson/la-abi-specs)\u3002\\n\u8fd9\u53ef\u88ab\u89c6\u4e3a\u9f99\u82af\u516c\u53f8\u5728 [LoongArch-Documentation \u5e93](https://github.com/loongson/LoongArch-Documentation)\u88ab\u5f52\u6863\u4e4b\u540e\u7ed9\u51fa\u7684\u89e3\u51b3\u65b9\u6848\u3002\\n\\n\u6ce8\u610f\uff1a\u6b64\u6587\u6863\u5e93\u7684\u8bb8\u53ef\u8bc1\u4ecd\u7136\u4e3a CC-BY-NC-ND 4.0\uff0c\u5e76\u4e14\u6dfb\u52a0\u4e86\u5fc5\u987b\u7b7e\u7f72\u8d21\u732e\u8005\u8bb8\u53ef\u534f\u8bae\uff08CLA\uff09\u624d\u80fd\u53c2\u4e0e\u8d21\u732e\u7684\u63d0\u793a\u3002\\n\u76ee\u524d CLA \u76f8\u5173\u4e8b\u5b9c\u4ecd\u7136\u53ea\u80fd\u901a\u8fc7\u8be2\u95ee\u76f8\u5173\u4eba\u5458\u4e86\u89e3\uff1b\u7b14\u8005\u4e86\u89e3\u5230\u7684\u60c5\u51b5\u662f\uff1a\\n\\n* CLA \u5df2\u7ecf\u5b9a\u7a3f\uff0c\u4e0d\u65e5\u5c06\u4e8e\u9f99\u82af\u5b98\u7f51\u6216\u5176\u4ed6\u6e20\u9053\u516c\u5f00\u3002\\n* \u540e\u7eed\u4f1a\u63d0\u4f9b\u7f51\u9875\u7b49\u81ea\u52a8\u5316\u7684\u7b7e\u7f72\u3001\u6821\u9a8c\u65b9\u5f0f\u3002\\n* \u8be5 CLA \u4e0e Google CLA \u7c7b\u4f3c\uff0c\u4f46\u6dfb\u52a0\u4e86\u66f4\u591a\u9650\u5236\u6027\u6761\u6b3e\uff0c\u8bf7\u8d21\u732e\u8005\u4eec\u6ce8\u610f\u3002\\n\\n:::warning\\n\u7b14\u8005\u4e0d\u662f\u5f8b\u5e08\uff0c\u4ee5\u4e0b\u7684\u5206\u6790\u4e0d\u662f\u6cd5\u5f8b\u5efa\u8bae\u3002\u8bf7\u5f85\u9f99\u82af CLA \u6587\u672c\u6b63\u5f0f\u516c\u5e03\u4e4b\u540e\u81ea\u884c\u9605\u8bfb\u3001\u5224\u65ad\u3002\\n:::\\n\\n\u4e0e Google CLA \u76f8\u6bd4\uff0c\u5177\u4f53\u7684\u4e0d\u540c\u4e4b\u5904\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\\n\\n* \u65b0\u589e\u4e86**\u5176\u4ed6\u77e5\u8bc6\u4ea7\u6743\u6743\u5229\u6388\u4e88\u6761\u6b3e**\u3002\\n\\n \u5728 Google CLA \u7b2c 3 \u6761\u4e0e\u7b2c 4 \u6761\u4e4b\u95f4\uff0c\u6dfb\u52a0\u4e86\u5173\u4e8e\u300c\u5176\u4ed6\u77e5\u8bc6\u4ea7\u6743\u6743\u5229\u300d\u5982\u5546\u6807\u6743\u3001\u6280\u672f\u79d8\u5bc6\u3001\u4e13\u6709\u6280\u672f\u7b49\u7684\u6743\u5229\u8bb8\u53ef\u6388\u4e88\u6761\u6b3e\u3002\\n\\n* \u65b0\u589e\u4e86**\u6eaf\u53ca\u65e2\u5f80\u6761\u6b3e**\u3002\\n\\n \u53ea\u8981\u7b7e\u7f72\u8be5 CLA\uff0c\u6743\u5229\u8bb8\u53ef\u5c06\u81ea\u300c\u60a8\u300d\u9996\u6b21\u5411\u9f99\u82af\u4e2d\u79d1\u63d0\u4ea4\u8d21\u732e\u4e4b\u65e5\u8d77\u751f\u6548\uff0c\u5e76\u975e\u4ece\u7b7e\u7f72\u65f6\u523b\u8d77\u3002\\n\\n :::info\\n FSF copyright assignment \u7b49\u6709\u7c7b\u4f3c\u5b89\u6392\u7684\u534f\u8bae\u4e00\u822c\u4e5f\u4f1a\u63d0\u4f9b\u4e0d\u6eaf\u53ca\u65e2\u5f80\u7684\u534f\u8bae\u6587\u672c\u7248\u672c\u3002\\n :::\\n\\n* \u65b0\u589e\u4e86**\u7ea6\u5b9a\u7ba1\u8f96\u6761\u6b3e**\u3002\\n\\n \u7ea6\u5b9a\u4f7f\u7528\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\u6cd5\u5f8b\u3002\\n \u4f46\u8fdb\u4e00\u6b65\u7ea6\u5b9a\u4e86\u300c\u4efb\u4f55\u7531\u672c\u534f\u8bae\u4ea7\u751f\u7684\u6cd5\u5f8b\u8bc9\u8bbc\u6216\u7a0b\u5e8f\u5747\u5e94\u6392\u4ed6\u6027\u5730\u63d0\u4ea4\u81f3\u9f99\u82af\u4e2d\u79d1\u6240\u5728\u5730\u7684\u6cd5\u9662\u8fdb\u884c\u5ba1\u7406\u300d\u3002\\n\\n :::info\\n \u5982\u4e0d\u7ea6\u5b9a\u7ba1\u8f96\uff0c\u4e00\u573a\u6c11\u4e8b\u7ea0\u7eb7\u9ed8\u8ba4\u5e94\u7531\u88ab\u544a\u6240\u5728\u5730\u6cd5\u9662\u7ba1\u8f96\u3002\\n \u8fd9\u662f\u4e3a\u4e86\u63d0\u9ad8\u539f\u544a\u8bc9\u8bbc\u6210\u672c\uff0c\u4ee5\u4f7f\u5176\u4e0d\u6ee5\u7528\u8bc9\u6743\uff08\u5426\u5219\uff0c\u4e00\u4e2a\u672a\u4f5c\u51c6\u5907\u7684\u88ab\u544a\u8981\u4e48\u5c06\u4e0d\u5f97\u4e0d\u5954\u6ce2\u81f3\u539f\u544a\u6240\u5728\u5730\u5e94\u8bc9\uff0c\u8981\u4e48\u627f\u62c5\u4e0d\u5e94\u8bc9\u7684\u4e0d\u5229\u540e\u679c\uff1b\u7b49\u4e8e\u5b58\u5728\u8d77\u8bc9\u8005\u300c\u6298\u817e\u300d\u4ed6\u8005\u7684\u53ef\u80fd\u6027\uff09\u3002\\n \u6309\u7167\u5f53\u524d\u63aa\u8f9e\uff0c\u6b64\u4e0a\u5c42\u8bbe\u8ba1\u5931\u6548\u3002\\n :::\\n\\n* \u65b0\u589e\u4e86**\u591a\u8bed\u8a00\u7248\u672c\u6761\u6b3e**\u3002\\n\\n \u8be5 CLA \u63d0\u4f9b\u4e86\u4e2d\u82f1\u6587\u4e24\u79cd\u7248\u672c\uff0c\u5e76\u7ea6\u5b9a\u4e86\u5982\u6709\u610f\u601d\u51b2\u7a81\uff0c\u5219\u4ee5\u4e2d\u6587\u7248\u4e3a\u51c6\u3002\\n\\n* \u4e0e Google CLA \u7b2c 4 \u6761\u76f8\u6bd4\uff0c\u5173\u4e8e\u5f53\u300c\u60a8\u300d\u662f\u6cd5\u4eba\u65f6\u7684\u627f\u8bfa\u63aa\u8f9e\u6709\u8c03\u6574\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\nheiher \u52a0\u5165\u4e86\u6298\u817e\u7684\u884c\u5217\uff0c\u76ee\u524d\u5df2\u7ecf\u5728\u4e00\u5b9a\u7684\u914d\u7f6e\u4e0b\u7cca\u51fa\u4e86\u4e00\u7248\u80fd\u591f\u5de5\u4f5c\u7684\u5185\u6838\u3002\\n\u4f17\u4eba\u62fe\u67f4\u706b\u7130\u9ad8\uff01\u4ed6\u5728\u6298\u817e\u8fc7\u7a0b\u4e2d\u53d1\u73b0\uff1a\\n\\n* LLVM \u4e0d\u5e94\u8be5\u628a\u90a3\u4e9b\u6ca1\u6709\u6570\u636e\u4f9d\u8d56\u7684 CSR\u3001IOCSR \u64cd\u4f5c\u4f18\u5316\u6389\u3002\\n\\n### Linux\\n\\n6 \u6708 7 \u65e5\uff0c\u4e0a\u6e38\u58f0\u97f3\u5b50\u7cfb\u7edf\u7ef4\u62a4\u8005 Takashi Iwai [\u5408\u5e76\u4e86](https://lore.kernel.org/loongarch/87mt1b1rif.wl-tiwai@suse.de/) Yanteng Si \u524d\u4e00\u9635\u8d34\u51fa\u7684 LS7A \u96c6\u6210\u58f0\u5361\u652f\u6301\u8865\u4e01\u3002\\n\\n6 \u6708 5 \u65e5\uff0cYingkun Meng [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230605120934.2306548-1-mengyingkun@loongson.cn/)\u9f99\u82af 2K \u7cfb\u5217\u3001LS7A \u7684 I2S \u63a7\u5236\u5668\u652f\u6301\u3002\u8fd9\u4e5f\u662f\u4e00\u79cd\u300c\u96c6\u6210\u58f0\u5361\u300d\u786c\u4ef6\u3002\\n\\n### \u5de5\u5177\u94fe\\n\\n#### GCC\\n\\nchenglulu \u5728\u4f18\u5316 perlbench \u8dd1\u5206\u8fc7\u7a0b\u4e2d\uff0c\u53d1\u73b0\u4e86 [PR 110136](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110136)\\n\u8fd9\u6837\u4e00\u4e2a\u4e25\u91cd\u5f71\u54cd\u6027\u80fd\u7684\u60c5\u51b5\uff0c\\n\u9042[\u63d0\u4ea4\u4e86](https://gcc.gnu.org/pipermail/gcc-patches/2023-June/621006.html)\u76f8\u5e94\u7684\u4fee\u590d\u8865\u4e01\u3002\\n\\n:::info\\n\u6240\u6709 `jr $ra` \u90fd\u88ab\u89c6\u4e3a\u8fc7\u7a0b\u8c03\u7528\u8fd4\u56de\u3002\\n\u56e0\u6b64\u5982\u679c\u4e00\u822c\u7684\u95f4\u63a5\u8df3\u8f6c\u4e0d\u5e78\u4f7f\u7528\u4e86`$ra` \u5b58\u653e\u76ee\u6807\u5730\u5740\uff0c\\n\u90a3\u4e48\u8fc7\u7a0b\u8c03\u7528\u8fd4\u56de\u548c\u95f4\u63a5\u8df3\u8f6c\u7684\u5206\u652f\u9884\u6d4b\u90fd\u4f1a\u88ab\u7834\u574f\u3002\\n:::\\n\\n#### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* [\u9ed8\u8ba4\u53ef\u751f\u6210\u975e\u5bf9\u9f50\u8bbf\u5b58](https://reviews.llvm.org/D149946)\u3002\u8fd9\u662f\u7531\u4e8e 2K1000LA \u7b49\u4e0d\u652f\u6301\u786c\u4ef6\u975e\u5bf9\u9f50\u8bbf\u5b58\u7684\u578b\u53f7\u51e0\u4e4e\u4e0d\u89c1\u4e8e\u901a\u7528\u573a\u666f\uff0c\u4e14\u540e\u7eed\u4f1a\u8d8a\u6765\u8d8a\u5c11\uff082K2000\u30012K3000 \u8fd9\u79cd\u9884\u671f\u4f1a\u5927\u6279\u91cf\u51fa\u8d27\u7684 LA364 \u578b\u53f7\u5df2\u88ab\u8bc1\u5b9e\u652f\u6301\uff09\u3002\u6709\u9700\u8981\u9002\u914d LA264\u3001LA132 \u7b49\u578b\u53f7\u7684\u5f00\u53d1\u8005\uff0c\u9700\u81ea\u884c\u8c03\u6574\u7f16\u8bd1\u53c2\u6570\u4ee5\u7981\u7528\u6b64\u884c\u4e3a\u3002\\n* [\u6dfb\u52a0 LAELF v20230519 \u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u5b9a\u4e49](https://reviews.llvm.org/D152184)\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* [LLD LoongArch port](https://reviews.llvm.org/D138135) \u7684\u4ee3\u7801\u5ba1\u67e5\u6709\u4e86\u8fdb\u5c55\uff0c\u6b63\u5728\u6539\u4ee3\u7801\u3002\\n* xen0n \u4e3a `RelocationResolver` [\u9002\u914d](https://reviews.llvm.org/D152344) LAELF v20230519 \u7684\u65b0\u91cd\u5b9a\u4f4d\u7c7b\u578b\u3002\\n\\n#### Rust\\n\\n\u81ea[\u6dfb\u52a0\u88f8\u673a LoongArch \u652f\u6301](https://github.com/rust-lang/compiler-team/issues/628)\u7684\u91cd\u5927\u53d8\u66f4\u63d0\u6848Major Change Proposal\u4e8e 6 \u6708 6 \u65e5\u6700\u7ec8\u901a\u8fc7\u540e\uff0c\\nheiher \u65cb\u5373[\u63a8\u8fdb\u4e86](https://github.com/rust-lang/rust/pull/112310)\u5b9e\u73b0\u3002\\n\\n\u4ee5\u4e0b `no_std` targets \u81ea 6 \u6708 8 \u65e5\u7684 nightly \u8d77\uff0c\u5df2\u7ecf\u53ef\u4ee5\u4f7f\u7528\uff0c\u5c06\u51fa\u73b0\u4e8e 1.72.0 \u7248\u672c\uff1a\\n\\n* `loongarch64-unknown-none`\uff0cLA64 LP64D\uff08\u53cc\u7cbe\u5ea6\u786c\u6d6e\u70b9\uff09\u88f8\u673a\\n* `loongarch64-unknown-none-softfloat`\uff0cLA64 LP64S\uff08\u8f6f\u6d6e\u70b9\uff09\u88f8\u673a\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\nYANG Xudong [\u4f18\u5316\u4e86](https://www.postgresql.org/message-id/flat/b522a0c5-e3b2-99cc-6387-58134fb88cbe%40ymatrix.cn)\\nPostgreSQL \u5728 LoongArch \u4e0a\u7684 CRC \u8ba1\u7b97\uff0c\\n\u5e76\u5c06\u8865\u4e01[\u63d0\u4ea4\u5230\u4e86](https://commitfest.postgresql.org/43/4353/)\\nPostgreSQL Commitfest 2023-07\u3002\\n\u76ee\u524d\u5411\u793e\u533a\u548c\u5468\u520a\u8bfb\u8005\u4eec\u5bfb\u6c42 review\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-4","metadata":{"permalink":"/newsletter/this-week-in-loongarch-4","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-06-05-this-week-in-loongarch-4.md","source":"@site/newsletter/2023-06-05-this-week-in-loongarch-4.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-06-05T06:10:50.000Z","formattedDate":"2023\u5e746\u67085\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":3.48,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-4","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","authors":["xen0n"],"date":"2023-06-05T06:10:50.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 5 \u671f","permalink":"/newsletter/this-week-in-loongarch-5"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","permalink":"/newsletter/this-week-in-loongarch-3"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u9f99\u82af\u7684 binutils \u7ef4\u62a4\u8005 mengqinggang \u5c06\u5148\u524d\u62a5\u9053\u8fc7\u7684 LoongArch linker relaxation\\n\u4f18\u5316[\u63a8\u5165\u4e86\u4e0a\u6e38](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=57a930e3bfe4b2c7fd6463ed39311e1938513138)\u3002\\n\u4f46\u7531\u4e8e [LoongArch-Documentation \u5e93](https://github.com/loongson/LoongArch-Documentation)\u7684\u7279\u6b8a\u60c5\u51b5\u4ecd\u672a\u89e3\u9664\uff0c\\n\u4e0e\u6b64\u6539\u52a8\u914d\u5957\u7684 ELF psABI \u89c4\u8303\u6587\u6863\u66f4\u65b0\u4e5f\u4ecd\u7136\u6ca1\u6709\u53d1\u751f\u3002\\n\u5bf9\u4e8e\u8fd9\u4e9b\u65b0 relocs \u7684\u7528\u6cd5\uff0c\u76ee\u524d\u53ea\u80fd\u4ee5\u4ee3\u7801\u7684\u5177\u4f53\u884c\u4e3a\u4e3a\u51c6\u3002\\n\\nbinutils \u7684\u5176\u4ed6\u4e0a\u6e38\u7ef4\u62a4\u8005\u968f\u540e\u5e2e\u5fd9\u4fee\u590d\u4e86 LoongArch \u4ee3\u7801\u7684\u4e00\u4e9b[\u98ce\u683c\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=a15891aaea006d06066573449efbda353dd2863e)\u4e0e\\n\u901a\u8fc7fuzzing \u53d1\u73b0\u7684[\u7f13\u51b2\u533a\u6ea2\u51fa\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=74a965d8e09217f3d8f8295c9126b77cdd62b798)\u3001[\u6bb5\u9519\u8bef\u95ee\u9898](https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=89c70cd358b8fa46b84cd100efc95495ff0160ae)\u3002\\n\\n\u5efa\u8bae\u5173\u5fc3\u9f99\u67b6\u6784\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe\u3001\u8d28\u91cf\u7684\u540c\u5b66\u4e5f\u53ef\u4ee5\u5173\u6ce8 binutils \u7b49\u4e0a\u6e38\u7684\u6c9f\u901a\u6e20\u9053\uff0c\u4e00\u8d77\u53c2\u4e0e\u9f99\u67b6\u6784\u76f8\u5173\u4ee3\u7801\u3001\u529f\u80fd\u3001\u8d28\u91cf\u7684\u5b8c\u5584\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n* Gentoo \u4e0a\u6e38\u5df2\u5c06 [`kdeutils-meta`][kdeutils]\u3001[`kdegames-meta`][kdegames] \u4e24\u4e2a meta-packages keyworded\uff0c\u6709\u9700\u8981\u7684\u540c\u5b66\u53ef\u76f4\u63a5 `emerge` \u4e86\u3002\\n* Gentoo \u6b63\u5728\u4e3a Rust 1.71.0 \u7684\u9f99\u67b6\u6784\u652f\u6301[\u505a\u597d\u51c6\u5907](https://github.com/gentoo/gentoo/pull/31241)\u3002\u987a\u5e26\u4e5f\u5c06\u4fee\u590d\u8001\u9f99\u82af\u7cfb\u7edf\u7684 Rust \u652f\u6301\u3002\\n\\n[kdeutils]: https://packages.gentoo.org/packages/kde-apps/kdeutils-meta\\n[kdegames]: https://packages.gentoo.org/packages/kde-apps/kdegames-meta\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u672c\u5468\u6ca1\u6709\u8fd9\u65b9\u9762\u7684\u65b0\u52a8\u5411\u3002\\n\\n### Linux\\n\\n6 \u6708 1 \u65e5\uff0c\u77e5\u540d\u79d1\u6280\u5a92\u4f53 Phoronix [\u62a5\u9053\u4e86](https://www.phoronix.com/news/Loongson-Etnaviv-PCI-Driver)\\nSui Jingfeng \u4e3a\u9f99\u82af 2K1000 \u548c LS7A1000 \u5185\u7f6e\u7684 Vivante GC1000 GPU IP\\n\u505a\u7684[\u5185\u6838\u9002\u914d](https://lore.kernel.org/lkml/20230530160126.2344425-1-suijingfeng@loongson.cn/)\u548c\\n[Mesa \u9002\u914d](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14606)\u3002\\n\\n5 \u6708 31 \u65e5\uff0cBinbin Zhou [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1685448898.git.zhoubinbin@loongson.cn/)\u9f99\u82af 2 \u53f7\u7cfb\u5217\u7684 APB DMA \u5f15\u64ce\u652f\u6301\u3002\\n\\n5 \u6708 31 \u65e5\uff0cYanteng Si [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1685501806.git.siyanteng@loongson.cn/) LS7A \u6865\u7247\u7684\u9ad8\u89e3\u6790\u5ea6\u97f3\u9891\uff08HD Audio\uff09\u652f\u6301\u3002\\n\\n### LLVM\\n\\n\u4e0a\u5468\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* Ami-zhang [\u4fee\u590d\u4e86][D151794] LLVM \u9759\u6001\u5206\u6790\u7ec4\u4ef6\u5bf9 LoongArch \u7684 `i32` \u7c7b\u578b\u53c2\u6570\u3001\u8fd4\u56de\u503c\u7684\u5904\u7406\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u6839\u636e\u5148\u524d\u7684 Linux \u5185\u6838\u8865\u4e01\uff0c\u4e3a LLVM [\u6dfb\u52a0\u4e86][D151655] 3A6000/LA664 \u7684\u7ec6\u7c92\u5ea6\u5185\u5b58\u6805\u969c\u652f\u6301\u3002\\n\\n[D151655]: https://reviews.llvm.org/D151655\\n[D151794]: https://reviews.llvm.org/D151794\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n[KatyushaScarlet](https://github.com/KatyushaScarlet)\\n[\u5411\u5927\u5bb6\u4ecb\u7ecd](https://katyusha.net/536.html) :ta: \u57fa\u4e8e DOSBox-X \u6574\u5408\u7684\u6e38\u620f\u6a21\u62df\u5668\u3002\\n\u4e0d\u8fc7\u4f3c\u4e4e\u5728 QEMU \u6a21\u62df\u6761\u4ef6\u4e0b\u53ef\u80fd\u65e0\u6cd5\u542f\u52a8\u3002\\n\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u4ee5\u52a0\u5165 :ta: \u7684\u884c\u5217\u4e00\u8d77\u6298\u817e\uff01\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-3","metadata":{"permalink":"/newsletter/this-week-in-loongarch-3","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-29-this-week-in-loongarch-3.md","source":"@site/newsletter/2023-05-29-this-week-in-loongarch-3.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-05-29T04:57:02.000Z","formattedDate":"2023\u5e745\u670829\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":5.68,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-3","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","authors":["xen0n"],"date":"2023-05-29T04:57:02.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 4 \u671f","permalink":"/newsletter/this-week-in-loongarch-4"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","permalink":"/newsletter/this-week-in-loongarch-2"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n5 \u6708 24 \u65e5\u4e0b\u5348\uff0cRust \u8bed\u8a00\u7684 `loongarch64-unknown-linux-gnu` \u76ee\u6807[\u6210\u529f\u664b\u5347][rust-loong-tier2]\u5230\\n[Tier 2 with Host Tools]\uff08\u5e26\u5bbf\u4e3b\u5de5\u5177\u7684\u4e8c\u7ea7\u67b6\u6784[^\u6ce8\u4e00]\uff09\u3002\\n\u8be5\u652f\u6301\u5df2\u4ece 5 \u6708 25 \u65e5\u5f00\u59cb\u51fa\u73b0\u4e8e Rust 1.71.0 Nightly \u7248\u672c\uff0c\u5e76\u5c06\u5728 7 \u6708 13 \u65e5\u7a33\u5b9a\u3002\\n\\n5 \u6708 26 \u65e5\uff0cmengqinggang \u5728 binutils \u90ae\u4ef6\u5217\u8868\u8d34\u51fa\u4e86 [LoongArch linker relaxation \u4f18\u5316][binutils-loong-relax]\u7684\u8865\u4e01\u3002\\n\\n:::info \u8fd9\u5565\u73a9\u610f\uff0c\u8fd9\u4e48\u653e\u677e\uff1f\\n\\nLinker relaxation \u6682\u65e0\u5e7f\u6cdb\u91c7\u7528\u7684\u4e2d\u6587\u7ffb\u8bd1\uff0c\u62d9\u8bd1\u300c\u94fe\u63a5\u5668\u5f1b\u8c6b\u300d\u6216\u300c\u94fe\u63a5\u5668\u677e\u5f1b\u300d\uff1a\\n\u7b80\u5355\u5730\u8bf4\uff0c\u8be5\u4f18\u5316\u662f\u94fe\u63a5\u5668\u6839\u636e\u7f16\u8bd1\u5668\u3001\u6c47\u7f16\u5668\u751f\u6210\u4ee3\u7801\u65f6\u63d0\u4f9b\u7684\u989d\u5916\u4fe1\u606f\uff0c\u5c06\u53ef\u7f29\u77ed\u7684\u8f83\u957f\u5e8f\u5217\u7f29\u77ed\uff0c\\n\u4ee5\u8fbe\u5230\u51cf\u5c11\u6307\u4ee4\u6570\uff0c\u4e14\u4e0d\u7528\u5173\u5fc3 code model \u7b49\u4ee3\u7801\u751f\u6210\u7ec6\u8282\u7684\u597d\u5904\uff1b\\n\u8fd9\u7c7b\u4f3c\u6750\u6599\u79d1\u5b66\u4e2d\u7684\u300c\u5e94\u529b\u5f1b\u8c6b/\u677e\u5f1b\u300d\u73b0\u8c61\uff0c\u5de5\u7a0b\u4e0a\u4e43\u81f3\u5728\u5bb6\u63c9\u9762\u65f6\uff0c\u300c\u91ca\u653e\u5e94\u529b\u300d\u4e5f\u662f\u5fc5\u987b\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002\\n\u5728 Linker relaxation \u4e2d\uff0c\u88ab\u91ca\u653e\u7684\u300c\u5e94\u529b\u300d\u5c31\u662f\u4e3a\u4e86\u5b9e\u73b0\u4e00\u5b9a\u8bed\u4e49\uff0c\u6240\u53ef\u80fd\u7528\u5230\u7684\u6700\u957f\u6307\u4ee4\u5e8f\u5217\u5566\u3002\\n\\n\u66f4\u591a\u4fe1\u606f\u53ef\u53c2\u8003 MaskRay \u7684\u4e13\u9898\u6587\u7ae0\uff1a[*The dark side of RISC-V linker relaxation*](http://maskray.me/blog/2021-03-14-the-dark-side-of-riscv-linker-relaxation)\\n\u4e0e [*RISC-V linker relaxation in lld*](http://maskray.me/blog/2022-07-10-riscv-linker-relaxation-in-lld)\u3002\\n\uff08\u4ece\u7b2c\u4e00\u7bc7\u6587\u7ae0\u7684\u6807\u9898\u53ef\u89c1\uff0c\u8fd9\u4e2a\u4f18\u5316\u5bf9\u57fa\u7840\u7ec4\u4ef6\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u4e0d\u89c1\u5f97\u5b8c\u5168\u662f\u597d\u4e8b:smirk_cat:\u3002\uff09\\n\\n\u8be5\u4f18\u5316\u80fd\u5e26\u6765\u6027\u80fd\u597d\u5904\uff0c\u4f46\u4e5f\u5c06\u8f83\u4e3a\u6df1\u523b\u5730\u5f71\u54cd LoongArch \u76ee\u6807\u4ee3\u7801\u7684\u91cd\u5b9a\u4f4d\u8bb0\u5f55\u7528\u6cd5\u3001\u7f16\u8bd1\u5668\u4ee3\u7801\u751f\u6210\uff0c\u4e43\u81f3\u7f16\u8bd1\u5668\u547d\u4ee4\u884c\u4f7f\u7528\u65b9\u5f0f[^\u6ce8\u4e8c]\u7b49\u591a\u4e2a\u65b9\u9762\uff1b\\n\u56e0\u6b64\u5efa\u8bae\u5f00\u53d1\u8005\u540c\u5b66\u4eec\u5bc6\u5207\u5173\u6ce8\u3002\\n\\n:::\\n\\n[binutils-loong-relax]: https://sourceware.org/pipermail/binutils/2023-May/127630.html\\n[rust-loong-tier2]: https://github.com/rust-lang/rust/pull/110936\\n[Tier 2 with Host Tools]: https://doc.rust-lang.org/rustc/target-tier-policy.html#tier-2-with-host-tools\\n\\n[^\u6ce8\u4e00]: \u53ea\u6709 x86\u3001AMD64 \u548c AArch64 \u8fd9\u79cd\u5e7f\u6cdb\u6d41\u884c\u67b6\u6784\u624d\u80fd\u8dfb\u8eab Tier 1\u3002\u4f5c\u4e3a\u53c2\u8003\uff0c`riscv64gc-unknown-linux-gnu` \u4e5f\u548c LA64 Linux \u4e00\u6837\u4f4d\u4e8e Tier 2 with host tools \u7ea7\u522b\u3002\\n[^\u6ce8\u4e8c]: \u7531\u4e8e linker relaxation \u53ef\u4ee5\u5220\u9664\u6307\u4ee4\uff0c\u56e0\u6b64\u53ea\u8981\u6709\u4e86 linker relaxation \u90a3\u4e48\u7f16\u8bd1\u7a0b\u5e8f\u65f6\u5c31\u5c06\u4e0d\u518d\u9700\u8981\u6709\u65f6\u624b\u5de5\u6307\u5b9a code model \u4ee5\u5bb9\u8bb8\u66f4\u5927\u7684\u8df3\u8f6c\u8303\u56f4\u7b49\u60c5\u51b5\u53d1\u751f\u4e86\u3002\u56e0\u6b64\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u7edd\u5927\u90e8\u5206\u573a\u666f\u5c31\u4e0d\u518d\u9700\u8981\u5173\u5fc3\u6216\u6307\u5b9a `-mcmodel` \u8fd9\u4e2a\u9009\u9879\u4e86\u3002\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n\uff08\u4e0a\u671f\u6ca1\u6709\u6ce8\u610f\u5230\uff095 \u6708 20 \u65e5\uff0cDebian \u4e0a\u6e38\u65b0\u5efa\u4e86 `pool-loong64` \u6587\u4ef6\u5939\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u4e0a\u5468\u6682\u65e0\u8fdb\u5c55\uff08\u63a8\u8fdb\u8be5\u9879\u76ee\u7684\u540c\u5b66\u90fd\u5728\u5fd9\u522b\u7684\uff09\u3002\\n\\n### Linux\\n\\n5 \u6708 22 \u65e5\uff0cYinbo Zhu [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230522093156.7108-1-zhuyinbo@loongson.cn/)\u9f99\u82af 2 \u53f7\u7cfb\u5217\u7684\u7535\u6e90\u7ba1\u7406\u652f\u6301\u8865\u4e01\u3002\\n\\n5 \u6708 23 \u65e5\uff0cTiezhu Yang [\u5c1d\u8bd5\u91cd\u6784](https://lore.kernel.org/loongarch/1684837327-18203-1-git-send-email-yangtiezhu@loongson.cn/) `perf` \u5de5\u5177\u7684\u7cfb\u7edf\u8c03\u7528\u8868\u3002\\n\\n5 \u6708 25 \u65e5\uff0cBinbin Zhou [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/cover.1684983279.git.zhoubinbin@loongson.cn/)\u9f99\u82af RTC \u63a7\u5236\u5668\u9a71\u52a8\u7684\u7b2c 4 \u7248\u8865\u4e01\u3002\\n\\n5 \u6708 29 \u65e5\uff0cJianmin Lv [\u8d34\u51fa\u4e86](https://lore.kernel.org/loongarch/20230529010954.2678-1-lvjianmin@loongson.cn/)\u9f99\u82af\u4e2d\u65ad\u63a7\u5236\u5668\u9a71\u52a8\u7684\u4e00\u4e9b\u884c\u4e3a\u4fee\u590d\u7684\u7b2c 2 \u7248\u8865\u4e01\u3002\\n\\n### LLVM\\n\\n\u672c\u5468\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* tangyouling\u3001Ami-zhang \u4e3a compiler-rt fuzzer \u7ec4\u4ef6[\u9002\u914d\u4e86][D140607]\u975e 4KiB \u9875\u7684\u7cfb\u7edf\u3002\u5f53\u7136\uff0c\u4e5f\u5305\u62ec\u9f99\u67b6\u6784\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u7ec8\u4e8e\u627e\u5230\u4e86\u8db3\u591f\u65f6\u95f4[\u8c03\u8bd5\u5e76\u4fee\u590d\u4e86][D138135] lld/ELF LoongArch port \u7684 TLS \u5904\u7406\u903b\u8f91\u3002\u8be5\u8865\u4e01\u7ec8\u4e8e\u79f0\u5f97\u4e0a\u300c\u5b8c\u6210\u300d\u4e86\u3002\\n\\n[D138135]: https://reviews.llvm.org/D138135\\n[D140607]: https://reviews.llvm.org/D140607\\n\\n### Rust\\n\\n[\u6dfb\u52a0\u9f99\u67b6\u6784\u88f8\u673a targets \u7684 MCP][loong-baremetal-mcp] \u6b63\u5728\u516c\u793a\u671f\u5185\u3002\u76ee\u524d\u6ca1\u6709\u53cd\u5bf9\u610f\u89c1\uff0c\u9884\u8ba1\u672c\u5468\u5c06\u83b7\u5f97\u901a\u8fc7\u3002\\n\\n\u9f99\u67b6\u6784 Rust \u7ef4\u62a4\u8005\u4eec\u4e5f\u5728\u7740\u624b\u4e3a rustup \u6dfb\u52a0\u652f\u6301\u4e86\uff1a\\n\\n* [\u5347\u7ea7\u4f9d\u8d56\u7248\u672c][rustup-pr-1]\u3001\\n* [\u4fee\u590d\u7f16\u8bd1][rustup-pr-2]\u3001\\n* [\u6dfb\u52a0 CI \u652f\u6301][rustup-pr-3]\u3002\\n\\n[loong-baremetal-mcp]: https://github.com/rust-lang/compiler-team/issues/628\\n[rustup-pr-1]: https://github.com/rust-lang/rustup/pull/3365\\n[rustup-pr-2]: https://github.com/rust-lang/rustup/pull/3364\\n[rustup-pr-3]: https://github.com/rust-lang/rustup/pull/3363\\n\\n\u622a\u81f3\u53d1\u7a3f\u65f6\uff0c\u8fd9\u4e9b PRs \u90fd\u5df2\u88ab\u5408\u5e76\u3002\\n\u9884\u8ba1\u5230 Rust 1.71.0 \u6b63\u5f0f\u53d1\u5e03\u65f6\uff0c\u9f99\u67b6\u6784 Rust \u5f00\u53d1\u8005\u5c06\u5f97\u4ee5\u4eab\u53d7\u4e0d\u900a\u5176\u4ed6\u67b6\u6784\u7684\u540c\u7b49\u5f00\u53d1\u4f53\u9a8c\u3002\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u672c\u5468\u6ca1\u6709\u6295\u7a3f\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-2","metadata":{"permalink":"/newsletter/this-week-in-loongarch-2","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-22-this-week-in-loongarch-2.md","source":"@site/newsletter/2023-05-22-this-week-in-loongarch-2.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","description":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01","date":"2023-05-22T04:05:38.000Z","formattedDate":"2023\u5e745\u670822\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.485,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-2","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","authors":["xen0n"],"date":"2023-05-22T04:05:38.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 3 \u671f","permalink":"/newsletter/this-week-in-loongarch-3"},"nextItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","permalink":"/newsletter/this-week-in-loongarch-1"}},"content":"\u6bcf\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u62a5\u9053 LoongArch® \u793e\u533a\u6700\u524d\u7ebf\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\uff01\\n\\n\x3c!-- truncate --\x3e\\n\\n\u5982\u65e0\u7279\u522b\u8bf4\u660e\uff0c\u6587\u4e2d\u63d0\u53ca\u7684\u65e5\u671f\u3001\u65f6\u95f4\u90fd\u4e3a\u5317\u4eac\u65f6\u95f4\uff08UTC+8\uff09\u3002\\n\\n## \u8981\u95fb\u901f\u9012\\n\\n\u672c\u680f\u76ee\u5e76\u975e\u6bcf\u671f\u90fd\u6709\u3002\u5982\u679c\u4f60\u770b\u5230\u4e86\uff0c\u4e00\u5b9a\u662f\u4e0a\u5468\u53d1\u751f\u4e86\u91cd\u5927\u4e8b\u4ef6\uff01\\n\\n5 \u6708 17 \u65e5\u665a\u95f4\uff0cGNU GRUB2 \u7684 LoongArch \u79fb\u690d[\u8fdb\u5165\u4e0a\u6e38][grub-msg]\uff0c\\n\u5c06\u4e8e\u8fd1\u671f\u7684 2.12 \u7248\u672c\u6b63\u5f0f\u53d1\u5e03\u3002\\n\u4ece[\u56fd\u5185 LoongArch \u793e\u533a\u6700\u65e9\u7684\u4ee3\u7801\u63d0\u4ea4\u4e0e\u5185\u90e8\u5ba1\u67e5][la64-grub-first-pr]\u4ee5\u6765\uff0c\\n\u5df2\u5c06\u8fd1\u4e24\u5e74\u65f6\u95f4\uff1b\u4ece[\u5411\u4e0a\u6e38\u6b63\u5f0f\u63d0\u4ea4\u7684\u7b2c\u4e00\u7248][grub-first-submission]\u5f00\u59cb\uff0c\\n\u4e5f\u5feb\u4e00\u5e74\u534a\u4e86\u3002\\n\\n[grub-msg]: https://lists.gnu.org/archive/html/grub-devel/2023-05/msg00089.html\\n[la64-grub-first-pr]: https://github.com/loongarch64/grub/pull/1\\n[grub-first-submission]: https://lists.gnu.org/archive/html/grub-devel/2022-01/msg00036.html\\n\\n\u8fd9\u671f\u95f4\uff0c\u4ee5\u4e0b\u540c\u5b66\u4ee5\u5404\u79cd\u5f62\u5f0f\u53c2\u4e0e\u4e86\u4ee3\u7801\u7684\u5f00\u53d1\u3001\u5ba1\u67e5\u3001\u6d4b\u8bd5\u7b49\u5de5\u4f5c\uff1a\uff08\u4ee5 ID \u4e3a\u5e8f\uff09\\n\\n* [@cnmushiba](https://github.com/cnmushiba)\\n* [@hudsonzuo](https://github.com/hudsonzuo)\\n* [@kilaterlee](https://github.com/kilaterlee)\\n* [@sdlaqz](https://github.com/sdlaqz)\\n* [@sunhaiyong1978](https://github.com/sunhaiyong1978)\\n* [@xen0n](https://github.com/xen0n)\\n* [@xry111](https://github.com/xry111)\\n* `yangqiming `\\n* [@yetist](https://github.com/yetist)\\n* [@zhangwenlong8911](https://github.com/zhangwenlong8911)\\n* [@zhuyaliang](https://github.com/zhuyaliang)\\n* [@zwaizwai](https://github.com/zwaizwai)\\n\\n\u5f53\u7136\uff0c\u9664\u4e86\u8fd9\u4e9b\u540d\u5b57\u4e4b\u5916\uff0c\u8fd8\u6709\u5176\u4ed6\u6ca1\u6709\u51fa\u73b0\u5728\u8ba8\u8bba\u4e32\u3001\u63d0\u4ea4\u5386\u53f2\u7684\u65e0\u540d\u82f1\u96c4\u3002\\n\u8ba9\u6211\u4eec\u611f\u8c22 :ta: \u4eec\u7684\u4ed8\u51fa\uff01\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n\u4e0a\u5468\u6ca1\u6709\u53d1\u884c\u7248\u65b9\u9762\u7684\u65b0\u52a8\u5411\u3002\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u9f99\u82af LLVM \u56e2\u961f\u4e0e xen0n \u6b63\u5728\u5bf9 LLVM \u8fdb\u884c\u5fc5\u8981\u7684\u4fee\u6539\uff0c\u4ee5\u4f7f\u5176\u8db3\u4ee5\u6784\u5efa Linux \u5185\u6838\u3002\\n\u4e0a\u4e00\u8f6e\u8fed\u4ee3\u57fa\u672c\u5b8c\u6210\uff0c\u53d1\u73b0\u4e86\u66f4\u591a\u7684\u5f85\u8ddf\u8fdb\u9879\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u7684\u5751\uff1a\\n\\n* \u62fc\u63a5\u6307\u4ee4\u5b57\u4f7f\u7528\u7684 `parse_r` \u8f85\u52a9\u4f8b\u7a0b\u76ee\u524d\u4e0d\u80fd\u5728 LLVM \u5904\u7406\u5f62\u5982 `$a0` \u7684\u5bc4\u5b58\u5668\u540d\u3002\\n* `` \u7528\u5230\u4e86\u4e0d\u80fd\u88ab\u6b63\u786e\u5904\u7406\u7684\u5199\u6cd5\u3002\\n* `la_abs` \u5b8f\u6240\u4f7f\u7528\u5230\u7684\u91cd\u5b9a\u4f4d\u5199\u6cd5\u6d89\u53ca\u4e86\u4e0d\u540c\u6bb5\uff08section\uff09\u95f4\u7684\u504f\u79fb\u8ba1\u7b97\uff0c\u4e0d\u88ab LLVM \u652f\u6301\uff0c\u9700\u8981\u6539\u5199\u3002\\n* `addrspace`\uff08\u5728 C \u4e00\u4fa7\uff1a`address_space(X)` \u5c5e\u6027\uff09\u4e0d\u80fd\u88ab\u7528\u4ee5\u7ed5\u8fc7\u5bf9 `model` \u5c5e\u6027\u7684\u6b63\u7ecf\u652f\u6301\uff0c`model` \u4ecd\u7136\u9700\u8981\u88ab\u5b9e\u73b0\u3002\\n\\n### Linux\\n\\n5 \u6708 16 \u65e5\uff0cHuacai Chen \u5728 Linux/LoongArch \u90ae\u4ef6\u5217\u8868\u8d34\u51fa\u4e86\u4e24\u4e2a\u9488\u5bf9\u9f99\u82af 3A6000\\n\uff08LA664 \u5fae\u67b6\u6784\uff09\u7684\u6027\u80fd\u4f18\u5316\u8865\u4e01\u3002\u8fd9\u4e5f\u662f LA664 \u5fae\u67b6\u6784\u7684\u65b0\u9c9c\u7279\u6027\u9996\u6b21\u89c1\u8bf8\u62a5\u7aef\u3002\\n\u5b83\u4eec\u5206\u522b\u662f\uff1a[\u66f4\u7ec6\u7c92\u5ea6\u7684\u5185\u5b58\u6805\u969c\u64cd\u4f5c][la664-dbar]\u4e0e[\u9875\u8868\u904d\u5386\u7684\u786c\u4ef6\u52a0\u901f\u652f\u6301][la664-ptw]\u3002\\n\\n5 \u6708 15 \u65e5\uff0cTianrui Zhao \u8d34\u51fa\u4e86 [LoongArch KVM \u7684\u7b2c 10 \u7248\u8865\u4e01][kvm-r10]\u3002\u7136\u800c\u865a\u62df\u5316\u6307\u4ee4\u96c6\u6269\u5c55\u7684\u624b\u518c\u4ecd\u7136\u6ca1\u6709\u516c\u5f00\u3002\\n\\n5 \u6708 14 \u65e5\uff0cImmad Mir [\u4fee\u590d\u4e86][fix-debugfs-init]\u975e\u5bf9\u9f50\u8bbf\u5b58\u6a21\u62df\u529f\u80fd\u7684 debugfs \u521d\u59cb\u5316\u8fc7\u7a0b\u7684\u8fd4\u56de\u503c\u5904\u7406\u3002\u8be5\u8865\u4e01\u5df2\u88ab\u63a5\u53d7\u3002\\n\\n[la664-dbar]: https://lore.kernel.org/loongarch/20230516124536.535343-1-chenhuacai@loongson.cn/\\n[la664-ptw]: https://lore.kernel.org/loongarch/20230516124610.535360-1-chenhuacai@loongson.cn/\\n[kvm-r10]: https://lore.kernel.org/loongarch/20230515021522.2445551-1-zhaotianrui@loongson.cn/\\n[fix-debugfs-init]: https://lore.kernel.org/loongarch/CY5PR12MB64558068B314942BA1B2ED2BC67B9@CY5PR12MB6455.namprd12.prod.outlook.com/\\n\\n### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining \u4e3a LoongArch [\u6dfb\u52a0\u4e86 LP64S\uff0864 \u4f4d\u8f6f\u6d6e\u70b9\uff09ABI \u652f\u6301][D150417]\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n* SixWeining \u4f7f Clang \u5728\u7f16\u8bd1\u6c47\u7f16\u8bed\u8a00\u7684\u6e90\u7801\u65f6[\u80fd\u591f\u6b63\u786e\u5411\u6c47\u7f16\u5668\u4f20\u9012 ABI \u76f8\u5173\u9009\u9879][D150537]\u3002\\n \u8fd9\u4e5f\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n\\n\u4e0a\u5468\u6ca1\u6709\u65b0\u7684 LoongArch \u76f8\u5173\u52a8\u5411\u3002\\n\\n[D150417]: https://reviews.llvm.org/D150417\\n[D150537]: https://reviews.llvm.org/D150537\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\n\u4e0a\u5468\u6ca1\u6709\u6295\u7a3f\u3002\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"},{"id":"this-week-in-loongarch-1","metadata":{"permalink":"/newsletter/this-week-in-loongarch-1","editUrl":"https://github.com/loongson-community/areweloongyet/newsletter/2023-05-15-this-week-in-loongarch-1.md","source":"@site/newsletter/2023-05-15-this-week-in-loongarch-1.md","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","description":"\u7531\u5fd7\u613f\u8005\u4eec\u81ea\u53d1\u7f16\u64b0\u7684 LoongArch® \u793e\u533a\u751f\u6001\u5468\u62a5\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u4e0e\u5927\u5bb6\u89c1\u9762\u4e86\uff01","date":"2023-05-15T13:49:14.000Z","formattedDate":"2023\u5e745\u670815\u65e5","tags":[{"label":"\u6bcf\u5468\u4e00\u9f99","permalink":"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99"}],"readingTime":4.185,"hasTruncateMarker":true,"authors":[{"name":"WANG Xuerui","title":"\ud83d\udc32\u9f99\u95e8\u5ba2\u6808\u6253\u6742\u7684","url":"https://github.com/xen0n","imageURL":"https://github.com/xen0n.png","key":"xen0n"}],"frontMatter":{"slug":"this-week-in-loongarch-1","title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 1 \u671f","authors":["xen0n"],"date":"2023-05-15T13:49:14.000Z","tags":["\u6bcf\u5468\u4e00\u9f99"]},"unlisted":false,"prevItem":{"title":"\u6bcf\u5468\u4e00\u9f99\uff1a\u7b2c 2 \u671f","permalink":"/newsletter/this-week-in-loongarch-2"}},"content":"\u7531\u5fd7\u613f\u8005\u4eec\u81ea\u53d1\u7f16\u64b0\u7684 LoongArch® \u793e\u533a\u751f\u6001\u5468\u62a5\u300a\u6bcf\u5468\u4e00\u9f99\u300b\u4e0e\u5927\u5bb6\u89c1\u9762\u4e86\uff01\\n\u6bcf\u4e2a\u5468\u4e00\u90fd\u4e3a\u5927\u5bb6\u5e26\u6765\u793e\u533a\u8d21\u732e\u8005\u4eec\u4ece\u6700\u524d\u7ebf\u4f20\u6765\u7684\u7b2c\u4e00\u624b\u65b0\u9c9c\u8d44\u8baf\u3002\\n\\n\x3c!-- truncate --\x3e\\n\\n## \u5148\u300c\u9a6c\u300d\u518d\u770b\\n\\n\u672c\u680f\u76ee\u7684\u5185\u5bb9\u5177\u6709\u4e00\u5b9a\u5ef6\u7eed\u6027\uff0c\u5c06\u6301\u7eed\u8ffd\u8e2a\u62a5\u9053 LoongArch® \u9886\u57df\u7684\u91cd\u8981\u6216\u957f\u671f\u9879\u76ee\uff08\u5751\uff09\u3002\\n\\n### \u53d1\u884c\u7248\u4eec\\n\\n* Loong Arch Linux: yetist \u53d1\u5e03\u4e86 2023.05.08 \u7248\u672c\u7684 ISO \u955c\u50cf\u3002\\n* Debian: 5 \u6708 15 \u65e5\u95f4\uff0czhangdandan \u547c\u5401\u611f\u5174\u8da3\u7684\u540c\u5b66\u53bb[\u7533\u8bf7\u521b\u5efa debian-loongarch \u90ae\u4ef6\u5217\u8868\u7684 bug][debian-loongarch] \u4e0b\u56de\u590d\u8868\u793a\u652f\u6301\u3002\\n* Deepin: \u4e2d\u56fd\u65f6\u95f4 5 \u6708 6 \u65e5\u51cc\u6668 03:59\uff0cRevy \u5728 Deepin \u793e\u533a[\u63d0\u4ea4\u4e86\u589e\u52a0\u9f99\u67b6\u6784\u652f\u6301\u7684 PR][deepin-loong]\u3002\u8f9b\u82e6\u4e86\uff01\\n\\n[loongarchlinux-isos]: https://mirrors.wsyu.edu.cn/loongarch/archlinux/iso/\\n[debian-loongarch]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023585\\n[deepin-loong]: https://github.com/deepin-community/rfcs/pull/2\\n\\n### ClangBuiltLinux\\n\\n[\u4e0a\u6e38\u7684\u8ddf\u8e2a issue](https://github.com/ClangBuiltLinux/linux/issues/1787)\\n\u4e5f\u4f1a\u53ca\u65f6\u53cd\u6620\u6700\u65b0\u52a8\u6001\u3002\\n\\n\u9f99\u82af LLVM \u56e2\u961f\u4e0e xen0n \u6b63\u5728\u5bf9 LLVM \u8fdb\u884c\u5fc5\u8981\u7684\u4fee\u6539\uff0c\u4ee5\u4f7f\u5176\u8db3\u4ee5\u6784\u5efa Linux \u5185\u6838\u3002\\n\\n### Linux\\n\\n* \u5317\u4eac\u65f6\u95f4 5 \u6708 11 \u65e5\uff0c`drm-next` \u5206\u652f[\u63a5\u53d7\u4e86\u4e3a DCN \u67b6\u6784 AMD \u663e\u5361\u6dfb\u52a0\u9f99\u67b6\u6784\u9002\u914d\u7684\u8865\u4e01][dc-fp-loong]\u3002\\n \u8be5\u8865\u4e01\u5df2\u8fdb\u5165 linux-next\uff0c\u53ef\u65b9\u4fbf\u8bd5\u7528\u4e86\u3002\\n\\n[dc-fp-loong]: https://gitlab.freedesktop.org/agd5f/linux/-/commit/d3295311e589a14a7496f0e14b5be6c3b5d9e134\\n\\n### LLVM\\n\\n\u4e00\u5468\u95f4\u5408\u5e76\u4e86\u4ee5\u4e0b\u7684\u529f\u80fd\u6539\u8fdb\u7b49\uff1a\\n\\n* SixWeining \u4e3a LoongArch Clang \u7684\u5185\u8054\u6c47\u7f16\uff08inline asm\uff09[\u6dfb\u52a0\u4e86][D136436]\u4e0d\u5e26 `$` \u524d\u7f00\u7684\u901a\u7528\u5bc4\u5b58\u5668\u652f\u6301\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n* SixWeining \u4e3a LoongArch Clang \u7684\u5185\u8054\u6c47\u7f16[\u6dfb\u52a0\u4e86][D150089]\u5bf9\u6d6e\u70b9\u6761\u4ef6\u7801\u5bc4\u5b58\u5668 `$fccX` \u7684 clobber \u652f\u6301\u3002\\n\\n\u51fa\u73b0\u4e86\u4ee5\u4e0b\u7684\u65b0\u52a8\u5411\uff1a\\n\\n* xen0n \u5c1d\u8bd5\u4e3a LoongArch \u540e\u7aef[\u6dfb\u52a0\u5bf9 large \u4ee3\u7801\u6a21\u578b\u7684\u652f\u6301][D150522]\uff08GCC \u53eb\u8fd9\u4e2a\u6a21\u578b `extreme`\uff09\u3002\\n \u8fd9\u662f\u652f\u6301 ClangBuiltLinux \u9879\u76ee\u6240\u5fc5\u987b\u7684\u80fd\u529b\u4e4b\u4e00\u3002\\n\\n[D136436]: https://reviews.llvm.org/D136436\\n[D150089]: https://reviews.llvm.org/D150089\\n[D150522]: https://reviews.llvm.org/D150522\\n\\n## \u793e\u533a\u6574\u6d3b:\u513f:\\n\\n\u672c\u680f\u76ee\u63a5\u53d7\u4efb\u4f55\u7f51\u53cb\u7684\u6295\u7a3f\uff0c\u53ea\u8981\u5185\u5bb9\u4e0e LoongArch® \u6709\u5173\uff0c\u5e76\u53ef\u4ee5\u4e3a\u8bfb\u8005\u5e26\u6765\u4ef7\u503c\uff0c\\n\u65e0\u8bba\u4e25\u8083\u8d21\u732e\uff08\u6574\u7684\u5927\u6d3b:\u513f:\uff09\u6216\u662f\u535a\u541b\u4e00\u7b11\u90fd\u4e00\u6982\u6b22\u8fce\uff01\\n\\ndonmor \u540c\u5b66\u4f7f\u7528 QEMU \u6a21\u62df\u7684\u9f99\u67b6\u6784\u9a8c\u8bc1\u4e86\u5f88\u591a\u8f6f\u4ef6\u548c\u6e38\u620f\uff1a\\n\\n* [TheXTech SMBX](https://github.com/Wohlstand/TheXTech)\uff0c\u540c\u4eba\u9a6c\u91cc\u5965\u5f15\u64ce\u3002\\n \u4f7f\u7528 `-sw` \u53c2\u6570\u8f6f\u89e3\u53ef\u5728 QEMU \u8fd0\u884c~~\u4e00\u5e27\u7535\u7ade~~\uff0c\u636e\u7fa4\u53cb\u8bf4\u72ec\u663e\u5b9e\u673a\u53ef\u73a9\\n* [EasyRPG Player](https://easyrpg.org/player)\uff0cRPG2000/2003 \u865a\u62df\u673a\uff0c\u5728 QEMU \u53ef\u6d41\u7545\u8fd0\u884c\\n* [LTFS](https://github.com/LinearTapeFileSystem/ltfs)\uff0c\u78c1\u5e26\u673a\u7684\u9a71\u52a8\u3002\u53ef\u80fd\u9700\u8981\u7a0d\u5fae\u6539\u4e00\u4e9b\u4ee3\u7801\\n* [FRP](https://gofrp.org/)\uff0c\u5185\u7f51\u7a7f\u900f\u5de5\u5177\uff0c\u61c2\u7684\u90fd\u61c2\uff08\\n* [SpaceCadetPinball](https://github.com/k4zmu2a/SpaceCadetPinball)\uff0cWindows XP \u4e09\u7ef4\u5f39\u7403\u7684\u79fb\u690d\u7248\u3002\\n \u9700\u8981\u81ea\u884c\u83b7\u53d6\u539f\u7248\u6587\u4ef6\u653e\u5165 `~/.local/share/SpaceCadetPinball`\u3002\\n QEMU \u5e27\u6570\u611f\u4eba\\\\_(:\u0437\u300d\u2220)\\\\_\\n* [Seafile](https://www.seafile.com/)\uff0c\u5927\u540d\u9f0e\u9f0e\u7684\u7f51\u76d8\uff0c\u5728\u8bba\u575b\u4e5f\u88ab\u63d0\u8d77\u597d\u591a\u6b21\u3002\\n \u6b64\u6b21\u7f16\u8bd1\u7684\u662f\u793e\u533a\u7248 9.0.10\uff0c\u4e0d\u6392\u9664\u4e13\u4e1a\u7248\u53ef\u4ee5 LATX \u8fd0\u884c\uff08\\n \u9664\u7f51\u9875\u7aef Office \u96c6\u6210\u548c\u5ba2\u6237\u7aef OAuth\uff08\u6ca1\u8bd5\u8fc7\uff0c\u636e\u8bf4\u56e0\u4e3a\u7f3a\u5c11 qt5-webengine\uff09\u5916\uff0c\u5927\u90e8\u5206\u529f\u80fd\u5df2\u57fa\u672c\u53ef\u7528\uff0cseadrive \u9700\u6307\u5b9a\u4f7f\u7528 qt5-webkit\uff08\u5df2\u8fdb\u5165 Arch \u6e90\uff09\\n* [np2kai](http://domisan.sakura.ne.jp/article/np2kai/np2kai.html)\uff0c\u5927\u540d\u9f0e\u9f0e\u7684 PC98 \u6a21\u62df\u5668 nekoproject2 \u7684\u8de8\u5e73\u53f0\u6539\u7248\uff0c\u5df2\u7ecf\u8fdb\u5165 libretro\u3002\\n QEMU \u53ef\u542f\u52a8\uff0c\u80fd\u8fd0\u884c\u4e1c\u65b9\u65e7\u4f5c\uff0c\u7136\u800c\u5e27\u6570\u4e0d\u5230 1fps\uff08\u60b2\uff09\\n* [Onscripter-Yuri](https://github.com/YuriSizuku/OnscripterYuri)\uff0cNScripter\u865a\u62df\u673a\u3002\\n QEMU \u53ef\u542f\u52a8\uff0c\u4e5f\u6bd4\u8f83\u5361\uff0c\u4e0d\u8fc7\u8fd9\u4e5f\u662f\u4e2a\u4e0d\u4f1a\u8ba9\u4eba\u6709\u7a7a\u5173\u5fc3\u5e27\u6570\u7684\u73a9\u610f\uff08\\n \u636e\u8bf4\u53ef\u4ee5\u542f\u52a8 FSN\uff0c\u6708\u7403\u4eba\u72c2\u559c\\n\\n## \u5f20\u8d34\u680f\\n\\n\u672c\u680f\u76ee\u76ee\u524d\u53ef\u4f9b\u5f20\u8d34\u516c\u76ca\u6027\u8d28\u7684\u5404\u79cd\u4fe1\u606f\u3002\\n\\n* \u675c\u6bd4\u6b22\u8fce\u540c\u5b66\u4eec\u53bb [LA UOSC \u7684 Debian port \u9875\u9762][lauosc-debian]\u770b\u770b\u3002\\n* \u672c\u5468\u62a5[\u6301\u7eed\u63a5\u53d7\u7f51\u53cb\u6295\u7a3f][call-for-submissions]\u3002\u6b22\u8fce\u6765\u4e0a\u6e38\u5750\u5750\uff01\\n\\n[lauosc-debian]: https://bbs.loongarch.org/d/167-lauosc-debian-12-ports\\n[call-for-submissions]: https://github.com/loongson-community/areweloongyet/issues/16"}]}')}}]); \ No newline at end of file diff --git a/assets/js/main.1f73b020.js b/assets/js/main.e1949fdc.js similarity index 99% rename from assets/js/main.1f73b020.js rename to assets/js/main.e1949fdc.js index 0dd5bc25..e9f9249f 100644 --- a/assets/js/main.1f73b020.js +++ b/assets/js/main.e1949fdc.js @@ -1,2 +1,2 @@ -/*! For license information please see main.1f73b020.js.LICENSE.txt */ -(self.webpackChunkareweloongyet=self.webpackChunkareweloongyet||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),o=n.n(r),a=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"04cc8988":[()=>n.e(1436).then(n.bind(n,5219)),"@site/newsletter/2023-07-24-this-week-in-loongarch-10.md?truncated=true",5219],"04e9173a":[()=>n.e(1322).then(n.bind(n,3096)),"@site/newsletter/2023-10-02-this-week-in-loongarch-18.md?truncated=true",3096],"067884b2":[()=>n.e(3915).then(n.t.bind(n,8602,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.binutils.json",8602],"082de4fb":[()=>n.e(1519).then(n.bind(n,4541)),"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md",4541],"09be6a1b":[()=>n.e(3895).then(n.t.bind(n,5123,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.xen0n.json",5123],"0e384e19":[()=>n.e(9671).then(n.bind(n,7876)),"@site/docs/intro.md",7876],10260071:[()=>n.e(6849).then(n.bind(n,5383)),"@site/newsletter/2023-11-20-this-week-in-loongarch-25.md",5383],"1296bf60":[()=>n.e(3338).then(n.t.bind(n,4914,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.gentoo.json",4914],"131bb4ca":[()=>n.e(996).then(n.t.bind(n,2662,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-asmdb-plugin/default/plugin-route-context-module-100.json",2662],"143c1d44":[()=>n.e(3853).then(n.t.bind(n,6223,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.jiangcuo.json",6223],"169ddf7d":[()=>n.e(2487).then(n.t.bind(n,3752,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-790.json",3752],17896441:[()=>Promise.all([n.e(532),n.e(8658),n.e(7918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"18b9561e":[()=>n.e(6457).then(n.bind(n,8513)),"@site/newsletter/2023-09-18-this-week-in-loongarch-16.md?truncated=true",8513],"18bbda43":[()=>n.e(3113).then(n.t.bind(n,5532,19)),"~blog/blog-newsletter/newsletter-tags-tags-371.json",5532],"190e34ed":[()=>n.e(6918).then(n.bind(n,37)),"@site/docs/contrib/index.md",37],"1a1dfb8e":[()=>n.e(736).then(n.bind(n,6674)),"@site/newsletter/2023-09-04-this-week-in-loongarch-14.md",6674],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,1473)),"@theme/SearchPage",1473],"1a849a5f":[()=>n.e(704).then(n.t.bind(n,7083,19)),"~blog/blog-newsletter/blog-post-list-prop-blog-newsletter.json",7083],"1b656150":[()=>n.e(3914).then(n.bind(n,6458)),"@site/newsletter/2023-07-03-this-week-in-loongarch-7.md",6458],"1cbe2215":[()=>n.e(4992).then(n.bind(n,9020)),"@site/docs/collection-of-typical-configurations.md",9020],"1d0f744e":[()=>n.e(2145).then(n.t.bind(n,9167,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-790-list.json",9167],"1df578fd":[()=>n.e(6378).then(n.bind(n,7500)),"@site/newsletter/2023-09-11-this-week-in-loongarch-15.md?truncated=true",7500],"1df93b7f":[()=>Promise.all([n.e(532),n.e(6486),n.e(3237)]).then(n.bind(n,8391)),"@site/src/pages/index.tsx",8391],"1e30d886":[()=>n.e(9562).then(n.t.bind(n,955,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.freebsd.json",955],"20d934e8":[()=>n.e(9892).then(n.bind(n,4174)),"@site/newsletter/2023-09-11-this-week-in-loongarch-15.md",4174],"2587bc9f":[()=>n.e(3287).then(n.bind(n,6481)),"@site/newsletter/2023-06-27-these-weeks-in-loongarch-6.md",6481],"258ac86d":[()=>n.e(5734).then(n.t.bind(n,4121,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.haiku.json",4121],"27c32937":[()=>n.e(9770).then(n.bind(n,615)),"@site/newsletter/2023-09-18-this-week-in-loongarch-16.md",615],"27c3e8d6":[()=>n.e(9050).then(n.t.bind(n,1908,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.spidermonkey.json",1908],"28c851e0":[()=>n.e(6736).then(n.bind(n,8921)),"@site/newsletter/2023-07-10-this-week-in-loongarch-8.md?truncated=true",8921],"2a96ad0c":[()=>n.e(8072).then(n.t.bind(n,4376,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.xry111.json",4376],"2bf2970b":[()=>n.e(7096).then(n.bind(n,5437)),"@site/newsletter/2023-12-26-this-week-in-loongarch-30/index.md?truncated=true",5437],"30c6a1e4":[()=>n.e(3638).then(n.bind(n,1306)),"@site/newsletter/2023-11-20-this-week-in-loongarch-25.md?truncated=true",1306],"30fc67a5":[()=>n.e(9449).then(n.bind(n,1761)),"@site/newsletter/2023-10-23-this-week-in-loongarch-21.md",1761],"316c37ba":[()=>n.e(889).then(n.t.bind(n,9251,19)),"~blog/blog-newsletter/newsletter-page-2-1b2.json",9251],"33037dad":[()=>n.e(7894).then(n.bind(n,500)),"@site/newsletter/2023-05-29-this-week-in-loongarch-3.md?truncated=true",500],"35a1c358":[()=>n.e(3207).then(n.t.bind(n,3881,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-2-d7d-list.json",3881],"37a7b374":[()=>n.e(6232).then(n.t.bind(n,9038,19)),"~blog/blog-newsletter/newsletter-page-4-99e.json",9038],"3838a754":[()=>n.e(9409).then(n.bind(n,7958)),"@site/newsletter/2023-05-15-this-week-in-loongarch-1.md",7958],"3ceb2b4a":[()=>n.e(9891).then(n.t.bind(n,2864,19)),"~blog/default/blog-tags-\u4e3b\u521b\u56e2\u961f\u7684\u8bdd-1c7-list.json",2864],"3dc772a5":[()=>Promise.all([n.e(532),n.e(3123)]).then(n.bind(n,1578)),"@site/newsletter/2023-08-28-this-week-in-loongarch-13.mdx",1578],"405b8d16":[()=>n.e(5133).then(n.t.bind(n,5618,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.yongbao.json",5618],"40c243ad":[()=>n.e(2976).then(n.bind(n,9834)),"@site/newsletter/2023-05-22-this-week-in-loongarch-2.md?truncated=true",9834],"40d66bc8":[()=>n.e(8107).then(n.bind(n,43)),"@site/newsletter/2024-01-24-these-weeks-in-loongarch-33.md?truncated=true",43],"4112cc1c":[()=>n.e(8887).then(n.t.bind(n,6055,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.qemu.json",6055],"41af9025":[()=>n.e(5653).then(n.t.bind(n,7247,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.clfs.json",7247],"469a9e88":[()=>n.e(6150).then(n.t.bind(n,8016,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-3-fa7.json",8016],47159631:[()=>n.e(6882).then(n.bind(n,3318)),"@site/newsletter/2024-01-01-this-week-in-loongarch-31.md?truncated=true",3318],"4abb55cb":[()=>n.e(6054).then(n.t.bind(n,1467,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.luajit.json",1467],"4d72142f":[()=>n.e(2821).then(n.bind(n,5506)),"@site/newsletter/2023-11-13-this-week-in-loongarch-24.md?truncated=true",5506],"4d93a969":[()=>n.e(6465).then(n.bind(n,4195)),"@site/docs/old-and-new-worlds.md",4195],"50076e77":[()=>n.e(1823).then(n.bind(n,9003)),"@site/newsletter/2023-10-30-this-week-in-loongarch-22.md",9003],"50c9f306":[()=>n.e(992).then(n.bind(n,3168)),"@site/newsletter/2023-09-25-this-week-in-loongarch-17.md?truncated=true",3168],"5107e9e5":[()=>n.e(2396).then(n.t.bind(n,1390,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.sunhaiyong1978.json",1390],"52fdc1c1":[()=>n.e(6625).then(n.t.bind(n,5305,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.dlang.json",5305],"565f64fd":[()=>n.e(810).then(n.bind(n,3273)),"@site/newsletter/2023-10-16-this-week-in-loongarch-20.md",3273],57699003:[()=>n.e(8483).then(n.t.bind(n,5745,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"5cc6810a":[()=>n.e(3493).then(n.t.bind(n,7516,19)),"~blog/blog-newsletter/newsletter-8a9.json",7516],"5daa9bec":[()=>n.e(744).then(n.bind(n,5958)),"@site/newsletter/2023-08-22-these-weeks-in-loongarch-12.md",5958],"5e1e6895":[()=>n.e(827).then(n.bind(n,2233)),"@site/newsletter/2024-01-01-this-week-in-loongarch-31.md",2233],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"60c936d9":[()=>n.e(7717).then(n.bind(n,4931)),"@site/blog/2023-10-27-we-are-now-served-from-cn-mainland.md?truncated=true",4931],"614884f9":[()=>n.e(4582).then(n.t.bind(n,2649,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-4-f5b.json",2649],"6238acf3":[()=>n.e(8347).then(n.bind(n,6509)),"@site/newsletter/2023-07-10-this-week-in-loongarch-8.md",6509],"6245aafd":[()=>n.e(1991).then(n.t.bind(n,9016,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-4-f5b-list.json",9016],"62c287a3":[()=>n.e(8226).then(n.t.bind(n,5245,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e24\u9f99-cc4.json",5245],"63024a3c":[()=>n.e(6260).then(n.bind(n,1362)),"@site/newsletter/2023-11-27-this-week-in-loongarch-26.md?truncated=true",1362],"652fe9bf":[()=>n.e(7248).then(n.t.bind(n,2709,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.proxmox-ve.json",2709],"669f9270":[()=>n.e(1164).then(n.bind(n,5579)),"@site/newsletter/2024-01-08-this-week-in-loongarch-32.md",5579],"67c307ab":[()=>n.e(1339).then(n.bind(n,5725)),"@site/newsletter/2023-07-17-this-week-in-loongarch-9.md",5725],"67e4ea0e":[()=>n.e(8526).then(n.t.bind(n,2319,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.mono.json",2319],"6834beab":[()=>n.e(1235).then(n.bind(n,966)),"@site/newsletter/2023-12-18-this-week-in-loongarch-29/index.md",966],"6875c492":[()=>Promise.all([n.e(532),n.e(8658),n.e(130),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6a1040a2":[()=>n.e(2327).then(n.t.bind(n,4717,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.slackware.json",4717],"6bbe02e6":[()=>n.e(7831).then(n.t.bind(n,6360,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.phorcys.json",6360],"6d3617bd":[()=>n.e(6693).then(n.t.bind(n,1641,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.gnumach.json",1641],"6ead9d48":[()=>n.e(7633).then(n.t.bind(n,7977,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.openjdk.json",7977],"6f2543d8":[()=>n.e(9431).then(n.t.bind(n,9010,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.linux.json",9010],"6f54cb52":[()=>n.e(2947).then(n.bind(n,7470)),"@site/newsletter/2024-01-08-this-week-in-loongarch-32.md?truncated=true",7470],"7204b618":[()=>n.e(7649).then(n.t.bind(n,6899,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/plugin-route-context-module-100.json",6899],"737e02af":[()=>n.e(2778).then(n.bind(n,5777)),"@site/newsletter/2023-12-05-this-week-in-loongarch-27/index.md",5777],"73e92b65":[()=>n.e(4996).then(n.bind(n,2304)),"@site/newsletter/2023-08-28-this-week-in-loongarch-13.mdx?truncated=true",2304],"7534df17":[()=>n.e(1289).then(n.t.bind(n,2776,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",2776],"75a31217":[()=>n.e(1230).then(n.t.bind(n,1600,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.loongson.json",1600],78258551:[()=>n.e(6971).then(n.t.bind(n,3681,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.jsc.json",3681],79752811:[()=>n.e(461).then(n.bind(n,1254)),"@site/blog/2023-04-01-site-faqs.md",1254],"79f6973a":[()=>n.e(2748).then(n.bind(n,2595)),"@site/newsletter/2023-06-27-these-weeks-in-loongarch-6.md?truncated=true",2595],"7a1c1b88":[()=>n.e(3201).then(n.t.bind(n,1404,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.yetist.json",1404],"7a5c514b":[()=>n.e(4813).then(n.t.bind(n,3870,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.altlinux.json",3870],"7bcd0da8":[()=>n.e(1064).then(n.t.bind(n,4899,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.shipujin.json",4899],"7cb6ebaf":[()=>n.e(5080).then(n.t.bind(n,8032,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.fedora.json",8032],"7ce49f2f":[()=>n.e(5446).then(n.t.bind(n,5965,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.ghc.json",5965],"7ce6a5f2":[()=>n.e(5825).then(n.t.bind(n,548,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/docusaurus-plugin-content-blog/blog-newsletter/plugin-route-context-module-100.json",548],"7e22d4ac":[()=>Promise.all([n.e(532),n.e(7113)]).then(n.bind(n,5296)),"@site/src/components/ProjectPage",5296],"7e314c8c":[()=>n.e(3378).then(n.t.bind(n,5685,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-2-d7d.json",5685],"7ed39522":[()=>n.e(5384).then(n.bind(n,3022)),"@site/blog/2023-04-01-site-faqs.md?truncated=true",3022],"8094c5b7":[()=>n.e(7083).then(n.t.bind(n,730,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.xbyak.json",730],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"819278cf":[()=>n.e(4192).then(n.bind(n,5117)),"@site/docs/errata.md",5117],"86b3f3af":[()=>n.e(6802).then(n.bind(n,404)),"@site/newsletter/2023-06-05-this-week-in-loongarch-4.md?truncated=true",404],"8753cc1e":[()=>n.e(5386).then(n.t.bind(n,370,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.reactos.json",370],"8874af96":[()=>n.e(5707).then(n.bind(n,7842)),"@site/docs/linux-upstream-support.md",7842],"8b28af3f":[()=>n.e(1432).then(n.bind(n,8650)),"@site/newsletter/2023-05-15-this-week-in-loongarch-1.md?truncated=true",8650],"8c2ec1bf":[()=>n.e(2779).then(n.t.bind(n,6149,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.rt-thread.json",6149],"8e1ccd2b":[()=>n.e(5334).then(n.bind(n,9103)),"@site/newsletter/2023-12-18-this-week-in-loongarch-29/index.md?truncated=true",9103],"90d054f3":[()=>n.e(6052).then(n.bind(n,7323)),"@site/newsletter/2023-07-31-this-week-in-loongarch-11.md?truncated=true",7323],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"96160c51":[()=>n.e(4737).then(n.bind(n,9971)),"@site/newsletter/2023-10-30-this-week-in-loongarch-22.md?truncated=true",9971],"96292a75":[()=>n.e(268).then(n.bind(n,2238)),"@site/newsletter/2023-06-12-this-week-in-loongarch-5.md?truncated=true",2238],"96dad1e5":[()=>n.e(57).then(n.bind(n,8329)),"@site/docs/baseline-reference.md",8329],"97d1ca1e":[()=>n.e(8905).then(n.bind(n,7510)),"@site/newsletter/2023-12-11-this-week-in-loongarch-28/index.md?truncated=true",7510],"9835eafc":[()=>n.e(3611).then(n.t.bind(n,2973,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.lfs.json",2973],"9a12ed9d":[()=>n.e(7628).then(n.bind(n,1903)),"@site/newsletter/2023-06-12-this-week-in-loongarch-5.md",1903],"9ddceebf":[()=>n.e(8973).then(n.t.bind(n,5428,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.sljit.json",5428],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a0b33c44:[()=>n.e(4126).then(n.bind(n,410)),"@site/newsletter/2023-07-24-this-week-in-loongarch-10.md",410],a19cf30a:[()=>n.e(9470).then(n.t.bind(n,4184,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.hackpascal.json",4184],a27407fd:[()=>n.e(2830).then(n.bind(n,283)),"@site/blog/2023-10-27-we-are-now-served-from-cn-mainland.md",283],a5be0c14:[()=>n.e(8617).then(n.t.bind(n,706,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.v8.json",706],a68796e0:[()=>n.e(2484).then(n.t.bind(n,4790,19)),"~blog/blog-newsletter/newsletter-archive-7cc.json",4790],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8658),n.e(130),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7023ddc:[()=>n.e(1713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],aa1af42e:[()=>n.e(4122).then(n.bind(n,3270)),"@site/blog/2023-04-01-welcome.md?truncated=true",3270],aa552299:[()=>n.e(2943).then(n.t.bind(n,5232,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.glibc.json",5232],ab52924b:[()=>n.e(5231).then(n.bind(n,3492)),"@site/docs/loong-or-loongarch.md",3492],ae05e4af:[()=>n.e(1212).then(n.t.bind(n,2923,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.dotnet.json",2923],aef3876e:[()=>n.e(8764).then(n.t.bind(n,1045,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.edk2.json",1045],b14b0e3c:[()=>Promise.all([n.e(532),n.e(7298),n.e(4041)]).then(n.bind(n,4887)),"@site/src/components/AsmDBPage",4887],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(1477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],b76a4235:[()=>n.e(1537).then(n.t.bind(n,4264,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.llvm.json",4264],b83c8be4:[()=>n.e(425).then(n.bind(n,9322)),"@site/newsletter/2023-07-03-this-week-in-loongarch-7.md?truncated=true",9322],b915be59:[()=>n.e(2405).then(n.bind(n,9872)),"@site/newsletter/2023-08-22-these-weeks-in-loongarch-12.md?truncated=true",9872],bc92d87a:[()=>n.e(7769).then(n.bind(n,8174)),"@site/newsletter/2023-07-31-this-week-in-loongarch-11.md",8174],bcec4cd1:[()=>n.e(6141).then(n.bind(n,6877)),"@site/src/components/AuthorPage",6877],bdca3c3b:[()=>n.e(5696).then(n.bind(n,3068)),"@site/newsletter/2023-09-25-this-week-in-loongarch-17.md",3068],c0dc6f3a:[()=>n.e(264).then(n.t.bind(n,6577,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.gcc.json",6577],c4812dad:[()=>n.e(4020).then(n.bind(n,3242)),"@site/newsletter/2023-05-22-this-week-in-loongarch-2.md",3242],c4f7a13b:[()=>n.e(8494).then(n.bind(n,5995)),"@site/newsletter/2023-12-05-this-week-in-loongarch-27/index.md?truncated=true",5995],c534a59e:[()=>n.e(1187).then(n.bind(n,4394)),"@site/newsletter/2023-11-06-this-week-in-loongarch-23.mdx?truncated=true",4394],c60e70f2:[()=>n.e(5792).then(n.t.bind(n,2626,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.loongarchlinux.json",2626],c8529322:[()=>n.e(9463).then(n.bind(n,4976)),"@site/newsletter/2023-12-26-this-week-in-loongarch-30/index.md",4976],c8ebe0fa:[()=>n.e(2876).then(n.t.bind(n,2343,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.lrzlin.json",2343],cc17e890:[()=>n.e(616).then(n.bind(n,6344)),"@site/newsletter/2023-11-13-this-week-in-loongarch-24.md",6344],cc9d7752:[()=>n.e(7659).then(n.bind(n,2749)),"@site/newsletter/2023-06-05-this-week-in-loongarch-4.md",2749],ccbf2c71:[()=>n.e(8830).then(n.t.bind(n,1089,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e24\u9f99-cc4-list.json",1089],ccc49370:[()=>Promise.all([n.e(532),n.e(8658),n.e(130),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],ce949e72:[()=>n.e(2645).then(n.bind(n,2938)),"@site/newsletter/2023-09-04-this-week-in-loongarch-14.md?truncated=true",2938],d08560e6:[()=>n.e(2952).then(n.bind(n,9250)),"@site/newsletter/2023-07-17-this-week-in-loongarch-9.md?truncated=true",9250],d34540e4:[()=>n.e(1904).then(n.bind(n,4159)),"@site/newsletter/2023-11-27-this-week-in-loongarch-26.md",4159],d47b3c56:[()=>n.e(7884).then(n.bind(n,8542)),"@site/docs/contrib/basics.md",8542],d88fadc1:[()=>n.e(7745).then(n.t.bind(n,9297,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.rust.json",9297],d8bb8b3a:[()=>n.e(7756).then(n.t.bind(n,3553,19)),"~blog/blog-newsletter/newsletter-page-3-4e8.json",3553],d96af6e9:[()=>n.e(2762).then(n.bind(n,1064)),"@site/newsletter/2023-12-11-this-week-in-loongarch-28/index.md",1064],db18c0bd:[()=>n.e(9939).then(n.t.bind(n,4469,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],dcc6d3c9:[()=>n.e(3904).then(n.bind(n,1682)),"@site/newsletter/2023-10-02-this-week-in-loongarch-18.md",1682],de47541c:[()=>n.e(2331).then(n.t.bind(n,3769,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],de9ac99d:[()=>Promise.all([n.e(532),n.e(4638)]).then(n.bind(n,8686)),"@site/newsletter/2023-11-06-this-week-in-loongarch-23.mdx",8686],e0cbf919:[()=>n.e(4207).then(n.t.bind(n,9050,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.debian.json",9050],e115f40f:[()=>n.e(8115).then(n.t.bind(n,725,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.yushanwei.json",725],e1be883e:[()=>n.e(4511).then(n.t.bind(n,1068,19)),"~blog/blog-newsletter/newsletter-tags-\u6bcf\u5468\u4e00\u9f99-page-3-fa7-list.json",1068],e3ac5f86:[()=>n.e(2502).then(n.bind(n,7483)),"@site/newsletter/2023-05-29-this-week-in-loongarch-3.md",7483],e3c19559:[()=>n.e(8434).then(n.t.bind(n,5759,19)),"~blog/default/blog-tags-\u4e3b\u521b\u56e2\u961f\u7684\u8bdd-1c7.json",5759],e4dfda38:[()=>n.e(983).then(n.bind(n,6244)),"@site/newsletter/2023-10-09-this-week-in-loongarch-19.md",6244],e6cd5d71:[()=>n.e(9287).then(n.t.bind(n,6638,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.go.json",6638],ea4db4fc:[()=>n.e(7976).then(n.t.bind(n,2433,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.openbsd.json",2433],ec201c3d:[()=>n.e(4518).then(n.bind(n,1196)),"@site/blog/2023-04-01-welcome.md",1196],ed641ac4:[()=>n.e(7602).then(n.t.bind(n,8706,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/porter.liushuyu.json",8706],f05c6541:[()=>n.e(9171).then(n.t.bind(n,2778,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.openwrt.json",2778],f1eaca13:[()=>n.e(6300).then(n.bind(n,2683)),"@site/docs/contrib/natlang-style-guide.md",2683],f4c87d9e:[()=>n.e(4461).then(n.bind(n,820)),"@site/newsletter/2023-10-23-this-week-in-loongarch-21.md?truncated=true",820],f9cd99bf:[()=>n.e(2276).then(n.t.bind(n,3286,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.aosc.json",3286],fa4933cf:[()=>n.e(3405).then(n.bind(n,7599)),"@site/newsletter/2023-10-09-this-week-in-loongarch-19.md?truncated=true",7599],fb7ddd44:[()=>n.e(6091).then(n.t.bind(n,5250,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-data-plugin/default/project.musl.json",5250],fcd7a3d0:[()=>n.e(4253).then(n.bind(n,8349)),"@site/newsletter/2023-10-16-this-week-in-loongarch-20.md?truncated=true",8349],fde0a181:[()=>n.e(5358).then(n.t.bind(n,2415,19)),"/home/runner/work/areweloongyet/areweloongyet/.docusaurus/awly-asmdb-plugin/default/asmdb.json",2415]};var s=n(5893);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],h=(0,c.Z)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(a,{...o,...n})})}})}const p=[{path:"/asmdb",component:d("/asmdb","28b"),exact:!0},{path:"/blog",component:d("/blog","e08"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","ff1"),exact:!0},{path:"/blog/site-faqs",component:d("/blog/site-faqs","a3a"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","542"),exact:!0},{path:"/blog/tags/\u4e3b\u521b\u56e2\u961f\u7684\u8bdd",component:d("/blog/tags/\u4e3b\u521b\u56e2\u961f\u7684\u8bdd","df0"),exact:!0},{path:"/blog/we-are-now-served-from-cn-mainland",component:d("/blog/we-are-now-served-from-cn-mainland","144"),exact:!0},{path:"/blog/welcome",component:d("/blog/welcome","ac8"),exact:!0},{path:"/newsletter",component:d("/newsletter","71a"),exact:!0},{path:"/newsletter/archive",component:d("/newsletter/archive","9df"),exact:!0},{path:"/newsletter/page/2",component:d("/newsletter/page/2","2a8"),exact:!0},{path:"/newsletter/page/3",component:d("/newsletter/page/3","f33"),exact:!0},{path:"/newsletter/page/4",component:d("/newsletter/page/4","27b"),exact:!0},{path:"/newsletter/tags",component:d("/newsletter/tags","b84"),exact:!0},{path:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99",component:d("/newsletter/tags/\u6bcf\u5468\u4e00\u9f99","ba0"),exact:!0},{path:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/2",component:d("/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/2","ba3"),exact:!0},{path:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/3",component:d("/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/3","493"),exact:!0},{path:"/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/4",component:d("/newsletter/tags/\u6bcf\u5468\u4e00\u9f99/page/4","003"),exact:!0},{path:"/newsletter/tags/\u6bcf\u5468\u4e24\u9f99",component:d("/newsletter/tags/\u6bcf\u5468\u4e24\u9f99","bd7"),exact:!0},{path:"/newsletter/these-weeks-in-loongarch-12",component:d("/newsletter/these-weeks-in-loongarch-12","21b"),exact:!0},{path:"/newsletter/these-weeks-in-loongarch-33",component:d("/newsletter/these-weeks-in-loongarch-33","d0e"),exact:!0},{path:"/newsletter/these-weeks-in-loongarch-6",component:d("/newsletter/these-weeks-in-loongarch-6","1cd"),exact:!0},{path:"/newsletter/this-week-in-loongarch-1",component:d("/newsletter/this-week-in-loongarch-1","253"),exact:!0},{path:"/newsletter/this-week-in-loongarch-10",component:d("/newsletter/this-week-in-loongarch-10","252"),exact:!0},{path:"/newsletter/this-week-in-loongarch-11",component:d("/newsletter/this-week-in-loongarch-11","8ab"),exact:!0},{path:"/newsletter/this-week-in-loongarch-13",component:d("/newsletter/this-week-in-loongarch-13","97c"),exact:!0},{path:"/newsletter/this-week-in-loongarch-14",component:d("/newsletter/this-week-in-loongarch-14","a59"),exact:!0},{path:"/newsletter/this-week-in-loongarch-15",component:d("/newsletter/this-week-in-loongarch-15","a2f"),exact:!0},{path:"/newsletter/this-week-in-loongarch-16",component:d("/newsletter/this-week-in-loongarch-16","e73"),exact:!0},{path:"/newsletter/this-week-in-loongarch-17",component:d("/newsletter/this-week-in-loongarch-17","ad4"),exact:!0},{path:"/newsletter/this-week-in-loongarch-18",component:d("/newsletter/this-week-in-loongarch-18","626"),exact:!0},{path:"/newsletter/this-week-in-loongarch-19",component:d("/newsletter/this-week-in-loongarch-19","06c"),exact:!0},{path:"/newsletter/this-week-in-loongarch-2",component:d("/newsletter/this-week-in-loongarch-2","4e3"),exact:!0},{path:"/newsletter/this-week-in-loongarch-20",component:d("/newsletter/this-week-in-loongarch-20","835"),exact:!0},{path:"/newsletter/this-week-in-loongarch-21",component:d("/newsletter/this-week-in-loongarch-21","0aa"),exact:!0},{path:"/newsletter/this-week-in-loongarch-22",component:d("/newsletter/this-week-in-loongarch-22","f8c"),exact:!0},{path:"/newsletter/this-week-in-loongarch-23",component:d("/newsletter/this-week-in-loongarch-23","63a"),exact:!0},{path:"/newsletter/this-week-in-loongarch-24",component:d("/newsletter/this-week-in-loongarch-24","89f"),exact:!0},{path:"/newsletter/this-week-in-loongarch-25",component:d("/newsletter/this-week-in-loongarch-25","fad"),exact:!0},{path:"/newsletter/this-week-in-loongarch-26",component:d("/newsletter/this-week-in-loongarch-26","dee"),exact:!0},{path:"/newsletter/this-week-in-loongarch-27",component:d("/newsletter/this-week-in-loongarch-27","b3e"),exact:!0},{path:"/newsletter/this-week-in-loongarch-28",component:d("/newsletter/this-week-in-loongarch-28","fb6"),exact:!0},{path:"/newsletter/this-week-in-loongarch-29",component:d("/newsletter/this-week-in-loongarch-29","5cf"),exact:!0},{path:"/newsletter/this-week-in-loongarch-3",component:d("/newsletter/this-week-in-loongarch-3","b67"),exact:!0},{path:"/newsletter/this-week-in-loongarch-30",component:d("/newsletter/this-week-in-loongarch-30","65c"),exact:!0},{path:"/newsletter/this-week-in-loongarch-31",component:d("/newsletter/this-week-in-loongarch-31","c75"),exact:!0},{path:"/newsletter/this-week-in-loongarch-32",component:d("/newsletter/this-week-in-loongarch-32","1b7"),exact:!0},{path:"/newsletter/this-week-in-loongarch-4",component:d("/newsletter/this-week-in-loongarch-4","58b"),exact:!0},{path:"/newsletter/this-week-in-loongarch-5",component:d("/newsletter/this-week-in-loongarch-5","8f5"),exact:!0},{path:"/newsletter/this-week-in-loongarch-7",component:d("/newsletter/this-week-in-loongarch-7","14a"),exact:!0},{path:"/newsletter/this-week-in-loongarch-8",component:d("/newsletter/this-week-in-loongarch-8","e68"),exact:!0},{path:"/newsletter/this-week-in-loongarch-9",component:d("/newsletter/this-week-in-loongarch-9","0f6"),exact:!0},{path:"/porter/hackpascal",component:d("/porter/hackpascal","91f"),exact:!0},{path:"/porter/jiangcuo",component:d("/porter/jiangcuo","25e"),exact:!0},{path:"/porter/liushuyu",component:d("/porter/liushuyu","802"),exact:!0},{path:"/porter/loongson",component:d("/porter/loongson","22b"),exact:!0},{path:"/porter/lrzlin",component:d("/porter/lrzlin","92c"),exact:!0},{path:"/porter/phorcys",component:d("/porter/phorcys","304"),exact:!0},{path:"/porter/shipujin",component:d("/porter/shipujin","445"),exact:!0},{path:"/porter/sunhaiyong1978",component:d("/porter/sunhaiyong1978","914"),exact:!0},{path:"/porter/xen0n",component:d("/porter/xen0n","689"),exact:!0},{path:"/porter/xry111",component:d("/porter/xry111","01b"),exact:!0},{path:"/porter/yetist",component:d("/porter/yetist","d97"),exact:!0},{path:"/porter/yushanwei",component:d("/porter/yushanwei","724"),exact:!0},{path:"/project/altlinux",component:d("/project/altlinux","5df"),exact:!0},{path:"/project/aosc",component:d("/project/aosc","1c1"),exact:!0},{path:"/project/binutils",component:d("/project/binutils","ef6"),exact:!0},{path:"/project/clfs",component:d("/project/clfs","300"),exact:!0},{path:"/project/debian",component:d("/project/debian","2d0"),exact:!0},{path:"/project/dlang",component:d("/project/dlang","ce4"),exact:!0},{path:"/project/dotnet",component:d("/project/dotnet","3f6"),exact:!0},{path:"/project/edk2",component:d("/project/edk2","293"),exact:!0},{path:"/project/fedora",component:d("/project/fedora","cf1"),exact:!0},{path:"/project/freebsd",component:d("/project/freebsd","edb"),exact:!0},{path:"/project/gcc",component:d("/project/gcc","58d"),exact:!0},{path:"/project/gentoo",component:d("/project/gentoo","2e6"),exact:!0},{path:"/project/ghc",component:d("/project/ghc","953"),exact:!0},{path:"/project/glibc",component:d("/project/glibc","f1e"),exact:!0},{path:"/project/gnumach",component:d("/project/gnumach","3fd"),exact:!0},{path:"/project/go",component:d("/project/go","974"),exact:!0},{path:"/project/haiku",component:d("/project/haiku","0ae"),exact:!0},{path:"/project/jsc",component:d("/project/jsc","638"),exact:!0},{path:"/project/lfs",component:d("/project/lfs","dc2"),exact:!0},{path:"/project/linux",component:d("/project/linux","e85"),exact:!0},{path:"/project/llvm",component:d("/project/llvm","5aa"),exact:!0},{path:"/project/loongarchlinux",component:d("/project/loongarchlinux","485"),exact:!0},{path:"/project/luajit",component:d("/project/luajit","3f6"),exact:!0},{path:"/project/mono",component:d("/project/mono","cb3"),exact:!0},{path:"/project/musl",component:d("/project/musl","f0d"),exact:!0},{path:"/project/openbsd",component:d("/project/openbsd","250"),exact:!0},{path:"/project/openjdk",component:d("/project/openjdk","889"),exact:!0},{path:"/project/openwrt",component:d("/project/openwrt","cd4"),exact:!0},{path:"/project/proxmox-ve",component:d("/project/proxmox-ve","e44"),exact:!0},{path:"/project/qemu",component:d("/project/qemu","1ff"),exact:!0},{path:"/project/reactos",component:d("/project/reactos","22b"),exact:!0},{path:"/project/rt-thread",component:d("/project/rt-thread","846"),exact:!0},{path:"/project/rust",component:d("/project/rust","182"),exact:!0},{path:"/project/slackware",component:d("/project/slackware","4d6"),exact:!0},{path:"/project/sljit",component:d("/project/sljit","e8e"),exact:!0},{path:"/project/spidermonkey",component:d("/project/spidermonkey","003"),exact:!0},{path:"/project/v8",component:d("/project/v8","212"),exact:!0},{path:"/project/xbyak",component:d("/project/xbyak","fdf"),exact:!0},{path:"/project/yongbao",component:d("/project/yongbao","64e"),exact:!0},{path:"/search",component:d("/search","698"),exact:!0},{path:"/docs",component:d("/docs","2b3"),routes:[{path:"/docs",component:d("/docs","686"),routes:[{path:"/docs",component:d("/docs","1ad"),routes:[{path:"/docs/baseline-reference",component:d("/docs/baseline-reference","40b"),exact:!0,sidebar:"main"},{path:"/docs/collection-of-typical-configurations",component:d("/docs/collection-of-typical-configurations","88d"),exact:!0,sidebar:"main"},{path:"/docs/contrib/",component:d("/docs/contrib/","69e"),exact:!0,sidebar:"main"},{path:"/docs/contrib/basics",component:d("/docs/contrib/basics","b62"),exact:!0,sidebar:"main"},{path:"/docs/contrib/natlang-style-guide",component:d("/docs/contrib/natlang-style-guide","f74"),exact:!0,sidebar:"main"},{path:"/docs/errata",component:d("/docs/errata","fbd"),exact:!0,sidebar:"main"},{path:"/docs/intro",component:d("/docs/intro","985"),exact:!0,sidebar:"main"},{path:"/docs/linux-upstream-support",component:d("/docs/linux-upstream-support","c33"),exact:!0,sidebar:"main"},{path:"/docs/loong-or-loongarch",component:d("/docs/loong-or-loongarch","c38"),exact:!0,sidebar:"main"},{path:"/docs/old-and-new-worlds",component:d("/docs/old-and-new-worlds","8e9"),exact:!0,sidebar:"main"}]}]}]},{path:"/",component:d("/","f30"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),o=n(745),a=n(3727),i=n(405),s=n(412);const l=[n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5742),g=n(2263),m=n(4996),b=n(6668),y=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,v.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(h.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,u.TH)();return e+(0,x.applyTrailingSlash)((0,m.Z)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(h.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(y.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(h.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const j=new Map;function T(e){if(j.has(e.pathname))return{...e,pathname:j.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return j.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return j.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),A=n(8940),R=n(469);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,R.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const F=I,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${D}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(s.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(a.VK,{children:(0,p.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(ne)r.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{a.render(t)}))}};O(window.location.pathname).then(s)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),o=n(6809);const a=JSON.parse('{"awly-data-plugin":{"default":[{"name":"\u5de5\u5177\u94fe","projects":[{"code":"binutils","name":"binutils","homepageURL":"https://www.gnu.org/software/binutils/","repoURL":"https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git","portingEfforts":[{"authors":["loongson"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"2.38","goodSinceVersion":"2.40","quality":1}]},{"code":"gcc","name":"gcc","homepageURL":"https://gcc.gnu.org","repoURL":"https://gcc.gnu.org/git/?p=gcc.git","portingEfforts":[{"authors":["loongson","xry111"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"12.1","goodSinceVersion":"13.1","quality":1}]},{"code":"glibc","name":"glibc","homepageURL":"https://www.gnu.org/software/libc/","repoURL":"https://sourceware.org/git/gitweb.cgi?p=glibc.git","portingEfforts":[{"authors":["loongson","xry111"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"2.36","goodSinceVersion":"2.36","quality":1}]},{"code":"llvm","name":"LLVM","homepageURL":"https://llvm.org","repoURL":"https://github.com/llvm/llvm-project","portingEfforts":[{"authors":["loongson","xen0n"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"16.0.0","goodSinceVersion":"17.0.0","quality":1}]},{"code":"musl","name":"musl","homepageURL":"https://musl.libc.org/","repoURL":"https://git.musl-libc.org/cgit/musl","portingEfforts":[{"authors":["loongson"],"desc":"","link":"https://www.openwall.com/lists/musl/2022/11/15/1","supportStatus":6,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]}]},{"name":"\u7f16\u7a0b\u8bed\u8a00","projects":[{"code":"dlang","name":"D","homepageURL":"https://dlang.org/","repoURL":"https://github.com/dlang/dmd","portingEfforts":[{"authors":["loongson","liushuyu"],"desc":"GDC \u548c LDC \u8fd9\u4e24\u4e2a D \u8bed\u8a00\u7f16\u8bd1\u5668\u7684\u652f\u6301\u4e5f\u5728\u63a8\u8fdb","link":"https://github.com/dlang/dmd/pull/15628","supportStatus":7,"releasedSinceVersion":"2.106","goodSinceVersion":"","quality":1}]},{"code":"ghc","name":"Haskell (GHC)","homepageURL":"https://www.haskell.org/","repoURL":"https://gitlab.haskell.org/ghc/ghc","portingEfforts":[{"authors":["lrzlin"],"desc":"","link":"https://bbs.loongarch.org/d/150","supportStatus":8,"releasedSinceVersion":"9.6.1","goodSinceVersion":"9.6.1","quality":1}]},{"code":"go","name":"Go","homepageURL":"https://go.dev","repoURL":"https://github.com/golang/go","portingEfforts":[{"authors":["loongson","xen0n"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"1.19","goodSinceVersion":"1.21","quality":1}]},{"code":"rust","name":"Rust","homepageURL":"https://www.rust-lang.org","repoURL":"https://github.com/rust-lang/rust","portingEfforts":[{"authors":["loongson","xen0n"],"desc":"","link":"https://github.com/loongarch-rs","supportStatus":8,"releasedSinceVersion":"1.71.0","goodSinceVersion":"1.71.0","quality":1}]}]},{"name":"\u5185\u6838","projects":[{"code":"freebsd","name":"FreeBSD","homepageURL":"https://www.freebsd.org","repoURL":"https://cgit.freebsd.org","portingEfforts":[{"authors":["yushanwei"],"desc":"","link":"https://gitee.com/lauosc/freebsd","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":2}]},{"code":"gnumach","name":"GNU Mach","homepageURL":"https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html","repoURL":"https://git.savannah.gnu.org/git/hurd/gnumach.git","portingEfforts":[]},{"code":"haiku","name":"Haiku","homepageURL":"https://www.haiku-os.org/","repoURL":"https://github.com/haiku","portingEfforts":[]},{"code":"linux","name":"Linux","homepageURL":"https://kernel.org","repoURL":"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/","portingEfforts":[{"authors":["loongson","xen0n","xry111"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"5.19","goodSinceVersion":"6.2","quality":1}]},{"code":"openbsd","name":"OpenBSD","homepageURL":"https://www.openbsd.org","repoURL":"https://github.com/openbsd","portingEfforts":[]},{"code":"reactos","name":"ReactOS","homepageURL":"https://reactos.org","repoURL":"https://github.com/reactos/reactos","portingEfforts":[]},{"code":"rt-thread","name":"RT-Thread","homepageURL":"https://www.rt-thread.io","repoURL":"https://github.com/RT-Thread/rt-thread","portingEfforts":[{"authors":[],"desc":"","link":"","supportStatus":2,"releasedSinceVersion":"","goodSinceVersion":"","quality":0}]}]},{"name":"\u56fa\u4ef6 & \u6a21\u62df\u5668","projects":[{"code":"edk2","name":"EDK II","homepageURL":"https://github.com/tianocore/tianocore.github.io/wiki/EDK-II","repoURL":"https://github.com/tianocore/edk2","portingEfforts":[{"authors":["loongson"],"desc":"","link":"","supportStatus":8,"releasedSinceVersion":"202211","goodSinceVersion":"","quality":1}]},{"code":"qemu","name":"QEMU","homepageURL":"https://www.qemu.org/","repoURL":"https://gitlab.com/qemu-project/qemu/","portingEfforts":[{"authors":["xen0n"],"desc":"TCG LoongArch64 port","link":"","supportStatus":8,"releasedSinceVersion":"7.0.0","goodSinceVersion":"7.0.0","quality":1},{"authors":["loongson"],"desc":"LoongArch target","link":"","supportStatus":8,"releasedSinceVersion":"7.1.0","goodSinceVersion":"7.2.0","quality":1}]}]},{"name":"\u57fa\u7840\u5e93","projects":[]},{"name":"JIT \u8fd0\u884c\u65f6","projects":[{"code":"dotnet","name":".NET","homepageURL":"https://dot.net","repoURL":"https://github.com/dotnet","portingEfforts":[{"authors":["loongson"],"desc":"\u5148\u524d\u4e00\u76f4\u4ee5\u4e3a .NET 7.0 \u91cc\u589e\u52a0\u7684\u90a3\u4e2a\u652f\u6301\u80fd\u7528\uff0c\u7136\u800c\u5b9e\u9645\u6d4b\u8bd5\u53d1\u73b0\u662f\u65e7\u4e16\u754c ABI\uff0c\u65b0\u4e16\u754c\u4e0a\u65e0\u6cd5\u7f16\u8bd1\u3002\u4e3b\u7ebf\u4ee3\u7801\u76f4\u5230 2023-09-20 \u624d\u5728\u65b0\u4e16\u754c\u8fbe\u5230\u53ef\u7528\uff0c\u8fd9\u610f\u5473\u7740 .NET 8.0 \u4e5f\u5df2\u7ecf\u88ab\u9519\u8fc7\u3002\u5982\u679c\u8981\u7528\uff0c\u5219\u9700 backport \u6216\u7b49 .NET 9.0\u3002","link":"https://github.com/dotnet/runtime/issues/69705","supportStatus":7,"releasedSinceVersion":"7.0","goodSinceVersion":"9.0","quality":1}]},{"code":"jsc","name":"JavaScriptCore","homepageURL":"https://webkit.org/","repoURL":"https://github.com/WebKit/WebKit","portingEfforts":[{"authors":["loongson"],"desc":"WebKit \u7684 Javascript \u5f15\u64ce\uff0c\u76ee\u524d\u5728 LoongArch \u4e0a\u80fd\u7528\uff0c\u4f46\u6ca1\u6709 JIT \u652f\u6301","link":"https://github.com/WebKit/WebKit/pull/3908","supportStatus":5,"releasedSinceVersion":"WebKit-7615.1.6, webkitgtk-2.39.1","goodSinceVersion":"?","quality":1}]},{"code":"luajit","name":"LuaJIT","homepageURL":"https://luajit.org","repoURL":"https://github.com/LuaJIT/LuaJIT","portingEfforts":[{"authors":["loongson"],"desc":"\u5728\u6ee1\u8db3\u8be5\u9879\u76ee\u7684\u4ee3\u7801\u8d28\u91cf\u4e0e\u67b6\u6784\u6210\u719f\u5ea6\u8981\u6c42\u524d\uff0c\u9884\u671f port \u4e0d\u4f1a\u88ab\u63a5\u53d7","link":"https://github.com/LuaJIT/LuaJIT/pull/875","supportStatus":1,"releasedSinceVersion":"","goodSinceVersion":"","quality":2}]},{"code":"mono","name":"Mono","homepageURL":"https://www.mono-project.com/","repoURL":"https://github.com/mono/mono","portingEfforts":[{"authors":["loongson"],"desc":"\u9f99\u82af\u4f3c\u4e4e\u5bf9 .NET \u7684\u652f\u6301\u66f4\u611f\u5174\u8da3\uff0cMono \u7684\u79fb\u690d\u76ee\u524d\u505c\u6ede","link":"https://github.com/shushanhf/mono/tree/main_loongarch64_1","supportStatus":3,"releasedSinceVersion":"","goodSinceVersion":"","quality":2}]},{"code":"openjdk","name":"OpenJDK","homepageURL":"https://openjdk.org/projects/jdk/","repoURL":"https://github.com/openjdk/jdk","portingEfforts":[{"authors":["loongson"],"desc":"","link":"","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":0}]},{"code":"sljit","name":"sljit","homepageURL":"https://zherczeg.github.io/sljit/","repoURL":"https://github.com/zherczeg/sljit","portingEfforts":[{"authors":["Xiao-Tao","carenas"],"desc":"\u63d0\u4f9b\u5e73\u53f0\u65e0\u5173\u63a5\u53e3\u7684\u4f4e\u7ea7 JIT \u7f16\u8bd1\u5668\uff0c\u7528\u4e8e\u52a0\u901f PCRE2","link":"https://github.com/zherczeg/sljit/pull/170","supportStatus":8,"releasedSinceVersion":"?","goodSinceVersion":"?","quality":1}]},{"code":"spidermonkey","name":"SpiderMonkey","homepageURL":"https://spidermonkey.dev/","repoURL":"https://hg.mozilla.org/mozilla-central/","portingEfforts":[{"authors":["loongson"],"desc":"Mozilla \u7684 Javascript \u548c WASM \u5f15\u64ce","link":"https://bugzilla.mozilla.org/show_bug.cgi?id=1757272","supportStatus":8,"releasedSinceVersion":"99","goodSinceVersion":"107","quality":1}]},{"code":"v8","name":"V8","homepageURL":"https://v8.dev/","repoURL":"https://chromium.googlesource.com/v8/v8.git","portingEfforts":[{"authors":["loongson"],"desc":"Google \u7684\u9ad8\u6027\u80fd Javascript \u548c WASM \u5f15\u64ce\uff0c\u7528\u4e8e Chrome \u548c Node.js","link":"https://bugs.chromium.org/p/v8/issues/detail?id=12008","supportStatus":8,"releasedSinceVersion":"9.5.3","goodSinceVersion":"9.5.3","quality":1}]},{"code":"xbyak","name":"Xbyak LoongArch64","homepageURL":"https://github.com/gititgo/xbyak_loongarch64","repoURL":"https://github.com/gititgo/xbyak_loongarch64","portingEfforts":[{"authors":["loongson"],"desc":"\u4e25\u683c\u610f\u4e49\u4e0a Xbyak \u4e0a\u6e38\u4ec5\u652f\u6301 x86\uff0c\u5176\u4ed6\u67b6\u6784\u79fb\u690d\u90fd\u4e3a\u72ec\u7acb\u9879\u76ee\uff1a\u6b64\u79fb\u690d\u672c\u8eab\u5373\u4e3a\u4e0a\u6e38\u3002","link":"","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]}]},{"name":"\u53d1\u884c\u7248","projects":[{"code":"altlinux","name":"ALT Linux","homepageURL":"https://en.altlinux.org/Main_Page","repoURL":"https://git.altlinux.org","portingEfforts":[{"authors":[],"desc":"","link":"https://en.altlinux.org/Ports/loongarch64","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"aosc","name":"AOSC OS","homepageURL":"https://aosc.io","repoURL":"https://github.com/AOSC-Dev","portingEfforts":[{"authors":[],"desc":"","link":"","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"clfs","name":"CLFS for LoongArch","homepageURL":"https://github.com/sunhaiyong1978/CLFS-for-LoongArch","repoURL":"https://github.com/sunhaiyong1978/CLFS-for-LoongArch","portingEfforts":[{"authors":["sunhaiyong1978"],"desc":"\u4ec5\u4ec5\u501f\u7528\u4e86 CLFS \u7684\u8bf4\u6cd5\uff0c\u4e0e clfs.org \u7ef4\u62a4\u7684 CLFS \u624b\u518c\u6ca1\u6709\u5173\u7cfb\u3002","link":"https://github.com/sunhaiyong1978/CLFS-for-LoongArch","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":0}]},{"code":"debian","name":"Debian","homepageURL":"https://www.debian.org","repoURL":"https://salsa.debian.org","portingEfforts":[{"authors":["loongson"],"desc":"","link":"https://wiki.debian.org/Ports/loong64","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":2}]},{"code":"fedora","name":"Fedora","homepageURL":"https://getfedora.org","repoURL":"","portingEfforts":[{"authors":["sunhaiyong1978"],"desc":"","link":"https://github.com/fedora-remix-loongarch/releases-info","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":0}]},{"code":"gentoo","name":"Gentoo","homepageURL":"https://gentoo.org","repoURL":"https://github.com/gentoo/gentoo","portingEfforts":[{"authors":["xen0n"],"desc":"","link":"https://wiki.gentoo.org/wiki/Project:LoongArch","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"lfs","name":"LFS LoongArch Edition","homepageURL":"https://www.linuxfromscratch.org/~xry111/lfs/","repoURL":"https://git.linuxfromscratch.org/lfs.git","portingEfforts":[{"authors":["xry111"],"desc":"Linux From Scratch \u4e3b\u5206\u652f\u8fd1\u671f\u65e0\u652f\u6301\u975e x86 \u67b6\u6784\u7684\u8ba1\u5212\uff0c\u5176\u4ed6\u67b6\u6784\u652f\u6301\u5747\u4e3a\u72ec\u7acb\u9879\u76ee\uff1axry111/loongarch \u5206\u652f\u672c\u8eab\u5373\u4e3a\u4e0a\u6e38","link":"https://wiki.linuxfromscratch.org/lfs/log/?rev=xry111/loongarch","supportStatus":8,"releasedSinceVersion":"12.0","goodSinceVersion":"12.0","quality":0}]},{"code":"loongarchlinux","name":"Loong Arch Linux","homepageURL":"https://loongarchlinux.org","repoURL":"https://github.com/loongarchlinux","portingEfforts":[{"authors":["yetist"],"desc":"","link":"https://bbs.loongarch.org/d/126","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"openwrt","name":"OpenWrt","homepageURL":"https://openwrt.org","repoURL":"https://github.com/openwrt","portingEfforts":[{"authors":["hackpascal"],"desc":"","link":"https://github.com/openwrt/openwrt/pull/14357","supportStatus":6,"releasedSinceVersion":"","goodSinceVersion":"","quality":1},{"authors":["phorcys"],"desc":"\u53ef\u7528\uff0c\u4f46\u4f3c\u4e4e\u65e0\u610f\u63a8\u5165\u4e0a\u6e38","link":"https://github.com/phorcys/openwrt-loongarch","supportStatus":5,"releasedSinceVersion":"","goodSinceVersion":"","quality":0}]},{"code":"proxmox-ve","name":"Proxmox VE","homepageURL":"https://proxmox.com","repoURL":"https://git.proxmox.com","portingEfforts":[{"authors":["jiangcuo"],"desc":"Proxmox VE \u4e0a\u6e38\u4f3c\u4e4e\u4ec5\u652f\u6301 x86 \u67b6\u6784\uff0c\u56e0\u6b64\u5728\u8be5\u4e0a\u6e38\u63a5\u53d7\u65b0\u67b6\u6784\u4e4b\u524d\uff0c\u6b64 fork \u5373\u4e3a LoongArch \u7b49\u5176\u4ed6\u67b6\u6784\u7684\u4e0a\u6e38\u3002","link":"https://github.com/jiangcuo/Proxmox-Port","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"slackware","name":"Slackware","homepageURL":"","repoURL":"https://github.com/slackwarecn/slackware-loongarch64","portingEfforts":[{"authors":["shipujin"],"desc":"","link":"https://bbs.loongarch.org/d/95","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]},{"code":"yongbao","name":"\u52c7\u8c79 (Yongbao)","homepageURL":"https://github.com/sunhaiyong1978/Yongbao","repoURL":"https://github.com/sunhaiyong1978/Yongbao","portingEfforts":[{"authors":["sunhaiyong1978"],"desc":"CLFS for LoongArch \u4f5c\u8005\u51fa\u54c1\u7684\u4e0d\u53ef\u53d8\u53d1\u884c\u7248","link":"https://github.com/sunhaiyong1978/Yongbao","supportStatus":8,"releasedSinceVersion":"","goodSinceVersion":"","quality":1}]}]}]},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"baseline-reference","path":"/docs/baseline-reference","sidebar":"main"},{"id":"collection-of-typical-configurations","path":"/docs/collection-of-typical-configurations","sidebar":"main"},{"id":"contrib/basics","path":"/docs/contrib/basics","sidebar":"main"},{"id":"contrib/index","path":"/docs/contrib/","sidebar":"main"},{"id":"contrib/natlang-style-guide","path":"/docs/contrib/natlang-style-guide","sidebar":"main"},{"id":"errata","path":"/docs/errata","sidebar":"main"},{"id":"intro","path":"/docs/intro","sidebar":"main"},{"id":"linux-upstream-support","path":"/docs/linux-upstream-support","sidebar":"main"},{"id":"loong-or-loongarch","path":"/docs/loong-or-loongarch","sidebar":"main"},{"id":"old-and-new-worlds","path":"/docs/old-and-new-worlds","sidebar":"main"}],"draftIds":[],"sidebars":{"main":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans"],"path":"i18n","currentLocale":"zh-Hans","localeConfigs":{"zh-Hans":{"label":"\u7b80\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-Hans","calendar":"gregory","path":"zh-Hans"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"},"awly-asmdb-plugin":{"type":"local"},"awly-data-plugin":{"type":"local"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.1.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.38.1"}}}');var c=n(5893);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(412),a=n(5742),i=n(8780),s=n(287),l=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)(f,{fallback:()=>(0,l.jsx)(c,{error:t,tryAgain:n}),children:[(0,l.jsx)(a.Z,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.Z,{children:(0,l.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,l.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(405),o=n(5893);function a(e){return(0,o.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),o=n(3727),a=n(8780),i=n(2263),s=n(3919),l=n(412),c=n(8138),u=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:h,isActive:g,"data-noBrokenLinkCheck":m,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,u.C)(),x=(0,c.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const _=p||f;const E=(0,s.Z)(_),C=_?.replace("pathname://","");let j=void 0!==C?(T=C,b&&(e=>e.startsWith("/"))(T)?k(T):T):void 0;var T;j&&E&&(j=(0,a.applyTrailingSlash)(j,{trailingSlash:v,baseUrl:w}));const L=(0,r.useRef)(!1),A=n?o.OL:o.rU,R=l.Z.canUseIntersectionObserver,P=(0,r.useRef)(),N=()=>{L.current||null==j||(window.docusaurus.preload(j),L.current=!0)};(0,r.useEffect)((()=>(!R&&E&&null!=j&&window.docusaurus.prefetch(j),()=>{R&&P.current&&P.current.disconnect()})),[P,j,R,E]);const O=j?.startsWith("#")??!1,I=!j||!E||O;return I||m||x.collectLink(j),I?(0,d.jsx)("a",{ref:S,href:j,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(A,{...y,onMouseEnter:N,onTouchStart:N,innerRef:e=>{S.current=e,R&&e&&E&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),P.current.observe(e))},to:j,...n&&{isActive:g,activeClassName:h}})}const f=r.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var r=n(7294),o=n(5893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),o=n(2263),a=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8940);function a(){return(0,r.useContext)(o._)}},8084:(e,t,n)=>{"use strict";n.d(t,{OD:()=>a,eZ:()=>i});var r=n(2263),o=n(9935);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294),o=n(8934);function a(){return(0,r.useContext)(o._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const o=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(7294),o=n(5893);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},4104:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>f,gA:()=>u,_r:()=>l,Jo:()=>h,zh:()=>c,yW:()=>p,gB:()=>d});var r=n(6550),o=n(8084);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},l=()=>(0,o.OD)("docusaurus-plugin-content-docs")??s,c=e=>(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function u(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function d(e){return c(e).versions}function p(e){const t=c(e);return a(t)}function f(e){const t=c(e),{pathname:n}=(0,r.TH)();return i(t,n)}function h(e){const t=c(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(4965),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(3929)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(6905),o=n(5999),a=n(6668),i=n(3692),s=n(8138);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(5893);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.Z)(),{navbar:{hideOnScroll:p}}=(0,a.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(5893);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},287:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Dt});var r=n(7294),o=n(6905),a=n(4763),i=n(1944),s=n(6550),l=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const h=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??h,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(5281),b=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(g,{className:y.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:j.announcementBarPlaceholder}),(0,u.jsx)(C,{className:j.announcementBarContent}),a&&(0,u.jsx)(_,{onClick:n,className:j.announcementBarClose})]})}var L=n(2961),A=n(2466);var R=n(902),P=n(3102);const N=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,P.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,R.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(N);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,P.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:I(a)})),[o,a,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=F();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.Z)($.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.Z)($.toggleIcon,$.lightToggleIcon)}),(0,u.jsx)(U,{className:(0,o.Z)($.toggleIcon,$.darkToggleIcon)})]})})}const H=r.memo(V),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Q(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(1327);function q(){return(0,u.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,L.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(q,{}),(0,u.jsx)(Q,{className:"margin-right--md"}),(0,u.jsx)(G,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(o,{forcePrependBaseUrl:!0}),h=a&&o&&!(0,J.Z)(o),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,h&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(K.Z,{href:l?f:o,...c,...g}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),se=n(8596),le=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Qe,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),(0,u.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Qe,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var he=n(4711);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var be=n(1029),ye=n(6010),ve=n(373),we=n(4104),ke=n(22),xe=n(8202),Se=n(3926),_e=n(1073),Ee=n(2539),Ce=n(726);const je='',Te='',Le='',Ae='',Re='',Pe='',Ne='',Oe={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Ie(e){let{document:t,type:n,page:r,metadata:o,tokens:a,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,c=1===n,u=[];i?u.push(Pe):s&&u.push(Ne);const d=u.map((e=>`${e}`)),p=`${l?je:c?Te:Le}`,f=[`${(0,Ce.o)(t.t,(0,_e.m)(o,"t"),a)}`];if(!i&&!s&&be.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;f.push(`${(0,Se.e)(e??[])}`)}else l||f.push(`${(0,Ee.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),a)}`);const h=`${Ae}`;return[...d,p,``,...f,"",h].join("")}function Fe(){return`${Re}${(0,l.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var De=n(311);async function Me(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const ze="_highlight";const Be=function(e){let{handleSearchBarToggle:t}=e;const n=(0,z.Z)(),{siteConfig:{baseUrl:o}}=(0,le.Z)(),a=(0,we.gA)();let i=o;try{const{preferredVersion:e}=(0,ve.J)(a?.pluginId??be.gQ);e&&!e.isLast&&(i=e.path+"/")}catch(F){if(be.l9&&!(F instanceof R.i6))throw F}const c=(0,s.k6)(),d=(0,s.TH)(),p=(0,r.useRef)(null),f=(0,r.useRef)(new Map),h=(0,r.useRef)(!1),[g,m]=(0,r.useState)(!1),[b,y]=(0,r.useState)(!1),[v,w]=(0,r.useState)(""),k=(0,r.useRef)(null),x=(0,r.useRef)(""),[S,_]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(be.Kc))return;let e="";if(d.pathname.startsWith(i)){const t=d.pathname.substring(i.length),n=be.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}x.current!==e&&(f.current.delete(e),x.current=e),_(e)}),[d.pathname,i]);const E=!!be.hG&&Array.isArray(be.Kc)&&""===S,C=(0,r.useCallback)((async()=>{if(E||f.current.get(S))return;f.current.set(S,"loading"),k.current?.autocomplete.destroy(),m(!0);const[{wrappedIndexes:e,zhDictionary:t},n]=await Promise.all([(0,ke.w)(i,S),Me()]);if(k.current=n(p.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,ye.Z)(Oe.searchBar,{[Oe.searchBarLeft]:"left"===be.pu}),noPrefix:!0,dropdownMenu:Oe.dropdownMenu,input:Oe.input,hint:Oe.hint,suggestions:Oe.suggestions,suggestion:Oe.suggestion,cursor:Oe.cursor,dataset:Oe.dataset,empty:Oe.empty}},[{source:(0,xe.v)(e,t,be.qo),templates:{suggestion:Ie,empty:Fe,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&!S)return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),a=new URLSearchParams,s=(0,l.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),u=(0,l.I)({id:"theme.SearchBar.seeAllOutsideContext",message:"See results outside {context}"},{context:S}),d=(0,l.I)({id:"theme.SearchBar.searchInContext",message:"See all results in {context}"},{context:S});let p;if(a.set("q",t),p=S&&n?u:S?d:s,Array.isArray(be.Kc)&&!n&&a.set("ctx",S),i!==o){if(!i.startsWith(o))throw new Error(`Version url '${i}' does not start with base url '${o}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);a.set("version",i.substring(o.length))}const f=`${o}search?${a.toString()}`;return r.href=f,r.textContent=p,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),k.current?.autocomplete.close(),c.push(f))})),r})({query:t,isEmpty:n}),a=document.createElement("div");return a.className=Oe.hitFooter,a.appendChild(r),a}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:o}=t;p.current?.blur();let a=n;if(be.vc&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append(ze,t);a+=`?${e.toString()}`}r&&(a+=r),c.push(a)})).on("autocomplete:closed",(()=>{p.current?.blur()})),f.current.set(S,"done"),m(!1),h.current){const e=p.current;e.value&&k.current?.autocomplete.open(),e.focus()}}),[E,S,i,o,c]);(0,r.useEffect)((()=>{if(!be.vc)return;const e=n?new URLSearchParams(d.search).getAll(ze):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new be.vc(t);n.unmark(),0!==e.length&&n.mark(e),w(e.join(" ")),k.current?.autocomplete.setVal(e.join(" "))}))}),[n,d.search,d.pathname]);const[j,T]=(0,r.useState)(!1),L=(0,r.useCallback)((()=>{h.current=!0,C(),T(!0),t?.(!0)}),[t,C]),A=(0,r.useCallback)((()=>{T(!1),t?.(!1)}),[t]),P=(0,r.useCallback)((()=>{C()}),[C]),N=(0,r.useCallback)((e=>{w(e.target.value),e.target.value&&y(!0)}),[]),O=!!n&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!be.AY)return;const e=e=>{!(O?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),p.current?.focus(),L())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[O,L]);const I=(0,r.useCallback)((()=>{const e=new URLSearchParams(d.search);e.delete(ze);const t=e.toString(),n=d.pathname+(""!=t?`?${t}`:"")+d.hash;n!=d.pathname+d.search+d.hash&&c.push(n),w(""),k.current?.autocomplete.setVal("")}),[d.pathname,d.search,d.hash,c]);return(0,u.jsxs)("div",{className:(0,ye.Z)("navbar__search",Oe.searchBarContainer,{[Oe.searchIndexLoading]:g&&b,[Oe.focused]:j}),hidden:E,children:[(0,u.jsx)("input",{placeholder:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:P,onFocus:L,onBlur:A,onChange:N,ref:p,value:v}),(0,u.jsx)(De.Z,{className:Oe.searchBarLoadingRing}),be.AY&&be.t_&&(""!==v?(0,u.jsx)("button",{className:Oe.searchClearButton,onClick:I,children:"\u2715"}):n&&(0,u.jsxs)("div",{className:Oe.searchHintContainer,children:[(0,u.jsx)("kbd",{className:Oe.searchHint,children:O?"\u2318":"ctrl"}),(0,u.jsx)("kbd",{className:Oe.searchHint,children:"K"})]}))]})},Ue={navbarSearchContainer:"navbarSearchContainer_Bca1"};function $e(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.Z)(n,Ue.navbarSearchContainer),children:t})}var Ve=n(2802);const He=e=>e.docs.find((t=>t.id===e.mainDocId));const Ze={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,he.l)(),{search:f,hash:h}=(0,s.TH)(),g=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${h}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],m=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ge,{className:me}),m]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)($e,{className:n,children:(0,u.jsx)(Be,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.Iw)(r),i=(0,Ve.vY)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,we.Iw)(r),i=(0,Ve.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Ve.lO)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:h}=(0,ve.J)(n),g=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??He(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...a],m=(0,Ve.lO)(n)[0],b=t&&g.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,y=t&&g.length>1?void 0:He(m).path;return g.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:y,items:g,isActive:r?()=>!1:void 0})}};function Qe(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ze[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function We(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Qe,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function qe(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ge(){const e=0===(0,w.L)().navbar.items.length,t=F();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(qe,{onClick:()=>t.hide()}),t.content]})}function Ye(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(D,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(We,{}),secondaryMenu:(0,u.jsx)(Ge,{})}):null}const Ke={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Xe(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Je(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Ke.navbarHideable,!d&&Ke.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Xe,{onClick:i.toggle}),(0,u.jsx)(Ye,{})]})}var et=n(8780);const tt={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function nt(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function rt(e){let{error:t}=e;const n=(0,et.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:tt.errorBoundaryError,children:n})}class ot extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function it(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function st(){const{toggle:e,shown:t}=(0,L.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(it,{})})}const lt={colorModeToggle:"colorModeToggle_DEke"};function ct(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(ot,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Qe,{...e})},t)))})}function ut(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function dt(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(ut,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(st,{}),(0,u.jsx)(q,{}),(0,u.jsx)(ct,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ct,{items:r}),(0,u.jsx)(Q,{className:lt.colorModeToggle}),!o&&(0,u.jsx)($e,{children:(0,u.jsx)(Be,{})})]})})}function pt(){return(0,u.jsx)(Je,{children:(0,u.jsx)(dt,{})})}function ft(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.Z)(n),l=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function ht(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(ft,{item:t})},t.href??t.to)}function gt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(ht,{item:e},t)))})]})}function mt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(gt,{column:e},t)))})}function bt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function yt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(ft,{item:t})}function vt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(yt,{item:e}),t.length!==n+1&&(0,u.jsx)(bt,{})]},n)))})})}function wt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(mt,{columns:t}):(0,u.jsx)(vt,{links:t})}var kt=n(9965);const xt={footerLogoLink:"footerLogoLink_BH7S"};function St(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(kt.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function _t(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:xt.footerLogoLink,target:t.target,children:(0,u.jsx)(St,{logo:t})}):(0,u.jsx)(St,{logo:t})}function Et(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}const Ct={footer__beian:"footer__beian_u63W",mpsLogo:"mpsLogo_uD3h"};function jt(e){let{province:t,recordNumber:n,subRecordNumber:r}=e;return(0,u.jsxs)("a",{href:"https://beian.miit.gov.cn",target:"_blank",children:[t,"ICP\u5907",n,"\u53f7-",r]})}function Tt(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("p",{children:[(0,u.jsx)("a",{className:"link--overseas",children:"\u5f62\u5982\u6b64"}),"\u7684\u94fe\u63a5\uff0c\u6216\u90e8\u5206",(0,u.jsxs)("a",{children:["\u5f62\u5982\u6b64",(0,u.jsx)(te.Z,{})]}),"\u7684\u94fe\u63a5\uff0c\u5176\u76ee\u6807\u4e3b\u673a\u53ef\u80fd\u4f4d\u4e8e\u4e2d\u56fd\u5927\u9646\u5883\u5916\u3002\u5982\u9700\u8ddf\u8fdb\u9605\u8bfb\u5374\u65e0\u6cd5\u8bbf\u95ee\uff0c\u8bf7\u81ea\u884c\u5bfb\u627e\u89e3\u51b3\u65b9\u6848\u3002"]}),(0,u.jsx)(Et,{...e}),(0,u.jsx)("ul",{className:Ct.footer__beian,children:(0,u.jsx)("li",{children:(0,u.jsx)(jt,{province:"\u82cf",recordNumber:17027553,subRecordNumber:2})})})]})}function Lt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function At(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(Lt,{style:o,links:n&&n.length>0&&(0,u.jsx)(wt,{links:n}),logo:r&&(0,u.jsx)(_t,{logo:r}),copyright:t&&(0,u.jsx)(Tt,{copyright:t})})}const Rt=r.memo(At),Pt=(0,R.Qc)([M.S,k.pl,A.OC,ve.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(P.n2,{children:(0,u.jsx)(L.M,{children:(0,u.jsx)(O,{children:t})})})}]);function Nt(e){let{children:t}=e;return(0,u.jsx)(Pt,{children:t})}var Ot=n(2503);function It(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Ot.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(nt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(rt,{error:t})})]})})})}const Ft={mainWrapper:"mainWrapper_z2l0"};function Dt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.t)(),(0,u.jsxs)(Nt,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(pt,{}),(0,u.jsx)("div",{id:d,className:(0,o.Z)(m.k.wrapper.main,Ft.mainWrapper,r),children:(0,u.jsx)(a.Z,{fallback:e=>(0,u.jsx)(It,{...e}),children:t})}),!n&&(0,u.jsx)(Rt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(3692),o=n(4996),a=n(2263),i=n(6668),s=n(9965),l=n(5893);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Z)(s?.href||"/"),h=n?"":t,g=s?.alt??h;return(0,l.jsxs)(r.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:g,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var r=n(5742),o=n(5893);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7294),o=n(788),a=n(2389),i=n(2949);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,a.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var r=n(7294),o=n(412),a=n(469),i=n(1442),s=n(5893);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function h(e){if(!o.Z.canUseDOM)return e?u:d}function g(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:o})}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(g,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?m:g;return(0,s.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>h});var r=n(7294),o=n(2389),a=n(12),i=n(902),s=n(6668),l=n(5893);const c=(0,a.WA)("docusaurus.announcement.dismiss"),u=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>m});var r=n(7294),o=n(412),a=n(902),i=n(12),s=n(6668),l=n(5893);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,h=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,a]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&g(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b});var r=n(7294),o=n(4104),a=n(9935),i=n(6668),s=n(2802),l=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const h=r.createContext(null);function g(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=g();return(0,u.jsx)(h.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.cE?(0,u.jsx)(m,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,r.useContext)(h);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var r=n(7294),o=n(902),a=n(5893);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var r=n(7294),o=n(902),a=n(5893);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>h});var r=n(7294),o=n(3102),a=n(7524),i=n(6550),s=n(902);function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6668),u=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function h(){const e=r.useContext(d);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var r=n(7294),o=n(902),a=n(5893);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(7294);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(7294),o=n(412);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>m,cE:()=>p,SN:()=>_,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>y});var r=n(7294),o=n(6550),a=n(8790),i=n(4104),s=n(373),l=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),g=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||g(e.items,t))}function b(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||m(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function w(){const e=(0,c.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,o].filter(Boolean))),[t,n,o])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,l.E)(),i=t.routes,s=i.find((e=>(0,o.LX)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,a.H)(i),sidebarName:c,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>h});var r=n(7294),o=n(788),a=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),c=n(2263);var u=n(5893);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const s=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.Z,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),s=(0,o.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(a.Z,{children:(0,u.jsx)("html",{className:s})}),n]})}function h(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.Z)(r,a),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var r=n(7294),o=n(469),a=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),o=n(723),a=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(7294),o=n(412),a=n(2389),i=(n(469),n(902)),s=n(5893);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>o});n(2263);const r="default";function o(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294);const r="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),o=n(6550),a=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,o.TH)(),c=(0,a.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),o=n(6550),a=n(902);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(2263);function o(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var r=n(6010);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};var a=n(5893);function i(e){let{className:t}=e;return(0,a.jsxs)("div",{className:(0,r.Z)(o.loadingRing,t),children:[(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{})]})}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(1336),o=n.n(r),a=n(1029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${a.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:o().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(1336),o=n.n(r);var a=n(1029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:o().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?o().Query.wildcard.TRAILING:o().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return o()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,a.dK);if(0===l.length)return void s([]);const c=function(e,t){const n=function(e,t){const n=[];return function e(r,o){if(0===r.length)return void n.push(o);const a=r[0];if(/\p{Unified_Ideograph}/u.test(a)){const n=function(e,t){const n=[];return function e(r,o){let a=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:o.missed,term:o.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>a;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){a=t;const s={missed:o.missed,term:o.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:o.missed+1,term:o.term}):o.term.length>0&&n.push(o))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(a,t);for(const t of n){const n=o.concat(...t);e(r.slice(1),n)}}else{const t=o.concat({value:a});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:o().Query.presence.REQUIRED,wildcard:o().Query.wildcard.LEADING|o().Query.wildcard.TRAILING})))}];for(const o of n)o[o.length-1].maybeTyping=!0;const r=[];for(const i of a.dK)if("en"===i)a._k||r.unshift(o().stopWordFilter);else{const e=o()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const o of s)if(o.length>2)for(let e=o.length-1;e>=0;e-=1)l.push(o.slice(0,e).concat(o.slice(e+1)));return i(n).concat(i(l))}(l,t),u=[];e:for(const{term:t,tokens:o}of c)for(const{documents:r,index:a,type:i}of e)if(u.push(...a.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!u.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-u.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:o,score:t.score}}))),u.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,o=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===o&&(o=n.index),r===o?0===t.type?-1:0===n.type?1:t.index-n.index:r-o}))}(u),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>o});var r=n(1690);function o(e,t,n){const a=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&a.push(o(e.substr(0,n),t)),a.push(`${(0,r.X)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.X)(e)}`:(0,r.X)(e):a.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(1690),o=n(2539);const a=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const o=r.match(a);if(!o){t.push(r);break}o.index>0&&t.push(r.substring(0,o.index)),t.push(o[0]),n+=o.index+o[0].length,r=e.substring(n)}return t}var s=n(1029);function l(e,t,n,a){void 0===a&&(a=s.Hk);const{chunkIndex:l,chunks:c}=function(e,t,n){const a=[];let s=0,l=0,c=-1;for(;sl){const t=i(e.substring(l,u)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)a.push(e)}-1===c&&(c=a.length),l=u+d,a.push({html:(0,o.C)(e.substring(u,l),n,!0),textLength:d})}}if(l({html:(0,r.X)(e),textLength:e.length})));for(const e of t)a.push(e)}return{chunkIndex:c,chunks:a}}(e,t,n),u=c.slice(0,l),d=c[l],p=[d.html],f=c.slice(l+1);let h=d.textLength,g=0,m=0,b=!1,y=!1;for(;h0){const e=u.pop();h+e.textLength<=a?(p.unshift(e.html),g+=e.textLength,h+=e.textLength):(b=!0,u.length=0)}else{if(!(f.length>0))break;{const e=f.shift();h+e.textLength<=a?(p.push(e.html),m+=e.textLength,h+=e.textLength):(y=!0,f.length=0)}}return(b||u.length>0)&&p.unshift("\u2026"),(y||f.length>0)&&p.push("\u2026"),p.join("")}},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>s,gQ:()=>g,H6:()=>d,hG:()=>y,l9:()=>m,dK:()=>a,_k:()=>i,pu:()=>h,AY:()=>p,t_:()=>f,Kc:()=>b,J:()=>l,Hk:()=>u,qo:()=>c,pQ:()=>v});var r=n(1336),o=n.n(r);n(892)(o()),n(1728).w(o()),n(4182)(o());const a=["en","zh"],i=!1,s=null,l="search-index{dir}-2c6edf86.json",c=8,u=50,d=!1,p=!0,f=!0,h="right",g=void 0,m=!0,b=null,y=!1,v=!1},1728:(e,t,n)=>{"use strict";function r(e){const t=new RegExp("^[^"+e+"]+","u"),n=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(n,"")}))}}function o(e,t){e.trimmerSupport.generateTrimmer=r,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}n.d(t,{w:()=>o})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>T,Ep:()=>p});var r=n(7462);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,g(),w.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=f(n);o&&o!==h&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),m=0;m{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},4182:function(e,t,n){var r,o;r=function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),n=t.join("-"),r="",o=[],a=[],i=0;i=n&&t[(o-=n)>>3]&1<<(7&o))return this.cursor++,!0}return!1},in_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o<=r&&o>=n&&t[(o-=n)>>3]&1<<(7&o))return this.cursor--,!0}return!1},out_grouping:function(t,n,r){if(this.cursorr||o>3]&1<<(7&o)))return this.cursor++,!0}return!1},out_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o>r||o>3]&1<<(7&o)))return this.cursor--,!0}return!1},eq_s:function(t,n){if(this.limit-this.cursor>1),d=0,p=s0||o==r||c)break;c=!0}}for(;;){if(s>=(f=t[r]).s_size){if(this.cursor=a+f.s_size,!f.method)return f.result;var g=f.method();if(this.cursor=a+f.s_size,g)return f.result}if((r=f.substring_i)<0)return 0}},find_among_b:function(t,n){for(var r=0,o=n,a=this.cursor,i=this.limit_backward,s=0,l=0,c=!1;;){for(var u=r+(o-r>>1),d=0,p=s=0;f--){if(a-p==i){d=-1;break}if(d=e.charCodeAt(a-1-p)-h.s[f])break;p++}if(d<0?(o=u,l=p):(r=u,s=p),o-r<=1){if(r>0||o==r||c)break;c=!0}}for(;;){var h;if(s>=(h=t[r]).s_size){if(this.cursor=a-h.s_size,!h.method)return h.result;var g=h.method();if(this.cursor=a-h.s_size,g)return h.result}if((r=h.substring_i)<0)return 0}},replace_s:function(t,n,r){var o=r.length-(n-t),a=e.substring(0,t),i=e.substring(n);return e=a+r+i,this.limit+=o,this.cursor>=n?this.cursor+=o:this.cursor>t&&(this.cursor=t),o},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,n){var r=this.replace_s(e,t,n);e<=this.bra&&(this.bra+=r),e<=this.ket&&(this.ket+=r)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),n=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(n,"")})):e.replace(t,"").replace(n,"")}}}}})?r.call(t,n,t,e):r)||(e.exports=o)},1336:(e,t,n)=>{var r,o;!function(){var a,i,s,l,c,u,d,p,f,h,g,m,b,y,v,w,k,x,S,_,E,C,j,T,L,A,R,P,N,O,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new I.Token(n.slice(i,a),l))}i=a+1}}return o},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:as?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new I.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new I.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new I.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new I.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(o.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}},I.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},I.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=o)}()},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},7874:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),h=p.indexOf(f);if(h>-1){++o;var g=p.substring(0,h),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(h+f.length),y=[];g&&y.push.apply(y,i([g])),y.push(m),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},2963:()=>{!function(e){var t=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");e.languages["shell-session"]={command:{pattern:RegExp(/^/.source+"(?:"+/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source+"|"+/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source+")?"+/[$#%](?=\s)/.source+/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<>)+/.source.replace(/<>/g,(function(){return t})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:e.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},e.languages["sh-session"]=e.languages.shellsession=e.languages["shell-session"]}(Prism)},3929:(e,t,n)=>{var r={"./prism-bash":7874,"./prism-shell-session":2963};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=3929},2703:(e,t,n)=>{"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),o=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n