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


Reply via email to