[RTEMS Project] #4069: dl06 does not link on RISCV

Jiri Gaisler jiri at gaisler.se
Mon Sep 7 07:47:28 UTC 2020


On 9/6/20 11:12 PM, RTEMS trac wrote:
> #4069: dl06 does not link on RISCV
> -------------------------+-------------------------------------------------
>  Reporter:  Chris Johns  |       Owner:  Hesham Almatary
>                          |  <Hesham.Almatary@…>
>      Type:  defect       |      Status:  closed
>  Priority:  normal       |   Milestone:  6.1
> Component:  tool         |     Version:  6
>  Severity:  normal       |  Resolution:  fixed
>  Keywords:               |  Blocked By:
>  Blocking:               |
> -------------------------+-------------------------------------------------
> Changes (by Hesham Almatary <Hesham.Almatary@…>):
>
>  * owner:  (none) => Hesham Almatary <Hesham.Almatary@…>
>  * status:  new => closed
>  * resolution:   => fixed
>
>
> Comment:
>
>  In [changeset:"764ea5787926ee50d2c1df8db2eede5d31e427eb/rtems"
>  764ea578/rtems]:
>  {{{
>  #!CommitTicketReference repository="rtems"
>  revision="764ea5787926ee50d2c1df8db2eede5d31e427eb"
>  htif_console_handler is defined in htif.c
>
>  closes #4069.
>  }}}
>
> --
> Ticket URL: <http://devel.rtems.org/ticket/4069#comment:2>
> RTEMS Project <http://www.rtems.org/>
> RTEMS Project


This fix does not solve the problems for the griscv BSP. Note that htif.c is not used at all in griscv. Below is a verbose trace from rtems-ld, maybe somebody with more insight than me could look at it ...

rtems-ld -r /home/jiri/src/rtems/riscvmp/riscv-rtems6/c/griscv -C riscv-rtems6-gcc -c -march=rv32imafd -mabi=ilp32d -O rap -b dl06.pre -e rtems_main -s -o dl06.rap dl06-o1.o dl06-o2.o -lm -v
base-image: dl06.pre
cache:load-sym: object files: 1
cache:load-sym: symbols: 1046
Finding libraries:
 found: /home/jiri/src/rtems/6/bin/../lib/gcc/riscv-rtems6/10.2.1/../../../../riscv-rtems6/lib/rv32imafd/ilp32d/libm.a
