鲲鹏代码迁移工具(PortingAdvisor)支持如下六大功能:
分析软件安装包
扫描x86平台软件安装包,识别安装包对系统SO的依赖和包内部的SO、JAR依赖,支持的软件安装包格式包括RPM、DEB、JAR、WAR、ZIP、TAR、GZIP。该功能位于工具一级菜单“软件迁移评估”下,工具安装在x86环境和鲲鹏环境下时均可用。
分析已安装软件
扫描x86环境中用户已安装的软件,识别已安装软件的SO、JAR依赖关系。该功能位于工具一级菜单“软件迁移评估”下,仅当工具安装在x86环境下时可用。
分析源代码
扫描x86平台软件的C/C++/Fortran/汇编源代码,识别源代码中的SO依赖关系,扫描需要修改的代码行并给出修改建议,根据系统设定的代码修改效率,给出评估的工作量,供领导层进行项目决策。该功能位于工具一级菜单“源码迁移”下,工具安装在x86环境和鲲鹏环境下时均可用。
软件包重构
对用户提供的x86平台RPM包、DEB包中x86平台相关的so文件、jar包进行替换,重构输出可用于鲲鹏平台的RPM包、DEB包。重构期间需要的鲲鹏版本的so文件、jar包需要用户通过依赖包上传功能在重构任务创建过程中上传。如果这些文件是可以直接从华为云镜像源下载的,并且用户安装鲲鹏代码迁移工具的服务器可联网,则用户创建重构任务时可以授权工具重构期间连接到华为云镜像源进行自动下载。该功能位于工具一级菜单“软件包重构”下,仅当工具安装在鲲鹏环境下时可用。
专项软件迁移
一级菜单“专项软件功能”下,针对已经完成迁移的部分BoostKit组件,用户可以通过专项软件迁移功能进行重复迁移。迁移过程中的每个执行步骤都是可视的,用户可根据自己的需求定制由工具执行其中的某些步骤而自己手工执行另外一些步骤,从而达到对这些组件的定制化的目的。该功能仅当工具安装在鲲鹏环境下时可用。
增强功能
一级菜单“增强功能”下提供了64位代码迁移预检、字节对齐检查、弱内存序检查修复三项子功能。64位代码迁移预检功能针对32位老旧代码执行检查动作,从编译器层面识别编译出64位应用时代码中存在的修改点,该功能仅当工具安装在x86环境下时可用。字节对齐检查功能辅助用户检查应用从32位模式改为64位模式时,数据结构定义方面的变化,以便用户优化代码,该功能仅当工具安装在x86环境下时可用。弱内存序检查修复则提供了编译器自动修复工具和静态检查工具两个选项,分别供用户在GCC编译以及工具运行两种模式下使用以修复ARM架构下独有的应用弱内存序问题,该功能仅当工具安装在鲲鹏环境下时可用。