再次重启每日废话
天气晴 下午看到了天上的云有奇妙纹理,像脑花,掏出手机拍了一张,发现手机摄像头的马赛克效果比脑花纹理还清晰。 最近把主机转了个方向发现主板在 gprofng 编译的时候会亮过热的红灯,在cyy的建议下把 intel i7 12700 CPU 原装风扇换成了超大风扇,RISC-V qemu system 的性能好多了。既没有了终端显示乱刷问题,编译时间也快了很多。 本来之前 gprofng 没啥头绪的,现在貌似觉得还可以研究一下,因为可以根据报错来找到哪里有问题了。
天气晴 下午看到了天上的云有奇妙纹理,像脑花,掏出手机拍了一张,发现手机摄像头的马赛克效果比脑花纹理还清晰。 最近把主机转了个方向发现主板在 gprofng 编译的时候会亮过热的红灯,在cyy的建议下把 intel i7 12700 CPU 原装风扇换成了超大风扇,RISC-V qemu system 的性能好多了。既没有了终端显示乱刷问题,编译时间也快了很多。 本来之前 gprofng 没啥头绪的,现在貌似觉得还可以研究一下,因为可以根据报错来找到哪里有问题了。
目前成功构建的 patch :RISC-V: Fix VL operand bug in VSETVL PASS[PR110264] 此patchRISC-V: Bugfix for RVV integer reduction in ZVE32/64.构建失败,但是RISC-V: Fix one typo for reduc expand GET_MODE_CLASS可以修复。 中间夹杂了 RISC-V:Add float16 tuple type support ,此构建失败报: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genemit.cc:25: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genextract.cc:22: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genemit.cc:22: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genpeep.cc:25: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/rtl.cc:31: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/rtl.cc:28: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genpeep.cc:22: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genautomata.cc:111: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genautomata.cc:108: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../.././gcc/gcc -I../.././gcc/gcc/build -I../.././gcc/gcc/../include -I../.././gcc/gcc/../libcpp/include \ -o build/gensupport.o ../.././gcc/gcc/gensupport.cc In file included from ../.././gcc/gcc/genpreds.cc:27: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genoutput.cc:90: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genpreds.cc:24: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genopinit.cc:25: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/genoutput.cc:87: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genopinit.cc:22: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genrecog.cc:112: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ make[2]: *** [Makefile:2825: build/genextract.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from ../.././gcc/gcc/genrecog.cc:109: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/genattrtab.cc:109: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ make[2]: *** [Makefile:2825: build/genpeep.o] Error 1 make[2]: *** [Makefile:2825: build/genemit.o] Error 1 In file included from ../.././gcc/gcc/genattrtab.cc:106: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ In file included from ../.././gcc/gcc/read-rtl.cc:34: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/read-rtl.cc:31: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ make[2]: *** [Makefile:2825: build/rtl.o] Error 1 make[2]: *** [Makefile:2825: build/genopinit.o] Error 1 make[2]: *** [Makefile:2825: build/genoutput.o] Error 1 make[2]: *** [Makefile:2825: build/genpreds.o] Error 1 make[2]: *** [Makefile:2825: build/read-rtl.o] Error 1 make[2]: *** [Makefile:2825: build/genrecog.o] Error 1 make[2]: *** [Makefile:2825: build/genattrtab.o] Error 1 make[2]: *** [Makefile:2825: build/genautomata.o] Error 1 In file included from ../.././gcc/gcc/gensupport.cc:24: ../.././gcc/gcc/rtl.h:316:31: warning: ‘rtx_def::mode’ is too small to hold all values of ‘enum machine_mode’ 316 | ENUM_BITFIELD(machine_mode) mode : 8; | ^~~~ In file included from ../.././gcc/gcc/gensupport.cc:21: ../.././gcc/gcc/rtl.h: In member function ‘long unsigned int subreg_shape::unique_id() const’: ../.././gcc/gcc/rtl.h:2160:37: error: static assertion failed: MAX_MACHINE_MODE <= 256 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ ../.././gcc/gcc/rtl.h:2160:37: note: the comparison reduces to ‘(284 <= 256)’ 2160 | { STATIC_ASSERT (MAX_MACHINE_MODE <= 256); } ../.././gcc/gcc/system.h:850:19: note: in definition of macro ‘STATIC_ASSERT’ 850 | static_assert ((X), #X) | ^ make[2]: *** [Makefile:2825: build/gensupport.o] Error 1 可能是这俩的问题吧: Bump up precision size to 16 bits. Machine_Mode: Extend machine_mode from 8 to 16 bits ...
近日办理业务发现了一年前签合同和协议踩的坑,记录一下,以后也会新增累积,成为游刃有余的老油条。 总结以下几条: 1.条款内容前后文矛盾 2.暗改合同日期 3.更换业务内容只签补充协议且执行按照合同正文日期 虽然签十个合同办理业务才可能出现这一个案例,但涉及金额较大业务时需要更加谨慎。不过更希望大家不会碰到这些事。 具体内容: 1.条款1写 4.15 - 4.18 是免租期。条款2写租金从4.15开始收取。实际免租期是个幌子。 2.约定租期1年,但是合同起止时间写 4.15 - 4.30。 3.网络合同正文写 4.15 ,但是发现宽带不符合办公要求时,办理电信业务租赁线路签补充协议不注明日期,实际执行按照合同正文。
天气雨 怎么还在摘樱桃。 发现想要根据报错来解决出现的问题的话就会出现本不该是 gcc 12 特性的 patch 被引入。 于是推倒重来,一个一个标记。 干的时候又很不耐烦,想要掏出脚本。不过还是不要太激进了,等编译的时候看看书。
天气晴。 早上到达武汉非常冷,发现了一个很中二的说法,回笼觉念成回龙决。 偷一个 /usr/include/sys/ucontext.h 出来观测,qemu 里面显示得太异常了。大佬告诉我这是 glibc 的内容。 /* struct ucontext definition, RISC-V version. Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library. If not, see <https://www.gnu.org/licenses/>. */ /* Don't rely on this, the interface is currently messed up and may need to be broken to be fixed. */ #ifndef _SYS_UCONTEXT_H #define _SYS_UCONTEXT_H 1 #include <features.h> #include <bits/types/sigset_t.h> #include <bits/types/stack_t.h> typedef unsigned long int __riscv_mc_gp_state[32]; #ifdef __USE_MISC # define NGREG 32 # define REG_PC 0 # define REG_RA 1 # define REG_SP 2 # define REG_TP 4 # define REG_S0 8 # define REG_S1 9 # define REG_A0 10 # define REG_S2 18 # define REG_NARGS 8 typedef unsigned long int greg_t; /* Container for all general registers. */ typedef __riscv_mc_gp_state gregset_t; /* Container for floating-point state. */ typedef union __riscv_mc_fp_state fpregset_t; #endif struct __riscv_mc_f_ext_state { unsigned int __f[32]; unsigned int __fcsr; }; struct __riscv_mc_d_ext_state { unsigned long long int __f[32]; unsigned int __fcsr; }; struct __riscv_mc_q_ext_state { unsigned long long int __f[64] __attribute__ ((__aligned__ (16))); unsigned int __fcsr; /* Reserved for expansion of sigcontext structure. Currently zeroed upon signal, and must be zero upon sigreturn. */ unsigned int __glibc_reserved[3]; }; union __riscv_mc_fp_state { struct __riscv_mc_f_ext_state __f; struct __riscv_mc_d_ext_state __d; struct __riscv_mc_q_ext_state __q; }; typedef struct mcontext_t { __riscv_mc_gp_state __gregs; union __riscv_mc_fp_state __fpregs; } mcontext_t; /* Userlevel context. */ typedef struct ucontext_t { unsigned long int __uc_flags; struct ucontext_t *uc_link; stack_t uc_stack; sigset_t uc_sigmask; /* There's some padding here to allow sigset_t to be expanded in the future. Though this is unlikely, other architectures put uc_sigmask at the end of this structure and explicitly state it can be expanded, so we didn't want to box ourselves in here. */ char __glibc_reserved[1024 / 8 - sizeof (sigset_t)]; /* We can't put uc_sigmask at the end of this structure because we need to be able to expand sigcontext in the future. For example, the vector ISA extension will almost certainly add ISA state. We want to ensure all user-visible ISA state can be saved and restored via a ucontext, so we're putting this at the end in order to allow for infinite extensibility. Since we know this will be extended and we assume sigset_t won't be extended an extreme amount, we're prioritizing this. */ mcontext_t uc_mcontext; } ucontext_t; #endif /* sys/ucontext.h */