This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

[PATCH 0/4] Nios II port submission


Hi, this series of patches contain the glibc port for Altera Nios II.
This is a 32-bit target using linux-generic. I would like this port to
be included in the glibc 2.20 release. I will volunteer to be port
maintainer.

A few notes:

(1) The configure bits still refer to Linux version 3.8 as the minimum
version, which is planned to be updated when Altera successfully gets
their kernel port upstream (presumed to be within the 3.15 cycle, the
comments already reflect this).

(2) Everything is under sysdeps/ directly. This should be the first one
after ports have been (mostly) eliminated.

The port has been cross-tested on an Altera Cyclone 3C120 board running
a development Linux kernel, and a buildroot based filesystem. Apart from
some known timeouts due to long running times, the port should be in
fairly good shape.

As the Nios II switch to linux-generic is happening with the current
upstreaming of the glibc/kernel, it means that the entire ABI is new and
binary incompatible with nios2-linux toolchains that were available in
the past.  It also means that any glibc/kernel interface issue that can
be improved/needs fixing can still have room for change. If any
reviewers find any such things please inform; we might still be in the
position to change it before any actual releases.

Reading the archives from during the aarch64 submission, it appears that
there was a bit disagreement on whether new port patches should be split
or whole big patches. I have attached relatively large patches here,
simply due to ease of creation. If any reviewer wishes for smaller
pieces, I'll be happy to re-create them.

Thanks,
Chung-Lin

Here's the whole ChangeLog. I'll attach also specific ChangeLog portions
in the later mails.

2014-03-28  Chung-Lin Tang  <cltang@codesourcery.com>
            Sandra Loosemore  <sandra@codesourcery.com>
            Based on patches from Altera Corporation

        * elf/dynamic-link.h (RTLD_UDIV): New macro.
        (elf_machine_lazy_rel): Change divide operation to use RTLD_UDIV.
        * elf/elf.h (EM_ALTERA_NIOS2): New machine number for Altera
