On 3/27/15 05:31, Chen Gang wrote: > On 3/26/15 22:58, Mark Salter wrote: >> On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote: >>> They are needed by other modules, the related error with allmodconfig: >>> >>> MODPOST 3327 modules >>> ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined! >>> ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined! >>> >>> Signed-off-by: Chen Gang <gang.chen.5...@gmail.com> >>> --- >> >> Thanks! I added this to the c6x tree for next merge window. >>
Sorry, I did not finish the gcc/binutils issues on time. - For binutils patch, it is fixed by me, it is passed binutils related member's first checking, I guess it can correctly fix the related issue (although may still need improvement). It is in attachment. - For gcc, it is fixed by c6x gcc related member and it is integrated into gcc main line. (I sent fix patch for it, but my original patch is incorrect). I guess, I reported issues and sent patches were too late. And next I should report and send fix patches in time (within 20??-??-20), so can leave a little more time to others for reviewing and integrating > > Thank you for your work for all the related patches. And I am analyzing > related c6x gcc/binutils issues: > > - For binutils/ld issue, I have sent fix patch for it, the patch is OK > (really fix the root cause), but need some additional improvement, I > shall sent patch v2 for it within this month. > > - For gcc issue, I am analyzing, hope I can find root cause today, and > send fix patch within this month. > > > Thanks. > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed
It will cause multiple definitions for _HEAP_START, _HEAP_MAX, and _STACK_START (e.g. build linux kernel). 2015-03-27 Chen Gang <gang.chen.5...@gmail.com> * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for relocating operation. --- ld/ChangeLog | 5 +++++ ld/emulparams/elf32_tic6x_le.sh | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 3a5edf2..587e2be 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2015-03-27 Chen Gang <gang.chen.5...@gmail.com> + + * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for + relocating operation. + 2015-03-24 Marcus Shawcroft <marcus.shawcr...@arm.com> * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section diff --git a/ld/emulparams/elf32_tic6x_le.sh b/ld/emulparams/elf32_tic6x_le.sh index dfd64c1..6533c7f 100644 --- a/ld/emulparams/elf32_tic6x_le.sh +++ b/ld/emulparams/elf32_tic6x_le.sh @@ -44,7 +44,11 @@ OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ . OTHER_READWRITE_RELOC_SECTIONS=" .rel.fardata ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) } .rela.fardata ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }" -case ${target} in +# For relocating operation, skip OTHER_BSS_SECTIONS, or will cause multiple definition. +if [ ${RELOCATING-0} ]; then + OTHER_BSS_SECTIONS=""; +else + case ${target} in *-elf) OTHER_BSS_SECTIONS=" .heap : @@ -60,5 +64,6 @@ case ${target} in _STACK_START = .; }" ;; -esac + esac +fi ATTRS_SECTIONS='.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) }' -- 1.9.3