| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
|
| |
We already include bits/fcntl.h for some of these defines, and most of
the bits/stat.h defines are unused.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
| |
The interface should be straight forward now and the same for everyone.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
| |
This fixes build errors where common code has started using MAP_FAILED.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://svn.uclibc.org/svn/trunk/uClibc
........
r26038 | kraj | 2009-04-09 01:45:24 -0700 (Thu, 09 Apr 2009) | 2 lines
Fix the ifdef logic broken by last commit for !defined (__mcoldfire__)
........
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://svn.uclibc.org/svn/trunk/uClibc
........
r26033 | kraj | 2009-04-09 00:38:04 -0700 (Thu, 09 Apr 2009) | 13 lines
The attached patches fixes the problems found bringing up uclibc on coldfire
M5485 processor
1. Disable mmap2() if we're compiling for coldfire and fall back to mmap().
It seems to map a different file area on a 2.6.25 linux kernel.
2. Uses pc-relative addresing[1], computes ADDR_ALIGN, PAGE_ALIGN
and OFFSET_ALIGN relatively to _dl_pagesize[3].
On coldfire/M5485 _dl_pagesize is 0x2000.
Signed-off-by: Groleo Marius <groleo@gmail.com>
........
|
| |
|
|
|
|
|
|
| |
Step 1: basically code formatting and minor changes
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
| |
needs to be done, but I would rather wait until after merging with
the other architectures.
|
|
|
|
| |
the new build system. I have probably another 300 and some files to go *sigh*.
|
| |
|
| |
|
| |
|
|
|
|
| |
merged, but they will be done manually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
with __NR_mmap is not available (i.e. only __NR_mmap2)
|
| |
|
|
|
|
| |
till I properly finish the next step in my evil plan.
|
|
|
|
|
| |
to make it easier to treat it specially while not bothering the
rest of the code with the same constraints.
|
|
|