cc::stdlib: libgcc.a
cc::stdlib: libssp.a
cc::stdlib: libc.a
cache:load-sym: object files: 1215
cache:load-sym: symbols: 1568
resolver:resolving:  undefines, unresolved: 1
resolver:resolve  :    |- rtems_main
resolver:resolved :    |   `--> dl06-o1.o (unresolved: 1)
resolver:resolved :    +-- referenced objects: 1
resolver:resolving:  ] undefines ==> dl06-o1.o
resolver:resolving:  dl06-o1.o, unresolved: 5
resolver:resolve  :     |- dl_o2_func2
resolver:resolved :     |   `--> dl06-o2.o (unresolved: 1)
resolver:resolve  :     |- dl_o2_func3
resolver:resolved :     |   `--> dl06-o2.o (unresolved: 2)
resolver:resolve  :     |- dlsym
resolver:resolved :     |   `--> dl06.pre (base)
resolver:resolve  :     |- rtems_printf
resolver:resolved :     |   `--> dl06.pre (base)
resolver:resolve  :     |- rtems_test_printer
resolver:resolved :     |   `--> dl06.pre (base)
resolver:resolved :     +-- referenced objects: 1
resolver:resolving:   ] dl06-o1.o ==> dl06-o2.o
resolver:resolving:   dl06-o2.o, unresolved: 5
resolver:resolve  :      |- atan2
resolver:resolved :      |   `--> libm.a:lib_a-w_atan2.o at 3274774 (unresolved: 1)
resolver:resolve  :      |- lcong48
resolver:resolved :      |   `--> libc.a:lib_a-lcong48.o at 5312728 (unresolved: 2)
resolver:resolve  :      |- rtems_printf
resolver:resolved :      |   `--> dl06.pre (base)
resolver:resolve  :      |- rtems_test_printer
resolver:resolved :      |   `--> dl06.pre (base)
resolver:resolve  :      |- tan
resolver:resolved :      |   `--> libm.a:lib_a-s_tan.o at 2659846 (unresolved: 3)
resolver:resolved :      +-- referenced objects: 3
resolver:resolving:    ] dl06-o2.o ==> libm.a:lib_a-w_atan2.o at 3274774
resolver:resolving:    libm.a:lib_a-w_atan2.o at 3274774, unresolved: 1
resolver:resolve  :       |- __ieee754_atan2
resolver:resolved :       |   `--> libm.a:lib_a-e_atan2.o at 709534 (unresolved: 1)
resolver:resolved :       +-- referenced objects: 1
resolver:resolving:     ] libm.a:lib_a-w_atan2.o at 3274774 ==> libm.a:lib_a-e_atan2.o at 709534
resolver:resolving:     libm.a:lib_a-e_atan2.o at 709534, unresolved: 2
resolver:resolve  :        |- atan
resolver:resolved :        |   `--> libm.a:lib_a-s_atan.o at 2142850 (unresolved: 1)
resolver:resolve  :        |- fabs
resolver:resolved :        |   `--> libm.a:lib_a-s_fabs.o at 2300458 (unresolved: 2)
resolver:resolved :        +-- referenced objects: 2
resolver:resolving:      ] libm.a:lib_a-e_atan2.o at 709534 ==> libm.a:lib_a-s_atan.o at 2142850
resolver:resolving:      libm.a:lib_a-s_atan.o at 2142850, unresolved: 1
resolver:resolve  :         |- fabs
resolver:resolved :         |   `--> libm.a:lib_a-s_fabs.o at 2300458 (unresolved: 1)
resolver:resolved :         +-- referenced objects: 1
resolver:resolving:       ] libm.a:lib_a-s_atan.o at 2142850 ==> libm.a:lib_a-s_fabs.o at 2300458
resolver:resolving:       libm.a:lib_a-s_fabs.o at 2300458, unresolved: 0
resolver:resolved :          +-- referenced objects: 0
resolver:resolving:      ] libm.a:lib_a-e_atan2.o at 709534 ==> libm.a:lib_a-s_fabs.o at 2300458
resolver:resolving:      libm.a:lib_a-s_fabs.o at 2300458 is resolved or resolving
resolver:resolving:     ] dl06-o2.o ==> libc.a:lib_a-lcong48.o at 5312728
resolver:resolving:     libc.a:lib_a-lcong48.o at 5312728, unresolved: 1
resolver:resolve  :        |- __getreent
resolver:resolved :        |   `--> dl06.pre (base)
resolver:resolved :        +-- referenced objects: 0
resolver:resolving:     ] dl06-o2.o ==> libm.a:lib_a-s_tan.o at 2659846
resolver:resolving:     libm.a:lib_a-s_tan.o at 2659846, unresolved: 2
resolver:resolve  :        |- __ieee754_rem_pio2
resolver:resolved :        |   `--> libm.a:lib_a-e_rem_pio2.o at 1079414 (unresolved: 1)
resolver:resolve  :        |- __kernel_tan
resolver:resolved :        |   `--> libm.a:lib_a-k_tan.o at 1906574 (unresolved: 2)
resolver:resolved :        +-- referenced objects: 2
resolver:resolving:      ] libm.a:lib_a-s_tan.o at 2659846 ==> libm.a:lib_a-e_rem_pio2.o at 1079414
resolver:resolving:      libm.a:lib_a-e_rem_pio2.o at 1079414, unresolved: 2
resolver:resolve  :         |- __kernel_rem_pio2
resolver:resolved :         |   `--> libm.a:lib_a-k_rem_pio2.o at 1831898 (unresolved: 1)
resolver:resolve  :         |- fabs
resolver:resolved :         |   `--> libm.a:lib_a-s_fabs.o at 2300458 (resolved)
resolver:resolved :         +-- referenced objects: 1
resolver:resolving:       ] libm.a:lib_a-e_rem_pio2.o at 1079414 ==> libm.a:lib_a-k_rem_pio2.o at 1831898
resolver:resolving:       libm.a:lib_a-k_rem_pio2.o at 1831898, unresolved: 2
resolver:resolve  :          |- floor
resolver:resolved :          |   `--> libm.a:lib_a-s_floor.o at 2318658 (unresolved: 1)
resolver:resolve  :          |- scalbn
resolver:resolved :          |   `--> libm.a:lib_a-s_scalbn.o at 2625326 (unresolved: 2)
resolver:resolved :          +-- referenced objects: 2
resolver:resolving:        ] libm.a:lib_a-k_rem_pio2.o at 1831898 ==> libm.a:lib_a-s_floor.o at 2318658
resolver:resolving:        libm.a:lib_a-s_floor.o at 2318658, unresolved: 0
resolver:resolved :           +-- referenced objects: 0
resolver:resolving:        ] libm.a:lib_a-k_rem_pio2.o at 1831898 ==> libm.a:lib_a-s_scalbn.o at 2625326
resolver:resolving:        libm.a:lib_a-s_scalbn.o at 2625326, unresolved: 0
resolver:resolved :           +-- referenced objects: 0
resolver:resolving:      ] libm.a:lib_a-s_tan.o at 2659846 ==> libm.a:lib_a-k_tan.o at 1906574
resolver:resolving:      libm.a:lib_a-k_tan.o at 1906574, unresolved: 1
resolver:resolve  :         |- fabs
resolver:resolved :         |   `--> libm.a:lib_a-s_fabs.o at 2300458 (resolved)
resolver:resolved :         +-- referenced objects: 0
resolver:resolving: top: dl06-o1.o
resolver:resolving:  dl06-o1.o is resolved or resolving
resolver:resolving: top: dl06-o2.o
resolver:resolving:   dl06-o2.o is resolved or resolving
resolver:resolving: dependents: 13
  1: dl06-o1.o
  2: dl06-o2.o
  3: libm.a:lib_a-e_atan2.o at 709534
  4: libm.a:lib_a-e_rem_pio2.o at 1079414
  5: libm.a:lib_a-k_rem_pio2.o at 1831898
  6: libm.a:lib_a-k_tan.o at 1906574
  7: libm.a:lib_a-s_atan.o at 2142850
  8: libm.a:lib_a-s_fabs.o at 2300458
  9: libm.a:lib_a-s_floor.o at 2318658
 10: libm.a:lib_a-s_scalbn.o at 2625326
 11: libm.a:lib_a-w_atan2.o at 3274774
 12: libc.a:lib_a-lcong48.o at 5312728
 13: libm.a:lib_a-s_tan.o at 2659846
outputter:application: dl06.rap
rap::layout: total:9209 text:6804 const:1336 ctor:0 dtor:0 data:0 bss:0 symbols:192 (16) strings:168 relocs:710
rap:output: machine=0
rap:output: header=12
rap:output: .text: offset=3400 size=6804
rap:output: .const: offset=10204 size=1336
rap:output: .ctor: offset=11540 size=0
rap:output: .dtor: offset=11540 size=0
rap:output: .data: offset=11540 size=0
rap:output: strtab=11540
rap:output: symbols=11708
rap:output: relocs=11900
image::close: removing dl06.rap
error: rap::object: Section index '0' not found: dl06-o1.o




More information about the devel mailing list