Компоновщик GreenHills не может найти модуль в статической библиотеке - PullRequest
0 голосов
/ 16 мая 2019

В скрипте компоновщика (*.ld) У меня есть что-то вроде этого:

.data_Secure align(16) : AT(___IDAT_Secure)
{
    "libBase.a(Csm.o(.data))" "libBase.a(Csm.o(.sdata))" "libBase.a(Csm.o(.zdata))"
    ...
}

, но компоновщик GHS продолжает выдавать мне предупреждения:

[elxr] (warning) section libBase.a(Csm.o)(.data)  is not being included; module libBase.a(Csm.o) is not part of this link

[elxr] (warning) section libBase.a(Csm.o)(.sdata) is not being included; module libBase.a(Csm.o) is not part of this link

[elxr] (warning) section libBase.a(Csm.o)(.zdata) is not being included; module libBase.a(Csm.o) is not part of this link

, хотя я почти уверенМодуль Csm.o является частью libBase.a.Когда я заглядываю в библиотеку, я вижу это:

$ objdump -x libBase.a | grep -A 100 Csm.o | less
Csm.o:     file format elf32-little
rw-rw-rw- 0/0  61304 Apr 30 14:27 2019 Csm.o
architecture: UNKNOWN!, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000030  00000000  00000000  00000034  2**1
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  1 .data         00000000  00000000  00000000  00000000  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00000000  00000000  00000000  2**0
                  ALLOC
  3 .debug_info   00000293  00000000  00000000  00000064  2**0
                  CONTENTS, RELOC, READONLY, DEBUGGING
  4 .debug_abbrev 0000008f  00000000  00000000  000002f7  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_line   00002c8a  00000000  00000000  00000386  2**0
                  CONTENTS, RELOC, READONLY, DEBUGGING
  6 .debug_macinfo 0000aae1  00000000  00000000  00003010  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_frame  000000ac  00000000  00000000  0000daf1  2**0
                  CONTENTS, RELOC, READONLY, DEBUGGING
  8 .note.renesas 00000028  00000000  00000000  0000db9d  2**0
                  CONTENTS, READONLY
  9 .ghsinfo      00000048  00000000  00000000  0000dbc5  2**0
                  CONTENTS, READONLY

Если что-то, я бы ожидал предупреждение:

[elxr] (warning) section libBase.a(Csm.o)(.data) is not being included; section .data appears to be empty

или подобное.У кого-нибудь есть опыт, почему компоновщик не может найти модуль внутри библиотеки?

...