svn commit: trunk/uClibc/ldso: include ldso

vapier at uclibc.org vapier at uclibc.org
Fri Nov 17 06:07:30 UTC 2006


Author: vapier
Date: 2006-11-16 22:07:30 -0800 (Thu, 16 Nov 2006)
New Revision: 16549

Log:
Bernd Schmidt writes:
This reintroduces a mechanism identical to the DL_BOOT macro present in 
older versions of uClibc.  On Blackfin and FRV, we want to pass more 
than one argument to _dl_start.  We also want to do something special 
before returning, so delete the warning when the START macro is defined.


Modified:
   trunk/uClibc/ldso/include/dl-defs.h
   trunk/uClibc/ldso/ldso/dl-startup.c


Changeset:
Modified: trunk/uClibc/ldso/include/dl-defs.h
===================================================================
--- trunk/uClibc/ldso/include/dl-defs.h	2006-11-17 05:55:24 UTC (rev 16548)
+++ trunk/uClibc/ldso/include/dl-defs.h	2006-11-17 06:07:30 UTC (rev 16549)
@@ -66,6 +66,12 @@
 
 #endif
 
+/* Provide a means for a port to pass additional arguments to the _dl_start
+   function.  */
+#ifndef DL_START
+# define DL_START(X) static void * __attribute_used__ _dl_start(X)
+#endif
+
 /* Machines in which different sections may be relocated by different
  * amounts should define this and LD_RELOC_ADDR.  If you change this,
  * make sure you change struct link_map in include/link.h accordingly

Modified: trunk/uClibc/ldso/ldso/dl-startup.c
===================================================================
--- trunk/uClibc/ldso/ldso/dl-startup.c	2006-11-17 05:55:24 UTC (rev 16548)
+++ trunk/uClibc/ldso/ldso/dl-startup.c	2006-11-17 06:07:30 UTC (rev 16549)
@@ -110,7 +110,7 @@
 	NULL
 	auxvt[0...N]   Auxiliary Vector Table elements (mixed types)
 */
-static void * __attribute_used__ _dl_start(unsigned long args)
+DL_START(unsigned long args)
 {
 	unsigned int argc;
 	char **argv, **envp;
@@ -313,7 +313,6 @@
 #ifndef START
 	return _dl_elf_main;
 #else
-#warning You need to update your arch ldso code
 	START();
 #endif
 }




More information about the uClibc-cvs mailing list