OSDN Git Service
Eric Andersen [Thu, 15 Jul 2004 05:54:13 +0000 (05:54 -0000)]
Peter Kjellerstedt at axis.com writes:
Hello,
the attached patch should bring extra/config in line
with the Linux 2.6.7 sources.
The following are the commit messages for the respective
files from the Linux bk-repository:
checklist.c:
* fix menuconfig choice item help display
confdata.c:
* config: choice fix
* kconfig: don't rename target dir when saving config
expr.c, expr.h:
* config: disable debug prints
mconf.c:
* fix menuconfig choice item help display
menu.c:
* Kconfig: use select statements
symbol.c:
* config: choice fix
* Avoid bogus warning about recursive dependencies
* c99 struct initialiser conversions
textbox.c:
* janitor: don't init statics to 0
util.c:
* fix lxdialog behaviour
//Peter
Eric Andersen [Wed, 14 Jul 2004 23:07:46 +0000 (23:07 -0000)]
Sigh. I got things working this morning, then checked stuff in from the wrong
tree. Bad boy, No doughnut.
-Erik
Eric Andersen [Wed, 14 Jul 2004 12:27:03 +0000 (12:27 -0000)]
Based on a patch from Alexandre Oliva, make sure _dl_malloc returns a nicely
aligned pointer that may be aligned up to page_size. Also add _dl_free,
Eric Andersen [Mon, 5 Jul 2004 18:45:50 +0000 (18:45 -0000)]
Update FAQ a bit
Eric Andersen [Sun, 27 Jun 2004 01:16:10 +0000 (01:16 -0000)]
Joakim Tjernlund writes:
Hi yet again :)
in dl-startup.c when performing boot strap relocation the following test
exists to make sure that only "_dl_" symbols are relocated:
/* We only do a partial dynamic linking right now. The user
is not supposed to define any symbols that start with a
'_dl', so we can do this with confidence. */
if (!symname || !_dl_symbol(symname)) {
continue;
}
However on PPC(and the other archs as well I suspect) all symbols are
"_dl_" symbols so the test is never true. The test can be removed and the
whole loop simplified(smaller). This also makes it possible to
simplify elfinterp.c
This remove the scanning of ldso.so relocs, making relocation faster.
I have tested this on PPC and it works well.
Do you think this optimization will work for the other arches as well?
I can't see why not.
Jocke
* Tested on x86, arm, mipsel, and powerpc by Erik and works nicely
-Erik
Eric Andersen [Thu, 24 Jun 2004 07:52:08 +0000 (07:52 -0000)]
Disable support for R_ARM_PC24, just like R_PPC_REL24 these should
only occur when shared libs are not compiled with -fPIC
Eric Andersen [Sun, 20 Jun 2004 11:10:49 +0000 (11:10 -0000)]
Let dl-string.h include dl-sysdep.h, since it has proper include guards
Eric Andersen [Sun, 20 Jun 2004 05:39:04 +0000 (05:39 -0000)]
Whine about R_PPC_REL24 relocations, and tell people to compile
shared libraries with -fPIC
Eric Andersen [Sat, 19 Jun 2004 21:38:41 +0000 (21:38 -0000)]
Joakim Tjernlund writes:
Make old weak symbol handling work, if someone wants to
enable it.
Eric Andersen [Sat, 19 Jun 2004 21:33:04 +0000 (21:33 -0000)]
Joakim Tjernlund writes:
Since MIPS don't have COPY relocs it seems apropiate to define
DL_NO_COPY_RELOCS. This will optimize dl_find_hash somewhat.
Eric Andersen [Sat, 19 Jun 2004 21:32:41 +0000 (21:32 -0000)]
Joakim Tjernlund writes:
Glibc does not use COPY class for SHN_COMMOM in MIPS. Make uClibc ldso
the same.
Eric Andersen [Sat, 19 Jun 2004 19:54:40 +0000 (19:54 -0000)]
Bradley D. LaRonde writes:
dl-string.h references do_rem, but do_rem is a #define in <arch>/dl-sysdep.h
which is not included by dl-sysdep.h. This causes a problem in libdl:
In file included from ../../ldso/include/ldso.h:27, from libdl.c:33:
../../ldso/include/dl-string.h: In function `_dl_simple_ltoa':
../../ldso/include/dl-string.h:216: warning: implicit declaration of
function `do_rem'
Include dl-sysdep.h in dl-string.h before using do_rem.
Eric Andersen [Sat, 19 Jun 2004 06:28:24 +0000 (06:28 -0000)]
note new mailing list posting policy
Eric Andersen [Sat, 12 Jun 2004 08:41:18 +0000 (08:41 -0000)]
Stephen Hemminger from osdl dot org writes:
Rather than copy more code back into the bridge-utilities, how about applying this
change to uClibc? I hate when packages get cluttered for workarounds for other
incompatibilities.
The problem is that SIOCGIFCONF only lists interfaces that have IP addresses, so it
doesn't find the other interfaces that are being used for bridging. It could be fixed
in the kernel to return all interfaces, but then something else might break; and still
it mean a kernel update for the 2.4 users.
The whole use of ifindex in the bridge API is a bad idea. But we probably have to live
with it for compatibility.
Patch against uClibc 0.9.26
Eric Andersen [Sat, 12 Jun 2004 08:38:39 +0000 (08:38 -0000)]
Jakub Bogusz from pld-linux dot org writes:
Hello,
I managed to get ldso (and thus shared linking to uClibc) to work on
sparc (actually sparc64 kernel with 32-bit userspace), at least on
simple "hello world" program (more complex ones not tested).
Some notes on attached patch (against 0.9.26, would require some work
to apply on current CVS - but I tested 0.9.26, not CVS):
- ELF magic cannot be examined by _dl_strncmp so early, probably because of
string constant, like on ppc/mips/sh
(note that early SEND_STDERR still crashes when trying to do _dl_strlen
- I suppose that string constants require relocation; but adding
load_addr didn't help, just ELF header was displayed instead of crash)
- mmap() is syscall6 like on ppc/mips/sh, not old i386 mmap()
- for generic sparc (i.e. not sparcv8/sparcv9) gcc produces .udiv/.urem
calls for unsigned integer / and % operators - so these operations
must be avoided. I copied do_rem definition from arm header.
But / and % are used also in _dl_simple_ltoa() and
_dl_simple_ltoahex(); in ltoahex gcc optimizes it to shifts (but
I think it's safer to use shifts explicitly, not rely on
optimization...).
I changed % in ltoa to do_rem, but as there was no do_div definition,
I changed all "%d" specifiers to "%x" to avoid crashes (this changes
wouldn't be needed if _dl_simple_ltoa() were fixed to not use
division on sparc).
- "#define SOLARIS_COMPATIBLE" in ld_sysdep.h broke ldso on Linux
because of redefining _dl_linux_resolve only in some places (it was
still referenced in INIT_GOT before redefinition). So
_dl_linux_resolve redefinition should be moved before INIT_GOT
definition or removed.
- sparc64 kernel requires mmap() addresses to be aligned to 8192, not
4096, otherwise mmap() call failed
- reloc_entry must be shifted by 10, not 12 (I found similar operation
in glibc sources)
Aside of sparc-specific fixes:
- I moved some _dl_dprintf()s inside if(_dl_debug_*) conditions (to avoid
debugging messages when LD_DEBUG is not defined)
- it seems that there was possible off-by-one in ltoa and ltoahex?
they are called with char[22] as 1st argument, and then '\0' is stored
in local[22] (_before_ p decrementation)... or am I missing something?
If not, fix is included in patch.
Eric Andersen [Sat, 12 Jun 2004 06:12:21 +0000 (06:12 -0000)]
Philip Craig at snapgear dot com writes:
Strlen was counting the last 3 bytes incorrectly for big endian arm.
Eric Andersen [Sat, 12 Jun 2004 05:52:22 +0000 (05:52 -0000)]
Per comments from Bernhard Rosenkraenzer, adjust gcc 3.3.x generated asm
with s/i686.get_pc_thunk.bx/get_pc_thunk_bx/g to make gcc 3.4 happy.
Eric Andersen [Sat, 12 Jun 2004 05:43:09 +0000 (05:43 -0000)]
Oops. Missed a spot.
Eric Andersen [Sun, 6 Jun 2004 08:08:25 +0000 (08:08 -0000)]
scrap the goofy time + getpid() based "randomness" and use
the real thing.
Tobias Anderberg [Mon, 24 May 2004 10:03:59 +0000 (10:03 -0000)]
Removed unused file.
Eric Andersen [Sat, 15 May 2004 08:21:58 +0000 (08:21 -0000)]
Cope when the __NR_get_kernel_syms is undefined (i.e. 2.6.x arm-linux)
Manuel Novoa III [Fri, 14 May 2004 19:49:40 +0000 (19:49 -0000)]
Fix changed link into the mailing list archive.
Eric Andersen [Fri, 14 May 2004 11:12:25 +0000 (11:12 -0000)]
Joakim Tjernlund writes:
Hi Erik
It seems to me that __pthread_once and __pthread_initialize_minimal could be made
WEAKs with no stub. The code in rpc_thread.c and __uClibc_main.c appears to expect this.
Also, __pthread_return_0 __pthread_return_1 and __pthread_return_void can be static, not to
pollute the name space.
Jocke
Eric Andersen [Fri, 14 May 2004 10:59:09 +0000 (10:59 -0000)]
Alexandre Oliva writes:
Here are a number of minor changes to FR-V-specific bits of the uClibc
port:
- I've adjusted the definition of _dl_mmap to cope with the fact that
there will be a definition for an mmap2-only system.
- We don't have COPY relocs, so optimize the copy reloc-related code
away.
- Change the page size to 16KiB, to match the ABI spec, and not a
stale value I'd copied from a linker config file. Oops.
- Fix error handling in clone and vfork; parts of the changes by David
Howells <dhowells@redhat.com>
- Rearrange includes in crtreloc.c.
- Change the API of __syscall_error, to reduce code size.
- Improve __syscall_return in terms of code size, so as to enable
tail-calling of __syscall_error, at least within libc. Ideally,
__syscall_error should be hidden within libc.so, but this didn't
work because of libdl. I haven't looked into why, and figured I'd
leave it visible for now.
- Rename enumerators and macros in sys/ucontext.h to reduce namespace
pollution.
Eric Andersen [Fri, 14 May 2004 10:51:16 +0000 (10:51 -0000)]
__data_start needs to be added to all crt0.S files that don't currently
have it. It is used by the boehm gc, amoung other things.
Eric Andersen [Fri, 14 May 2004 10:39:05 +0000 (10:39 -0000)]
Kill off the now obsolete __libc_vfork symbol
Eric Andersen [Fri, 14 May 2004 10:29:45 +0000 (10:29 -0000)]
Alexandre Oliva writes:
This patch introduces optimized versions of memcpy and memset for
frv.
Eric Andersen [Fri, 14 May 2004 10:26:05 +0000 (10:26 -0000)]
Patch from Alexandre Oliva:
On Mar 20, 2004, Erik Andersen <andersen@codepoet.org> wrote:
> If you supply a FR-V specific link.h header into
> libc/sysdeps/linux/frv/ then you can do the same sortof
> thing that mips does i.e. with sgidefs.h in the headers
> target in libc/sysdeps/linux/mips/Makefile
Thanks, this patch implements your suggestion.
Eric Andersen [Fri, 14 May 2004 10:22:10 +0000 (10:22 -0000)]
Alexandre Oliva writes:
A program that requests __pthread_sig_debug to be blocked will
self-deadlock when it requests a thread to be created, because the
debugger (rda or gdb) will never get the signal, so it won't wake up
the pthread manager as expected.
This patch fixes it.
Eric Andersen [Thu, 13 May 2004 09:23:34 +0000 (09:23 -0000)]
update libdl so it also groks the new _dl_errno
Eric Andersen [Thu, 13 May 2004 05:53:37 +0000 (05:53 -0000)]
Add define for SHM_HUGETLB
Eric Andersen [Thu, 13 May 2004 00:19:47 +0000 (00:19 -0000)]
Bradley D. LaRonde writes:
Oops, this adds the page alignment offset to the mprotected size.
Regards,
Brad
Eric Andersen [Wed, 12 May 2004 23:11:30 +0000 (23:11 -0000)]
Patch from Bradley D. LaRonde:
ld.so mprotect rwx .dyanmic segment for mips DT_DEBUG
Allow writing debug_addr into the .dynamic segment.
Even though the program header is marked RWE, the kernel
gives it to us rx.
Eric Andersen [Wed, 12 May 2004 22:54:59 +0000 (22:54 -0000)]
Add a local '_dl_errno' to be used by syscalls in ldso, allowing
useful syscall failure diagnostics.
Eric Andersen [Tue, 11 May 2004 19:13:26 +0000 (19:13 -0000)]
As noticed by the sharp eyed Joakim Tjernlund, I stupidly
hard coded 4096 instead of PAGE_SIZE. Because I'm an idiot.
Eric Andersen [Tue, 11 May 2004 11:35:10 +0000 (11:35 -0000)]
Setup a _dl_pagesize value for use by staticly linked apps
Eric Andersen [Tue, 11 May 2004 11:14:58 +0000 (11:14 -0000)]
make certain that getpagesize() returns correct the value for mips
by extracting the value from the ELF header.
Eric Andersen [Tue, 11 May 2004 10:45:25 +0000 (10:45 -0000)]
Purge trailing white space
Eric Andersen [Tue, 11 May 2004 07:21:47 +0000 (07:21 -0000)]
Bradley D. LaRonde, brad at laronde dot org writes:
If I change that ELF_RTYPE_CLASS_COPY to ELF_RTYPE_CLASS_PLT to tell
_dl_find_hash to ignore stubs when resolving undefined functions without
stubs, the dlopen tests all pass. dlopen gets a pointer to the libc.so
malloc instead of a pointer to the libpthread malloc stub. Yay! :-)
Tobias Anderberg [Mon, 10 May 2004 12:59:17 +0000 (12:59 -0000)]
Save r0 before modifying it.
Manuel Novoa III [Sat, 8 May 2004 05:20:24 +0000 (05:20 -0000)]
Obligatory forgotten file...
Manuel Novoa III [Sat, 8 May 2004 05:12:14 +0000 (05:12 -0000)]
Change clock() to allow wrapping.
Add timegm() function.
Make lookup_tzname() static (as it should have been).
Have strftime() get timezone information from the passed struct
for the %z and %Z conversions when using struct tm extensions.
Manuel Novoa III [Fri, 7 May 2004 10:53:57 +0000 (10:53 -0000)]
Peter Mazinger asked for this several months ago.
Manuel Novoa III [Fri, 7 May 2004 10:30:59 +0000 (10:30 -0000)]
Patch from Yoshinori Sato <ysato@users.sourceforge.jp>.
Manuel Novoa III [Fri, 7 May 2004 10:22:52 +0000 (10:22 -0000)]
"Fix" this so that at least things will link when threading is disabled.
Also fix the sizeof() issue since the change to a dynamicly allocated buf.
Note! This is still broken wrt threading, but so is the glibc version.
I'm just commiting this for new until I can test my rewrite.
Manuel Novoa III [Fri, 7 May 2004 10:19:14 +0000 (10:19 -0000)]
Fix a couple of issues in configurations I hadn't tested.
Manuel Novoa III [Fri, 7 May 2004 10:00:36 +0000 (10:00 -0000)]
Add missing include.
Eric Andersen [Fri, 7 May 2004 06:52:18 +0000 (06:52 -0000)]
UCLIBC_COMPLETELY_PIC does nothing, so kill it
Eric Andersen [Fri, 7 May 2004 05:26:31 +0000 (05:26 -0000)]
Change the global 'buf' to 'servbuf' since some functions in here use
a local named 'buf' and we want to avoid shadowing that.
Eric Andersen [Thu, 6 May 2004 09:16:11 +0000 (09:16 -0000)]
Alexandre Oliva writes:
The vfork() wrapper defined in libpthread, that's used to run
pthread_atfork()-registered handlers, is not only a very bad idea,
it's broken and useless. Here's the rationale:
[---------snip----------]
Since the implementation as it stands is broken (linking a program
that vfork()s and exec()s on the child and wait()s on the parent works
unless you happen to link with libpthread), and I can't think of
any workable solution, I suggest that we simply remove the vfork()
overrider in the non-MMU case. Yes, we might lose some small amount
of functionality here, but it's not like people running uClinux expect
anything resembling actual fork() to work.
Eric Andersen [Wed, 5 May 2004 06:56:30 +0000 (06:56 -0000)]
Fix screwed up formatting
Eric Andersen [Wed, 5 May 2004 06:56:03 +0000 (06:56 -0000)]
Jeroen Dobbelaere writes:
Because variables are linked to fixed registers, there is a problem in :
(*__errno_location())=(-_r0);
As __errno_location() uses r0 to return the address of the errno location,
the negated address will be assigned instead of the error code.
Attached patch will resolve this.
Eric Andersen [Fri, 30 Apr 2004 22:59:38 +0000 (22:59 -0000)]
Minor .deb updates
Eric Andersen [Fri, 30 Apr 2004 22:20:01 +0000 (22:20 -0000)]
These headers should not be included in uClibc -- they should be
part of the ppp instead.
Eric Andersen [Fri, 23 Apr 2004 21:39:34 +0000 (21:39 -0000)]
It turns out that asm/reg.h is missing from the 2.6.x kernel headers,
which prevents libthread_db (used by gdb) from compiling. Include a
copy within include/sys/user.h for mips, per what was done in glibc.
Eric Andersen [Tue, 20 Apr 2004 18:51:24 +0000 (18:51 -0000)]
blah
Eric Andersen [Tue, 20 Apr 2004 17:15:53 +0000 (17:15 -0000)]
Fix grammar and spelling
Eric Andersen [Tue, 20 Apr 2004 17:09:40 +0000 (17:09 -0000)]
Mention uwoody
Eric Andersen [Tue, 20 Apr 2004 06:33:11 +0000 (06:33 -0000)]
Cope with gcc 3.4's more aggressive persuit of attribute unused
Eric Andersen [Tue, 20 Apr 2004 06:27:59 +0000 (06:27 -0000)]
We don't need these...
Manuel Novoa III [Wed, 14 Apr 2004 16:21:27 +0000 (16:21 -0000)]
Fix typo.
Eric Andersen [Tue, 6 Apr 2004 12:19:22 +0000 (12:19 -0000)]
Fix a bug noticed by Oleg I. Vdovikin, oleg at cs dot msu dot su.
This code in uClibc would attempt to set the default facility if
none was specified. Except none being specified is 0, which is
also LOG_KERN, therefore klogd could never get kernel messages
logged as LOG_KERN.
Eric Andersen [Wed, 24 Mar 2004 22:21:07 +0000 (22:21 -0000)]
glibc does not provide pppio.h, and our doing so conflicts
with the ppp package
Eric Andersen [Fri, 19 Mar 2004 20:53:54 +0000 (20:53 -0000)]
Per patch from Stefan Holst, do not try to compile these
syscalls if they are not supported.
Eric Andersen [Fri, 19 Mar 2004 20:38:10 +0000 (20:38 -0000)]
Patch from Stefan Holst to fix argv[0]
Eric Andersen [Fri, 19 Mar 2004 12:03:30 +0000 (12:03 -0000)]
Based on a patch from Alexandre Oliva, allow uClibc to compile
with __NR_mmap is not available (i.e. only __NR_mmap2)
Eric Andersen [Thu, 18 Mar 2004 11:43:18 +0000 (11:43 -0000)]
Alexandre Oliva writes:
This patch arranges for the .so files in say /usr/lib to be soft links
to ../../lib, instead of to /some/arbitrary/pathname/lib. This
enables seamless relocation of a toolchain containing the development
and run time trees in a sys-root.
Eric Andersen [Thu, 18 Mar 2004 11:41:12 +0000 (11:41 -0000)]
Alexandre Oliva writes:
I added this function after I posted the last version of the FR-V
patch. Add syscall.c.
Eric Andersen [Thu, 18 Mar 2004 11:38:02 +0000 (11:38 -0000)]
Supply '__bzero' with 'bzero' as just a weak alias (since it is not SuSv3)
Eric Andersen [Thu, 18 Mar 2004 11:28:51 +0000 (11:28 -0000)]
Based on a patch from Alexandre Oliva, remove all reference to 'bzero' (which
is not a SuSv3 symbol). Rather than using __bzero internally per Alexandre's
original patch, use memset instead.
Eric Andersen [Thu, 18 Mar 2004 11:17:14 +0000 (11:17 -0000)]
Look in /usr/X11R6/lib as well
Eric Andersen [Thu, 18 Mar 2004 11:12:34 +0000 (11:12 -0000)]
Reduce memory used by static buffers and allocate that memory dynamicly
instead. Based on an initial patch from Tobias Anderberg, but reworked. I
asked Tobias to look into doing something more like what is done in busybox,
but that proved to be a pain.
One possible concern is that these buffers will probably show up as
memory leaks i.e. with valgrind. Perhaps we should add in an atexit
call to free this memory right after we allocate it?
Eric Andersen [Thu, 18 Mar 2004 08:00:40 +0000 (08:00 -0000)]
Joakim Tjernlund writes:
Hi
I just noticed that gcc has an "b"(Address base register) operand that
will match all "r" registers but r0. It is a better fix then adding
r0 to the clobber list.
What do you think?
Eric Andersen [Fri, 12 Mar 2004 00:21:20 +0000 (00:21 -0000)]
Cope gracefully with missing module syscalls
Manuel Novoa III [Thu, 11 Mar 2004 10:10:53 +0000 (10:10 -0000)]
Rewrite the err/warn functions as they were broken (__noreturn__ funcs
were returning). Anyway, also make them threadsafe and smaller. The
error.c file still needs work.
Manuel Novoa III [Wed, 10 Mar 2004 20:43:23 +0000 (20:43 -0000)]
Bug fix: gethostbyname2_r would fail if /etc/host was missing.
Bug fix: gethostbyname_r checked errno without first setting it to a
known value.
Eric Andersen [Tue, 9 Mar 2004 22:33:56 +0000 (22:33 -0000)]
More detail about malloc-simple
Eric Andersen [Tue, 9 Mar 2004 21:57:12 +0000 (21:57 -0000)]
Update todo list indicating the items remaining before 0.9.27
Eric Andersen [Mon, 8 Mar 2004 20:57:21 +0000 (20:57 -0000)]
Fix comment
Eric Andersen [Sat, 6 Mar 2004 19:44:35 +0000 (19:44 -0000)]
Update with the contents of a very helpful comparison of
interfaces vs SuSv3 from heukelum at freemail dot nl
Eric Andersen [Sat, 6 Mar 2004 00:18:08 +0000 (00:18 -0000)]
note that syscall on mips needs to be fixed
Eric Andersen [Fri, 20 Feb 2004 03:37:58 +0000 (03:37 -0000)]
Sigh. I switched the values...
Eric Andersen [Fri, 20 Feb 2004 03:09:45 +0000 (03:09 -0000)]
Per discussion with Joakim Tjernlund, all the horrible weak declarations junk
in libdl pointing to the local 'foobar' function is garbage. This cleans all
that up and makes the code much less horrible. Now it is only really really
ugly (which is a marked improvement),
Eric Andersen [Fri, 20 Feb 2004 03:05:35 +0000 (03:05 -0000)]
Patch from Joakim Tjernlund:
white space cleanup and optimize the inner loop in dl_find_hash.
Eric Andersen [Fri, 20 Feb 2004 02:59:42 +0000 (02:59 -0000)]
___brk_addr and __environ are not functions. Finding the broken
lookup on 'atexit' got me excited and I started fixing the same
problem elsewhere. Except these were correct as-was, and were
not a problem....
Eric Andersen [Fri, 20 Feb 2004 02:40:15 +0000 (02:40 -0000)]
Slightly cleaner formatting
Manuel Novoa III [Fri, 20 Feb 2004 02:36:23 +0000 (02:36 -0000)]
Patch by Joakim Tjernlund <joakim.tjernlund@lumentis.se>, which got
mips mostly working. From there, I tracked the bash failure to a
bad _dl_atexit address and Erik took it from there.
Eric Andersen [Fri, 20 Feb 2004 02:32:06 +0000 (02:32 -0000)]
When doing symbol lookups on functions
Eric Andersen [Thu, 19 Feb 2004 03:36:31 +0000 (03:36 -0000)]
Update the x86 processor listing a bit, to preempt further questions
about the best settings the AMD Elan and the VIA Nehemiah.
Eric Andersen [Wed, 18 Feb 2004 08:18:34 +0000 (08:18 -0000)]
Fixup naming of '_mmap' to 'mmap' so it will properly override
the symbol in common.
Eric Andersen [Wed, 18 Feb 2004 08:12:30 +0000 (08:12 -0000)]
Minor change to better match recent changes to other arches
Eric Andersen [Wed, 18 Feb 2004 08:04:51 +0000 (08:04 -0000)]
Alexandre Oliva writes:
This patch adds code to uClibc to support a new ABI designed for the
FR-V architecture, that enables text segments of executables and
shared libraries to be shared by multiple processes on an OS such as
uClinux, that can run on FR-V processors without an MMU.
Patches for binutils and GCC have just been posted in the
corresponding mailing lists. The binutils patch was approved,
but there's one additional patch pending review, that I posted
this week. An updated GCC patch will be posted to
gcc-patches@gcc.gnu.org as soon as I complete testing (I used a
known-good compiler to test the uClibc patch below).
Since the existing dynamic loader code didn't support independent
relocation of segments, it required changes that were somewhat
extensive. I've added a number of new machine-specific macros to try
to keep the platform and ABI-specific details outside the generic
code. I hope this is not a problem.
Eric Andersen [Wed, 18 Feb 2004 01:15:34 +0000 (01:15 -0000)]
Alexandre Oliva writes:
While testing the FR-V code with GCC mainline, I ran into some
problems in the RPC code. It relies on a GCC extension that is no
longer available, namely, the result of a cast is no longer considered
an lvalue.
This patch enables the code to compile. I haven't been able to test
RPC though, especially in a multi-threaded environment.
Eric Andersen [Tue, 17 Feb 2004 11:25:03 +0000 (11:25 -0000)]
Fixup support for gcc 2.95
Eric Andersen [Tue, 17 Feb 2004 10:55:59 +0000 (10:55 -0000)]
Seperate out the startup stuff from the non-startup stuff.
Begin converting some big ugly macros to inline functions
instead
Eric Andersen [Tue, 17 Feb 2004 10:49:01 +0000 (10:49 -0000)]
Fixup fdatasync on alpha, thanks to Alan Hourihane
Manuel Novoa III [Tue, 17 Feb 2004 10:40:47 +0000 (10:40 -0000)]
Sigh... Fall back to alloca() if munmap is broken (uClinux).
Eric Andersen [Tue, 17 Feb 2004 07:33:12 +0000 (07:33 -0000)]
Kill off an arm specific hack, that fostered three other arch specific
hacks. Just check for the elf magic string one byte at a time....
Eric Andersen [Tue, 17 Feb 2004 07:02:08 +0000 (07:02 -0000)]
When doing _dl_mmap to obtain a bit of anonymous memory, use a much more
sensible -1 fd, rather than pretending to work off of fd 0, which makes
absolutely no sense.
Eric Andersen [Tue, 17 Feb 2004 06:38:01 +0000 (06:38 -0000)]
Do not duplicate stuff from ldso.h