RTEMS | Driver Manager: Fix linking issues (!1498)

Matteo Concas (@matteo.concas) gitlab at rtems.org
Tue Sep 22 07:41:08 UTC 2026




Matteo Concas commented on a discussion on bsps/sparc/leon3/start/amba.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159744

 >    ambapp_grlib_root_register( &grlib_bus_config );
 >  }
 >  
 > -RTEMS_SYSINIT_ITEM(

Reverting the change with this diff:
```diff
diff --git a/bsps/include/grlib/ambapp_bus_grlib.h b/bsps/include/grlib/ambapp_bus_grlib.h
index e942ecb05c..dc9ed27cd0 100644
--- a/bsps/include/grlib/ambapp_bus_grlib.h
+++ b/bsps/include/grlib/ambapp_bus_grlib.h
@@ -48,11 +48,6 @@ extern int ambapp_grlib_root_register( struct grlib_config *config );
 /* Register bus driver to Driver Manager */
 void ambapp_grlib_register( void );
 
-/* Initialize GRLIB AMBA PnP root bus for Driver Manager.
- * This is called during system initialization to register the root bus.
- */
-void ambapp_grlib_root_initialize( void );
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/bsps/sparc/leon3/start/amba.c b/bsps/sparc/leon3/start/amba.c
index a0c1dc7520..ec87417bc6 100644
--- a/bsps/sparc/leon3/start/amba.c
+++ b/bsps/sparc/leon3/start/amba.c
@@ -119,7 +119,7 @@ struct drvmgr_bus_res grlib_drv_resources __attribute__(( weak )) = {
 /* GRLIB AMBA bus configuration (the LEON3 root bus configuration) */
 struct grlib_config grlib_bus_config;
 
-void ambapp_grlib_root_initialize( void )
+static void ambapp_grlib_root_initialize( void )
 {
   /* Register Root bus, Use GRLIB AMBA PnP bus as root bus for LEON3 */
   grlib_bus_config.abus = ambapp_plb();
@@ -127,6 +127,12 @@ void ambapp_grlib_root_initialize( void )
   ambapp_grlib_root_register( &grlib_bus_config );
 }
 
+RTEMS_SYSINIT_ITEM(
+  ambapp_grlib_root_initialize,
+  RTEMS_SYSINIT_BSP_START,
+  RTEMS_SYSINIT_ORDER_SECOND
+);
+
 #endif
 
 #if !defined( LEON3_IRQAMP_BASE )
diff --git a/cpukit/include/rtems/confdefs/drvmgr.h b/cpukit/include/rtems/confdefs/drvmgr.h
index 674d768b08..b1fefaa886 100644
--- a/cpukit/include/rtems/confdefs/drvmgr.h
+++ b/cpukit/include/rtems/confdefs/drvmgr.h
@@ -147,21 +147,6 @@ RTEMS_SYSINIT_ITEM(
   RTEMS_SYSINIT_ORDER_MIDDLE
 );
 
-/*
- * BSP-specific root bus registration for GRLIB AMBA Plug & Play systems.
- * This pulls in the AMBA PnP bus scanning and root bus registration from
- * the BSP library.
- */
-#if ( defined( LEON3 ) || defined( NOELV ) )
-#include <grlib/ambapp_bus_grlib.h>
-
-RTEMS_SYSINIT_ITEM(
-  ambapp_grlib_root_initialize,
-  RTEMS_SYSINIT_BSP_START,
-  RTEMS_SYSINIT_ORDER_SECOND
-);
-#endif
-
 #ifdef __cplusplus
 }
 #endif

```

Gives the same result as before this MR:
```
Passed:        222
Failed:        472
User Input:      0
Expected Fail:   0
Indeterminate:   0
Benchmark:       0
Timeout:         2
Test too long:   0
Invalid:         1
Wrong Version:   0
Wrong Build:     0
Wrong Tools:     0
Wrong Header:    0
------------------
Total:         697

Failures:
 psxdevctl01.exe
 termios02.exe
 ts-fatal-idle-thread-create-failed.exe
 ts-fatal-init-task-construct-failed.exe
 ts-fatal-sparc-leon3-clock-initialization.exe
 ts-performance-no-clock-0.exe
 ts-validation-intr.exe
 block05.exe
 block06.exe
[...]
```
And no ambapp symbol is found in test binaries.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1498#note_159744
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/namespace/49/sent_notifications/5-67r922xh6ij7s40llc8sb3yx4-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260922/886475f5/attachment.htm>


More information about the bugs mailing list