| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[LLDB][SaveCore] Add SBSaveCoreOptions Object, and SBProcess::SaveCore() overload (#98403) This PR adds SBSaveCoreOptions, which is a container class for options when LLDB is taking coredumps. For this first iteration this container just keeps parity with the extant API of file, style, plugin. In the future this options object can be extended to allow users to take a subset of their core dumps. | 2 年前 | |
[lldb] Guard some GCC-style flags from MSVC A follow up to #92953. Suggested in https://github.com/llvm/llvm-project/pull/92953#issuecomment-2143274065 | 2 年前 | |
[lldb][Docs] Move QEMU testing page into the developing lldb section | 2 年前 | |
[lldb] Make variant formatter work with libstdc++-14 (#97568) In this version the internal data member has grown an additional template parameter (bool), which was throwing the summary provider off. This patch uses the type of the entire variant object. This is part of the API/ABI, so it should be more stable, but it means we have to explicitly strip typedefs and references to get to the interesting bits, which is why I've extended the test case with examples of those. | 2 年前 | |
[feature] add clang-tidy hook to pre-commit config Co-authored-by: wiyr0<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !163 merge feature/add-clang-tidy-hook into master [feature] add clang-tidy hook to pre-commit config Created-by: wiyr0 Commit-by: wiyr0 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** https://gitcode.com/Ascend/msot/issues/54 - **修改方案:** 新增 clang-tidy hook,使用 lldb/.clang-tidy 作为配置(通过 InheritParentConfig 继承根配置并禁用 readability-identifier-naming) - **修改内容:**  - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [x] **功能自验截图**(请确保不体现个人信息) - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** ---- See merge request: Ascend/msdebug!163 | 10 天前 | |
[LLDB][test] Improve SHELL detection on Windows in Makefile.rules (#99532) In MinGW make, the %windir% variable has a lowercase name $(windir) when launched from cmd.exe, and $(WINDIR) name when launched from MSYS2, since MSYS2 represents standard Windows environment variables names in upper case. This commit makes Makefile.rules consider both run variants. | 2 年前 | |
[lldb][NFC] Remove copy of debugserver entitlements plist An exact copy of this file exists in debugserver's resource directory and this one is unused. | 3 年前 | |
[lldb] Put SBSourceLanguageName in lldb namespace (#91685) | 2 年前 | |
[bugfix] 多卡调试屏蔽设备同步超时并补充消息长度日志 Co-authored-by: wiyr0<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !175 merge support_mc2 into master [bugfix] 多卡调试屏蔽设备同步超时并补充消息长度日志 Created-by: wiyr0 Commit-by: wiyr0 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 调试器在核函数断点处长时间停留时,上层传入的设备同步超时时间会被触发,产生同步超时告警,导致多卡调试被中断,影响调试体验。同时,接收 device 消息的日志缺少消息长度信息, 排查消息截断/异常等问题时不便。 - **修改方案:** 1. 屏蔽设备同步超时: 新增 aclrtSynchronizeDeviceWithTimeout 接口的 stub 实现,在调试期间忽略上层传入的 timeout,统一以 -1(永不超时)调用真实接口,从根本规避同步超时告警, 保证断点暂停期间不会被超时中断。 2. 补充消息长度日志: 在 AscendProcessLinux::HandleMsg 处理 device id 消息的日志中追加 size 字段输出 msg.length(),便于定位消息长度相关问题。 - **修改内容:**  - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) NA - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** ---- See merge request: Ascend/msdebug!175 | 9 天前 | |
[bug]:UT适配新统一镜像 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !215 merge dev_0723 into master [bug]:UT适配新统一镜像 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 统一为基于新统一镜像执行UT - **修改方案:** 适配新镜像,做新旧兼容修改,对功能无影响 - **修改内容:** 如果新镜像就按新镜像处理,不是则回退老镜像方式;解决liblldb.so 依赖查找libtinfow.so库冲突问题 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息)  - [ ] **冒烟是否通过** NA ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** 是 - [ ] **是否具备UT测试用例看护** 是 - [ ] **是否需要在sig会议中进行代码检视** 否 - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** 否 ---- See merge request: Ascend/msdebug!215 | 10 天前 | |
[bugfix] halMemAdvise劫持及内存属性管理优化 Co-authored-by: wiyr0<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !219 merge feature/hal-mem-advise-hijack into master [bugfix] halMemAdvise劫持及内存属性管理优化 Created-by: wiyr0 Commit-by: wiyr0 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 1. halMemAdvise接口缺少劫持,无法追踪和缓存内存属性设置,导致每次设置断点时重复调用halMemAdvise,且kernel执行后未恢复原始内存属性。 2. 由于原因1,且halMemAdvise的接口不能重复设置相同的属性,会有日志报错。这样一个kernel.o多次不同的kernel launch,会导致第二次kernel launch的时候,由于.o的内存属性已经被设置过了,获取start_pc的接口里也会调用halMemAdvise接口,这样就会报错。影响断点设置,**更严重会影响算子运行不成功甚至掉卡** - **修改方案:** 1. 劫持halMemAdvise, 拿到内存的属性信息 2. 每次做内存可读写设置前,先保存内存原有属性,在kernel运行结束后,再还原内存属性,这里就直接用thread local 结构体在Launch前保存原有的内存属性信息 3. halMemAdvise本身位于驱动接口,这里就做了一些公共函数的提取 - **修改内容:** 1. 新增extern "C" halMemAdvise劫持函数,成功时将(ptr,device)->advise记录到全局map;acl.h声明,version.map导出符号 2. 新增MemAdviseRestoreInfo结构体(runtime_stub.h)及GetMemAdviseRestoreInfo()(static thread_local),LaunchKernelPre/SetMemoryWritable中保存原始属性,LaunchKernelPost中通过RestoreMemAdvise恢复 3. 提取halMemAdviseOrigin、SetMemAdviseIfNecessary、RestoreMemAdvise共享函数供两文件复用;GetPcStartAddr拆分为GetRawPcStartAddr/FixPcStartAddr/EnableMemReadWrite - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [x] **功能自验截图**(请确保不体现个人信息) main_scalar:   add_simt:  add_simd:  simt_rma_ub2gm: 不设置断点:  设置断点:   - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** 不涉及 ---- See merge request: Ascend/msdebug!219 | 7 天前 | |
[bugfix] 传递虚拟device_id至DeviceContext用于AclrtSetDeviceWrapper Co-authored-by: wiyr0<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !205 merge feature/pass-virtual-device-id-to-devicecontext into master [bugfix] 传递虚拟device_id至DeviceContext用于AclrtSetDeviceWrapper Created-by: wiyr0 Commit-by: wiyr0 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** Ascend950DTDeviceContext::Init() 中调用 g_aclWrapper.AclrtSetDeviceWrapper(m_device_id)(Ascend950DeviceContext.cpp:679),其中 m_device_id 是物理 device_id,ConvertToVisibleDeviceId 转换后的可见/物理 ID)。但 AclrtSetDeviceWrapper 底层调用 aclrtSetDevice,该接口需要的是虚拟(逻辑)device_id(即用户程序调用 rtSetDevice/aclrtSetDevice 时传入的原始逻辑 ID)。当设置了 ASCEND_RT_VISIBLE_DEVICES 环境变量时,物理 ID 与逻辑 ID 不一致,导致 lldb-server 侧 aclrtSetDevice 设置了错误的设备,引发调试异常。 - **修改方案:** 虚拟 device_id 可通过 GetDeviceId(&deviceId)(调用 rtGetDevice)获取。在 LD_PRELOAD 桩侧获取该值,经 IPC 消息传递到 lldb-server 侧的 AscendProcessLinux,最终在构造DeviceContext 时传入,Init() 中改用虚拟 ID 调用 AclrtSetDeviceWrapper。 原有 m_device_id(物理 ID)保持不变,仍用于 driver ioctl(CMD_DEV_REGISTER 等)及设备匹配(IsDeviceIdMatched)。 - **修改内容:** 1. 桩侧(LD_PRELOAD)— 生成并传递虚拟 device_id - runtime_stub.h:SendDeviceInfo 声明新增 int32_t virtual_device_id 入参 - runtime_stub.cpp: - SendDeviceInfo:将 virtual_device_id 序列化为 virtual_device_id:<id>; 加入 IPC 消息 - SetDevicePost:调用 GetDeviceId(rtGetDevice)获取虚拟 ID,传入 SendDeviceInfo - aclrt_stub.cpp: - SetDevicePost:调用 aclrtGetDeviceImpl 获取虚拟 ID,传入 SendDeviceInfo 2. IPC 消息定义与解析 - MessageDefines.h:DeviceInfoMsg 新增 int32_t virtual_device_id 字段 - AscendCommunicationServer.cpp:DeviceHandler::Parse 正则更新为 device_id:(\d+);virtual_device_id:(\d+);tgid:(\d+);soc_version:([^;]+);,解析新字段 3. lldb-server 侧 — 全链路透传 - AscendProcessLinux.h/.cpp:InitDeviceContext 新增 virtual_device_id 参数;HandleStubDeviceInfo 从 DeviceInfoMsg 取值传入 - DeviceContext.h/.cpp: - Factory::GetDeviceContext 新增 virtual_device_id 参数 - 构造函数新增 virtual_device_id 参数,存入 m_virtual_device_id 成员 - 所有 DeviceContext 子类(Ascend950/950DT/910B/310P)构造函数同步更新 4. 核心修复 - Ascend950DeviceContext.cpp:679:AclrtSetDeviceWrapper(m_device_id) → AclrtSetDeviceWrapper(m_virtual_device_id),相关日志/错误信息同步更新 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) - [ ] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** ---- See merge request: Ascend/msdebug!205 | 19 天前 | |
[llvm][TargetParser] Return StringMap from getHostCPUFeatures (#97824) Previously this took a reference to a map and returned a bool to say whether it succeeded. We can return a StringMap instead, as all callers but 1 simply iterated the map if the bool was true, and passed in empty maps as the starting point. lldb's lit-cpuid did specifically check whether the call failed, but due to the way the x86 routines work this works out the same as checking if the returned map is empty. | 2 年前 | |
Updated .clang-format rules so bring LLDB in line with LLVM standards. llvm-svn: 280721 | 9 年前 | |
[LLDB] Applying clang-tidy modernize-use-override over LLDB Applied clang-tidy modernize-use-override over LLDB and added it to the LLDB .clang-tidy config. Differential Revision: https://reviews.llvm.org/D123340 | 4 年前 | |
Add .noindex to the gitignore The .noindex suffix is used on macOS to prevent Spotlight from indexing its contents. These folders contain test output from dotest.py and should be ignored when dotest is run from the LLDB source directory. llvm-svn: 357787 | 7 年前 | |
[lldb] Revise IDE folder structure (#89748) Update the folder titles for targets in the monorepository that have not seen taken care of for some time. These are the folders that targets are organized in Visual Studio and XCode ( set_property(TARGET <target> PROPERTY FOLDER "<title>")) when using the respective CMake's IDE generator. * Ensure that every target is in a folder * Use a folder hierarchy with each LLVM subproject as a top-level folder * Use consistent folder names between subprojects * When using target-creating functions from AddLLVM.cmake, automatically deduce the folder. This reduces the number of set_property/set_target_property, but are still necessary when add_custom_target, add_executable, add_library, etc. are used. A LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's root CMakeLists.txt. | 2 年前 | |
[lldb] Remove more references to lldb-vscode (#69696) There are some uses of "vscode" in lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py where I'm not sure if it's referring to the adapter or VS Code itself, so those remain. | 2 年前 | |
Fix typos throughout the license files that somehow I and my reviewers all missed! Thanks to Alex Bradbury for pointing this out, and the fact that I never added the intended legacy anchor to the developer policy. Add that anchor too. With hope, this will cause the links to all resolve successfully. llvm-svn: 351731 | 7 年前 | |
[lldb][test] Remove LLDB_TEST_USE_VENDOR_PACKAGES (#89260) The LLDB_TEST_USE_VENDOR_PACKAGES has defaulted to Off for a while. Either installing pexpect or skipping those tests with -DLLDB_TEST_USER_ARGS=--skip-category=pexpect seems to be enough that we can fully remove this option. This patch removes the LLDB_TEST_USE_VENDOR_PACKAGES cmake configuration as well as the associated code to add third_party/Python/module to the python path. I'll do the actual deletion of third_party/Python/module in a followup PR in the (unlikely, I hope) event this commit needs to be reverted. | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 10 天前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 9 天前 | ||
| 10 天前 | ||
| 7 天前 | ||
| 19 天前 | ||
| 2 年前 | ||
| 9 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 7 年前 | ||
| 2 年前 |