sceNand_driver: NID 0xC478C1DE is imported twice (placeholder left after 71fb45a)

Đang mở Phù hợp với người mới
#407 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
77/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c
Lĩnh vực
embedded-iot

Hướng nghiên cứu

Đọc src/nand/sceNand_driver.S và src/nand/Makefile.am để xác nhận mục import và mục đối tượng bị trùng lặp. Kiểm tra khai báo trong pspnand_driver.h và build libpspnand_driver để xác minh rằng symbol bị trùng lặp đã biến mất trong khi sceNandReadPagesRawAll vẫn còn; xem lại mọi đầu ra build hoặc kiểm thử để tìm hồi quy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

src/nand/sceNand_driver.S declares NID 0xC478C1DE twice (at 687501d):

  • line 51, block F_sceNand_driver_0015: IMPORT_FUNC "sceNand_driver",0xC478C1DE,sceNand_driver_C478C1DE
  • line 126, block F_sceNand_driver_0040: IMPORT_FUNC "sceNand_driver",0xC478C1DE,sceNandReadPagesRawAll

The second entry was added in 71fb45a ("add missing stub"), but the older placeholder entry was not removed. So both objects build a stub for the same import, and libpspnand_driver ends up with two symbols for one function.

A likely fix is to drop the F_sceNand_driver_0015 block and its object from src/nand/Makefile.am, keeping sceNandReadPagesRawAll. Nothing in the tree uses the placeholder name: pspnand_driver.h:36 declares only sceNandReadPagesRawAll. Out-of-tree code that calls sceNand_driver_C478C1DE would need the rename.

This came up while comparing PSPSDK's import stubs against the NID table of another project (Nakagawa Recomp). The report was written with AI assistance (Claude Code), and the two lines above are quoted from the tree.

Ngôn ngữ chính
C
Star
1.2k
Fork
190
Merge trung bình
1 ngày 18 giờ
Pull request đã merge (30 ngày)
8

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pspdev/pspsdk

Tất cả issue của pspdev/pspsdk

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.