This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linux fixes [PATCH]


Patch checked in, thanks. Regarding dl-load.c: I am able to build this on my FC-4 system. dl-load.c includes ldsodefs.h which then includes dlfcn.h which is found in libc/sys/linux/include and defines __RTLD_DLOPEN. Why aren't you picking this up in your build?

-- Jeff J.

Shaun Jackman wrote:
I found the following patches necessary to compile newlib for
i386-linux, In addition, dl-load.c is not compiling because it cannot
find the symbol __RTLD_DLOPEN, which should be defined by dlfcn.h.

Cheers,
Shaun

2005-10-26 Shaun Jackman <sjackman@gmail.com>

	* newlib/libc/posix/scandir.c (scandir): Update the function
	prototype to match the header.
	* newlib/libc/sys/linux/linuxthreads/bits/libc-lock.h: Remove an
	extraneous #endif.
	* newlib/libc/sys/linux/sys/lock.h: Do not include
	machine/weakalias.h, since it's not used by this file.

diff -u -r1.4 scandir.c
--- posix/scandir.c	6 Jun 2003 19:57:51 -0000	1.4
+++ posix/scandir.c	26 Oct 2005 19:30:41 -0000
@@ -74,8 +74,8 @@
 _DEFUN(scandir, (dirname, namelist, select, dcomp),
 	const char *dirname _AND
 	struct dirent ***namelist _AND
-	int (*select) __P((struct dirent *)) _AND
-	int (*dcomp) __P((const void *, const void *)))
+	int (*select) __P((const struct dirent *)) _AND
+	int (*dcomp) __P((const struct dirent **, const struct dirent **)))
 {
 	register struct dirent *d, *p, **names;
 	register size_t nitems;
@@ -155,7 +155,7 @@
 	}
 	closedir(dirp);
 	if (nitems && dcomp != NULL)
-		qsort(names, nitems, sizeof(struct dirent *), dcomp);
+		qsort(names, nitems, sizeof(struct dirent *), (void *)dcomp);
 	*namelist = names;
 #ifdef HAVE_DD_LOCK
 	__lock_release_recursive(dirp->dd_lock);
diff -u -r1.2 libc-lock.h
--- sys/linux/linuxthreads/bits/libc-lock.h	8 Sep 2005 22:45:50 -0000	1.2
+++ sys/linux/linuxthreads/bits/libc-lock.h	26 Oct 2005 19:30:43 -0000
@@ -287,7 +287,6 @@
 #  pragma weak __pthread_atfork
 #  pragma weak _pthread_cleanup_push_defer
 #  pragma weak _pthread_cleanup_pop_restore
-# endif
 #endif

 /* We need portable names for some functions.  E.g., when they are
diff -u -r1.3 lock.h
--- sys/linux/sys/lock.h	25 Mar 2004 22:20:36 -0000	1.3
+++ sys/linux/sys/lock.h	26 Oct 2005 19:30:43 -0000
@@ -1,7 +1,6 @@
 #ifndef __SYS_LOCK_H__
 #define __SYS_LOCK_H__

-#include <machine/weakalias.h>
 #include <features.h>

#define _LIBC 1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]