Nios II.
        (DT_NIOS2_GP): New dynamic entry type for Nios II _gp address.
        (R_NIOS2_*): Define Nios II relocations.
        * sysdeps/nios2/Implies: New file.
        * sysdeps/nios2/Makefile: New file.
        * sysdeps/nios2/Subdirs: New file.
        * sysdeps/nios2/Versions: New file.
        * sysdeps/nios2/__longjmp.S: New file.
        * sysdeps/nios2/abort-instr.h: New file.
        * sysdeps/nios2/backtrace.c: New file.
        * sysdeps/nios2/bsd-_setjmp.S: New file.
        * sysdeps/nios2/bsd-setjmp.S: New file.
        * sysdeps/nios2/configure.ac: New file.
        * sysdeps/nios2/crti.S: New file.
        * sysdeps/nios2/crtn.S: New file.
        * sysdeps/nios2/dl-init.c: New file.
        * sysdeps/nios2/dl-machine.h: New file.
        * sysdeps/nios2/dl-sysdep.h: New file.
        * sysdeps/nios2/dl-tls.h: New file.
        * sysdeps/nios2/dl-trampoline.S: New file.
        * sysdeps/nios2/gccframe.h: New file.
        * sysdeps/nios2/gmp-mparam.h: New file.
        * sysdeps/nios2/jmpbuf-offsets.h: New file.
        * sysdeps/nios2/jmpbuf-unwind.h: New file.
        * sysdeps/nios2/ldsodefs.h: New file.
        * sysdeps/nios2/libc-tls.c: New file.
        * sysdeps/nios2/libm-test-ulps: New file.
        * sysdeps/nios2/machine-gmon.h: New file.
        * sysdeps/nios2/math-tests.h: New file.
        * sysdeps/nios2/memusage.h: New file.
        * sysdeps/nios2/preconfigure: New file.
        * sysdeps/nios2/s_fma.c: New file.
        * sysdeps/nios2/s_fmaf.c: New file.
        * sysdeps/nios2/setjmp.S: New file.
        * sysdeps/nios2/shlib-versions: New file.
        * sysdeps/nios2/sotruss-lib.c: New file.
        * sysdeps/nios2/stackguard-macros.h: New file.
        * sysdeps/nios2/stackinfo.h: New file.
        * sysdeps/nios2/start.S: New file.
        * sysdeps/nios2/sysdep.h: New file.
        * sysdeps/nios2/tls-macros.h: New file.
        * sysdeps/nios2/tst-audit.h: New file.
        * sysdeps/nios2/bits/endian.h: New file.
        * sysdeps/nios2/bits/fenv.h: New file.
        * sysdeps/nios2/bits/link.h: New file.
        * sysdeps/nios2/bits/setjmp.h: New file.
        * sysdeps/nios2/nptl/pthread_spin_lock.c: New file.
        * sysdeps/nios2/nptl/pthread_spin_trylock.c: New file.
        * sysdeps/nios2/nptl/pthreaddef.h: New file.
        * sysdeps/nios2/nptl/tcb-offsets.sym: New file.
        * sysdeps/nios2/nptl/tls.h: New file.
        * sysdeps/nios2/soft-fp/sfp-machine.h: New file.
        * sysdeps/unix/sysv/linux/nios2/Implies: New file.
        * sysdeps/unix/sysv/linux/nios2/Makefile: New file.
        * sysdeps/unix/sysv/linux/nios2/Versions: New file.
        * sysdeps/unix/sysv/linux/nios2/cacheflush.c: New file.
        * sysdeps/unix/sysv/linux/nios2/clone.S: New file.
        * sysdeps/unix/sysv/linux/nios2/configure: New file.
        * sysdeps/unix/sysv/linux/nios2/configure.in: New file.
        * sysdeps/unix/sysv/linux/nios2/getcontext.S: New file.
        * sysdeps/unix/sysv/linux/nios2/makecontext.c: New file.
        * sysdeps/unix/sysv/linux/nios2/setcontext.S: New file.
        * sysdeps/unix/sysv/linux/nios2/swapcontext.S: New file.
        * sysdeps/unix/sysv/linux/nios2/profil-counter.h: New file.
        * sysdeps/unix/sysv/linux/nios2/sigcontextinfo.h: New file.
        * sysdeps/unix/sysv/linux/nios2/kernel-features.h: New file.
        * sysdeps/unix/sysv/linux/nios2/kernel_rt_sigframe.h: New file.
        * sysdeps/unix/sysv/linux/nios2/syscall.S: New file.
        * sysdeps/unix/sysv/linux/nios2/sysdep.S: New file.
        * sysdeps/unix/sysv/linux/nios2/sysdep.h: New file.
        * sysdeps/unix/sysv/linux/nios2/ucontext_i.sym: New file.
        * sysdeps/unix/sysv/linux/nios2/bits/atomic.h: New file.
        * sysdeps/unix/sysv/linux/nios2/bits/mman.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/bits/pthreadtypes.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/bits/semaphore.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/clone.S: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/createthread.c: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/fork.c: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/lowlevellock.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/pt-vfork.S: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/pthread_once.c: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/sysdep-cancel.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/vfork.S: New file.
        * sysdeps/unix/sysv/linux/nios2/sys/cachectl.h: New file.
        * sysdeps/unix/sysv/linux/nios2/sys/procfs.h: New file.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: New file.
        * sysdeps/unix/sysv/linux/nios2/sys/user.h: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/c++-types.data: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/ld.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libBrokenLocale.abilist:
New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libanl.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libc.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libcrypt.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libdl.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libm.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libnsl.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libpthread.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libresolv.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/librt.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libthread_db.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/libutil.abilist: New file.
        * sysdeps/unix/sysv/linux/nios2/nptl/localplt.data: New file.


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