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

编译和安装

操作步骤

  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 unsupported_utils/cprsummary/Makefile

      将第1行改成CCC= clang

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

      vim unsupported_utils/loadbal/Makefile

      将第1行改成CCC= clang

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

  3. 执行以下命令生成configure文件。
    autoreconf -i
  4. 执行以下命令生成makefile文件。
    ./configure --enable-debug --enable-libunwind --prefix=/path/to/GPTL
  5. 执行以下命令修改libtool文件。
    sed -i 's|wl=""|wl="-Wl,"|g' libtool
  6. 执行以下命令编译安装。
    make
    make install
  7. 执行以下命令设置环境变量。
    export PATH=/path/to/GPTL/bin:$PATH
    export LD_LIBRARY_PATH=/path/to/GPTL/lib:$LD_LIBRARY_PATH