Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

编译相关

riscv64 和 riscv64gc

riscv64gc=riscv64imacfdZicsrZifencei

  • i是base int inst,integer
  • m是乘除拓展
  • a是原子操作拓展,atomic
  • c是压缩指令,compress
  • f是单精度硬浮点,float
  • d是双精度硬浮点,double
  • Zicsr是CSR寄存器及其操作
  • Zifencei是 inst-fetch fence
  • 最后这俩2.2的时候是i的一部分
  • 上面的去掉c简称g,general

格式说明

  • build:现在编译编译器的平台
  • host:编译器跑的平台
  • target:编译器编译出来的二进制跑的平台

soname

  • 指 .so name。

namcap

  • pacman 的反写, 是 pkgbuild 以及 arch 包的检查工具

  • 官方定义如下:

    Namcap is a tool to check binary packages and source PKGBUILDs for common packaging mistakes, which can also be automatically enabled.

  • 一般会出现在 archbuild 的最后: No soname differences for <package>.

  • 可以视为是 soname capture 的扩展,但不止检查 soname,也会检查其他的,如对齐,relocation,PIC 之类

  • 如果有 soname difference,所有依赖这个包的包就都需要重新 rebuild,否则在运行的时候就会出现 找不到 xxx.so.y 提示。于是需要一个机制来告诉 packager:有这种变动发生了,你需要去规划一下如何 rebuild。