中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译和安装

操作步骤

  1. 执行以下命令解压安装包。
    cd /path/to/GPTL
    tar xf GPTL-8.1.1.tar.gz
    cd GPTL-8.1.1
  2. 执行以下命令修改相关文件。
    1. 修改gptl.c
      vim src/gptl.c
      修改第3070行,将asm volatile ("rdtsc":"=a" (a), "=d" (d));替换为以下内容。
      Description: __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi))
      Suggestion: static uint64_t Rdtsc()
      {
      uint64_t count_num;
      Current_Speed = 2400; // Current Speed =2400MHz
      External_Clock = 100; // External Clock = 100MHz
      __asm__ __volatile__ ("mrs %0, cntvct_el0" : "=r" (count_num));
      return count_num * (Current_Speed / External_Clock);
      }

      修改第3083行,将_asm__ __volatile__("rdtsc":"=A" (val): );替换为以下内容。

      Description: __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi))
      Suggestion: static uint64_t Rdtsc()
      {
      uint64_t count_num;
      Current_Speed = 2400; // Current Speed =2400MHz
      External_Clock = 100; // External Clock = 100MHz
      __asm__ __volatile__ ("mrs %0, cntvct_el0" : "=r" (count_num));
      return count_num * (Current_Speed / External_Clock);
      }
    2. 修改Makefile。
      vim src/unsupported_utils/cprsummary/Makefile

      将第2行改成CFLAGS = -march=armv8.2-a

      vim src/unsupported_utils/loadbal/Makefile

      将第2行改成CFLAGS = -march=armv8.2-a

    3. 修改libtool。
      vim /path/to/GPTL/GPTL-8.1.1/libtool

      将第330行改为wl=”-Wl,”

      将第11688行改为wl=”-Wl,”

  3. 执行以下命令生成makefile。
    ./configure --enable-debug --enable-libunwind --prefix=/path/to/GPTL
  4. 执行以下命令编译安装。
    make
    make install
  5. 执行以下命令设置环境变量。
    export PATH=/path/to/GPTL/bin:$PATH
    export LD_LIBRARY_PATH=/path/to/GPTL/lib:$LD_LIBRARY_PATH