[oe-commits] unknown uclibc: massively improve avr32 support, courtesy Stelios Koroneos
koen commit
openembedded-commits at lists.openembedded.org
Wed Jan 23 17:57:32 UTC 2008
uclibc: massively improve avr32 support, courtesy Stelios Koroneos
Author: koen at openembedded.org
Branch: unknown
Revision: ee4179d032fb6c604a2976b0827b7fd1e690f877
ViewMTN: http://monotone.openembedded.org/revision/info/ee4179d032fb6c604a2976b0827b7fd1e690f877
Files:
1
packages/uclibc/uclibc
packages/uclibc/uclibc-0.9.28/avr32/avr32-arch-2.patch
packages/uclibc/uclibc-0.9.28/avr32/avr32-linkrelax-option.patch
packages/uclibc/uclibc-0.9.28/avr32/avr32-string-ops.patch
packages/uclibc/uclibc-0.9.28/avr32/fix-__libc_fcntl64-varargs-prototype.patch
packages/uclibc/uclibc-0.9.28/avr32/fix-broken-__libc_open-declaration.patch
packages/uclibc/uclibc-0.9.28/avr32/fix-getrusage-argument-type.patch
packages/uclibc/uclibc-0.9.28/avr32/ldd-avr32-support.patch
packages/uclibc/uclibc-0.9.28/avr32/ldso-always-inline-_dl_memcpy.patch
packages/uclibc/uclibc-0.9.28/avr32/ldso-always-inline-syscalls.patch
packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-2.patch
packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-needs-CONSTANT_STRING_GOT_FIXUP.patch
packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-startup-hack.patch
packages/uclibc/uclibc-0.9.28/avr32/let-optimized-stringops-override-default-ones.patch
packages/uclibc/uclibc-0.9.28/avr32/libpthread-avr32.patch
packages/uclibc/uclibc-0.9.28/avr32/no-create_module-on-avr32.patch
packages/uclibc/uclibc-0.9.28/avr32/remove-bogus-version-hack-and-just-use-asm-generic-if-it-exists.patch
packages/uclibc/uclibc-0.9.28/avr32/sync-fcntl-h-with-linux-kernel.patch
packages/uclibc/uclibc-0.9.28/avr32/uClibc-0.9.28-avr32-20060621.patch
packages/uclibc/uclibc-0.9.28/avr32/uClibc-0.9.28-avr32-20061019.patch
packages/uclibc/uclibc-0.9.28/avr32/uclibc-avr32-kernheaders.spec
packages/uclibc/uclibc-0.9.28/avr32/uclibc-avr32-no-msoft-float.patch
packages/uclibc/uclibc-0.9.28/avr32/uclibc-makefile.patch
packages/uclibc/uclibc-0.9.28/avr32/uClibc.config
packages/uclibc/uclibc.inc
packages/uclibc/uclibc_0.9.28.bb
Diffs:
#
# mt diff -rbcbcd3dbc13dded1680b2ed90f51f44cb4557b95 -ree4179d032fb6c604a2976b0827b7fd1e690f877
#
#
#
# add_dir "packages/uclibc/uclibc"
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/avr32-arch-2.patch"
# content [b73c6cf87001866b8542a5ff6a93f3e02dfa9f65]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/avr32-linkrelax-option.patch"
# content [2f9264ccf8ef44743af6ca3a1cdf27fc8fcd8241]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/avr32-string-ops.patch"
# content [5fae94e40475f1af5df5db9c99c380120e74991f]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/fix-__libc_fcntl64-varargs-prototype.patch"
# content [348b1b66d21fb8705eb10d07397ddf7ee197d6f8]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/fix-broken-__libc_open-declaration.patch"
# content [c0d513a699f6dabf8883a606b9588a3a42a7fdc1]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/fix-getrusage-argument-type.patch"
# content [53ad30522dbdedd301e5e668dce88784a48f1fcb]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldd-avr32-support.patch"
# content [9fc4c962838e8d3f57a76d57a6aa53ffea7b8117]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldso-always-inline-_dl_memcpy.patch"
# content [eac0ec00999e5a7a5e920a40d324aac6c68d1e25]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldso-always-inline-syscalls.patch"
# content [fe593d5cb24e4b3eee2a0c3df5f9bc02d0b883d9]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-2.patch"
# content [ff5efe89fa84688ac27ab77f153319139a94fb14]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-needs-CONSTANT_STRING_GOT_FIXUP.patch"
# content [11ed5b646cd9cf0615f2cecd322b074b9db85a1a]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/ldso-avr32-startup-hack.patch"
# content [325126d2b43b63e9ee725bbedbc46ff8d8e77d11]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/let-optimized-stringops-override-default-ones.patch"
# content [6597d08ccac6918a89d4773965b1661ecd34bfa1]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/libpthread-avr32.patch"
# content [92d2944519d9f1ed5ce260915cf28125ff11f4da]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/no-create_module-on-avr32.patch"
# content [168d60ba5a6b3bb1ccb2177c96ad989b17ff2411]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/remove-bogus-version-hack-and-just-use-asm-generic-if-it-exists.patch"
# content [0130cb3b4de94ad8d5e77e7d8370e328ef1b860c]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/sync-fcntl-h-with-linux-kernel.patch"
# content [7b07e130f84249d89904bf90c0a2d115ea3db9bb]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/uClibc-0.9.28-avr32-20060621.patch"
# content [b27c31c62fb9a336a75f0335e756d8da9d0a2ab9]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/uClibc-0.9.28-avr32-20061019.patch"
# content [8759b7aca85c81ded55e481664858fa881a2df33]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/uclibc-avr32-kernheaders.spec"
# content [289626028b36f7ce5d33e4d390d0e7bc67901ff6]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/uclibc-avr32-no-msoft-float.patch"
# content [215ea42a1ebd9596871f92ecca80a355306a6433]
#
# add_file "packages/uclibc/uclibc-0.9.28/avr32/uclibc-makefile.patch"
# content [2c19928703ea11c46e0b7d1fbb7f98a1b9a3b9d2]
#
# patch "packages/uclibc/uclibc-0.9.28/avr32/uClibc.config"
# from [f76ae1e1cbdb4ed9932ae16cacf8ba2bd5f7fa91]
# to [a866c194a76ffe6135a356b098bc02b35f76182a]
#
# patch "packages/uclibc/uclibc.inc"
# from [8e5578d208eaebc7f9cec32d1f12aa26433b0678]
# to [2a671d5a7973662e2f58ebb6c13dfda229eca76a]
#
# patch "packages/uclibc/uclibc_0.9.28.bb"
# from [49cbae94a945618f51290994796d0ef210187c80]
# to [b04a09d0bf752830bae4c350abe0c396ea34005f]
#
============================================================
--- packages/uclibc/uclibc-0.9.28/avr32/avr32-arch-2.patch b73c6cf87001866b8542a5ff6a93f3e02dfa9f65
+++ packages/uclibc/uclibc-0.9.28/avr32/avr32-arch-2.patch b73c6cf87001866b8542a5ff6a93f3e02dfa9f65
@@ -0,0 +1,2135 @@
+Subject: [PATCH] AVR32 Architecture support
+
+Add support for the AVR32 architecture in the core libc and build system.
+This also adds AVR32-ELF definitions to elf.h
+
+---
+
+ Rules.mak | 4
+ extra/Configs/Config.avr32 | 38 +++++
+ extra/Configs/Config.in | 7 +
+ include/elf.h | 51 +++++++
+ libc/sysdeps/linux/avr32/Makefile | 93 +++++++++++++
+ libc/sysdeps/linux/avr32/__longjmp.S | 17 ++
+ libc/sysdeps/linux/avr32/_mmap.c | 33 ++++
+ libc/sysdeps/linux/avr32/bits/atomicity.h | 86 ++++++++++++
+ libc/sysdeps/linux/avr32/bits/byteswap.h | 80 +++++++++++
+ libc/sysdeps/linux/avr32/bits/endian.h | 7 +
+ libc/sysdeps/linux/avr32/bits/fcntl.h | 167 +++++++++++++++++++++++++
+ libc/sysdeps/linux/avr32/bits/kernel_stat.h | 63 +++++++++
+ libc/sysdeps/linux/avr32/bits/kernel_types.h | 56 ++++++++
+ libc/sysdeps/linux/avr32/bits/machine-gmon.h | 69 ++++++++++
+ libc/sysdeps/linux/avr32/bits/mman.h | 95 ++++++++++++++
+ libc/sysdeps/linux/avr32/bits/profil-counter.h | 26 +++
+ libc/sysdeps/linux/avr32/bits/setjmp.h | 21 +++
+ libc/sysdeps/linux/avr32/bits/syscalls.h | 143 +++++++++++++++++++++
+ libc/sysdeps/linux/avr32/bits/wordsize.h | 1
+ libc/sysdeps/linux/avr32/brk.c | 23 +++
+ libc/sysdeps/linux/avr32/bsd-_setjmp.S | 12 +
+ libc/sysdeps/linux/avr32/bsd-setjmp.S | 12 +
+ libc/sysdeps/linux/avr32/clone.c | 37 +++++
+ libc/sysdeps/linux/avr32/crt1.S | 93 +++++++++++++
+ libc/sysdeps/linux/avr32/crti.S | 17 ++
+ libc/sysdeps/linux/avr32/crtn.S | 14 ++
+ libc/sysdeps/linux/avr32/mmap.c | 31 ++++
+ libc/sysdeps/linux/avr32/setjmp.S | 43 ++++++
+ libc/sysdeps/linux/avr32/sigaction.c | 49 +++++++
+ libc/sysdeps/linux/avr32/sigrestorer.S | 11 +
+ libc/sysdeps/linux/avr32/sys/elf.h | 26 +++
+ libc/sysdeps/linux/avr32/sys/io.h | 48 +++++++
+ libc/sysdeps/linux/avr32/sys/procfs.h | 123 ++++++++++++++++++
+ libc/sysdeps/linux/avr32/sys/ucontext.h | 94 ++++++++++++++
+ libc/sysdeps/linux/avr32/sys/user.h | 46 ++++++
+ libc/sysdeps/linux/avr32/syscall.S | 81 ++++++++++++
+ libc/sysdeps/linux/avr32/vfork.S | 55 ++++++++
+ 37 files changed, 1872 insertions(+)
+
+Index: uClibc-0.9.28/extra/Configs/Config.avr32
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ uClibc-0.9.28/extra/Configs/Config.avr32 2006-05-05 09:27:17.000000000 +0200
+@@ -0,0 +1,38 @@
++#
++# For a description of the syntax of this configuration file,
++# see extra/config/Kconfig-language.txt
++#
++
++config HAVE_ELF
++ bool
++ default y
++
++config TARGET_ARCH
++ default "avr32"
++
++config ARCH_CFLAGS
++ string
++
++config ARCH_LDFLAGS
++ string
++
++config LIBGCC_CFLAGS
++ string
++
++config ARCH_SUPPORTS_BIG_ENDIAN
++ bool
++ default y
++
++config UCLIBC_COMPLETELY_PIC
++ select FORCE_SHAREABLE_TEXT_SEGMENTS
++ bool
++ default y
++
++choice
++ prompt "Target CPU Type"
++ default CONFIG_AP7000
++
++config CONFIG_AP7000
++ bool "AP7000"
++
++endchoice
+Index: uClibc-0.9.28/extra/Configs/Config.in
+===================================================================
+--- uClibc-0.9.28.orig/extra/Configs/Config.in 2006-04-19 12:47:48.000000000 +0200
++++ uClibc-0.9.28/extra/Configs/Config.in 2006-04-19 12:48:33.000000000 +0200
+@@ -16,6 +16,9 @@ config TARGET_alpha
+ config TARGET_arm
+ bool "arm"
+
++config TARGET_avr32
++ bool "avr32"
++
+ config TARGET_bfin
+ bool "bfin"
+
+@@ -83,6 +86,10 @@ if TARGET_arm
+ source "extra/Configs/Config.arm"
+ endif
+
++if TARGET_avr32
++source "extra/Configs/Config.avr32"
++endif
++
+ if TARGET_bfin
+ source "extra/Configs/Config.bfin"
+ endif
+Index: uClibc-0.9.28/include/elf.h
+===================================================================
+--- uClibc-0.9.28.orig/include/elf.h 2006-04-19 12:47:48.000000000 +0200
++++ uClibc-0.9.28/include/elf.h 2006-05-05 09:28:38.000000000 +0200
+@@ -261,6 +261,8 @@ typedef struct
+ #define EM_NIOS32 0xfebb /* Altera Nios 32 */
+ #define EM_ALTERA_NIOS2 0x9ee5 /* Altera Nios II */
+
++#define EM_AVR32 0x18ad
++
+ /* V850 backend magic number. Written in the absense of an ABI. */
+ #define EM_CYGNUS_V850 0x9080
+
+@@ -2687,6 +2689,55 @@ typedef Elf32_Addr Elf32_Conflict;
+ /* Keep this the last entry. */
+ #define R_V850_NUM 25
+
++/* Atmel AVR32 relocations. */
++#define R_AVR32_NONE 0
++#define R_AVR32_32 1
++#define R_AVR32_16 2
++#define R_AVR32_8 3
++#define R_AVR32_32_PCREL 4
++#define R_AVR32_16_PCREL 5
++#define R_AVR32_8_PCREL 6
++#define R_AVR32_DIFF32 7
++#define R_AVR32_DIFF16 8
++#define R_AVR32_DIFF8 9
++#define R_AVR32_GOT32 10
++#define R_AVR32_GOT16 11
++#define R_AVR32_GOT8 12
++#define R_AVR32_21S 13
++#define R_AVR32_16U 14
++#define R_AVR32_16S 15
++#define R_AVR32_8S 16
++#define R_AVR32_8S_EXT 17
++#define R_AVR32_22H_PCREL 18
++#define R_AVR32_18W_PCREL 19
++#define R_AVR32_16B_PCREL 20
++#define R_AVR32_16N_PCREL 21
++#define R_AVR32_14UW_PCREL 22
++#define R_AVR32_11H_PCREL 23
++#define R_AVR32_10UW_PCREL 24
++#define R_AVR32_9H_PCREL 25
++#define R_AVR32_9UW_PCREL 26
++#define R_AVR32_HI16 27
++#define R_AVR32_LO16 28
++#define R_AVR32_GOTPC 29
++#define R_AVR32_GOTCALL 30
++#define R_AVR32_LDA_GOT 31
++#define R_AVR32_GOT21S 32
++#define R_AVR32_GOT18SW 33
++#define R_AVR32_GOT16S 34
++#define R_AVR32_GOT7UW 35
++#define R_AVR32_32_CPENT 36
++#define R_AVR32_CPCALL 37
++#define R_AVR32_16_CP 38
++#define R_AVR32_9W_CP 39
++#define R_AVR32_RELATIVE 40
++#define R_AVR32_GLOB_DAT 41
++#define R_AVR32_JMP_SLOT 42
++#define R_AVR32_ALIGN 43
++#define R_AVR32_NUM 44
++
++/* AVR32 dynamic tags */
++#define DT_AVR32_GOTSZ 0x70000001 /* Total size of GOT in bytes */
+
+ #define R_H8_NONE 0
+ #define R_H8_DIR32 1
+Index: uClibc-0.9.28/libc/sysdeps/linux/avr32/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ uClibc-0.9.28/libc/sysdeps/linux/avr32/Makefile 2006-04-19 12:48:33.000000000 +0200
+@@ -0,0 +1,93 @@
++# Makefile for uClibc
++#
++# Copyright (C) 2000-2003 Erik Andersen <andersen at uclibc.org>
++#
++# This program is free software; you can redistribute it and/or modify it under
++# the terms of the GNU Library General Public License as published by the Free
++# Software Foundation; either version 2 of the License, or (at your option) any
++# later version.
++#
++# This program is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
++# details.
++#
++# You should have received a copy of the GNU Library General Public License
++# along with this program; if not, write to the Free Software Foundation, Inc.,
++# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++TOPDIR=../../../../
++include $(TOPDIR)Rules.mak
++ASFLAGS=$(CFLAGS)
++
++CRT_SRC = crt1.S
++CRT_OBJ = crt1.o
++SCRT_OBJ = $(patsubst %,S%, $(CRT_OBJ))
++CTOR_TARGETS=$(TOPDIR)lib/crti.o $(TOPDIR)lib/crtn.o
++
++SSRC=__longjmp.S setjmp.S bsd-setjmp.S vfork.S \
++ bsd-_setjmp.S sigrestorer.S syscall.S
++SOBJS=$(patsubst %.S,%.o, $(SSRC))
++
++CSRC=clone.c brk.c sigaction.c mmap.c
++COBJS=$(patsubst %.c,%.o, $(CSRC))
++
++OBJS=$(SOBJS) $(COBJS)
++
++OBJ_LIST=../../../obj.sysdeps.$(TARGET_ARCH)
++
++all: $(OBJ_LIST)
++
++$(OBJ_LIST): $(OBJS) $(CRT_OBJ) $(SCRT_OBJ) $(CTOR_TARGETS)
++ echo $(patsubst %, sysdeps/linux/$(TARGET_ARCH)/%, $(OBJS)) > $(OBJ_LIST)
++ $(INSTALL) -d $(TOPDIR)lib/
++ cp $(CRT_OBJ) $(SCRT_OBJ) $(TOPDIR)lib/
++
++$(CRT_OBJ): $(CRT_SRC)
++ $(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
++ $(STRIPTOOL) -x -R .note -R .comment $*.o
++
++$(SCRT_OBJ): $(CRT_SRC)
++ $(CC) $(ASFLAGS) $(PIEFLAG) -DL_$* $< -c -o $*.o
++ $(STRIPTOOL) -x -R .note -R .comment $*.o
++
++$(SOBJS): %.o : %.S
++ $(CC) $(ASFLAGS) -c $< -o $@
++ $(STRIPTOOL) -x -R .note -R .comment $*.o
++
++$(COBJS): %.o : %.c
++ $(CC) $(CFLAGS) -c $< -o $@
++ $(STRIPTOOL) -x -R .note -R .comment $*.o
++
++ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
++crti.o: crti.S
++ $(CC) $(ASFLAGS) -c crti.S -o crti.o
++
++$(TOPDIR)lib/crti.o: crti.o
++ $(INSTALL) -d $(TOPDIR)lib/
++ cp crti.o $(TOPDIR)lib/
++
++crtn.o: crtn.S
++ $(CC) $(ASFLAGS) -c crtn.S -o crtn.o
++
++$(TOPDIR)lib/crtn.o: crtn.o
++ $(INSTALL) -d $(TOPDIR)lib/
++ cp crtn.o $(TOPDIR)lib/
++else
++$(TOPDIR)lib/crti.o:
++ $(INSTALL) -d $(TOPDIR)lib/
++ $(AR) $(ARFLAGS) $(TOPDIR)lib/crti.o
++$(TOPDIR)lib/crtn.o:
++ $(INSTALL) -d $(TOPDIR)lib/
++ $(AR) $(ARFLAGS) $(TOPDIR)lib/crtn.o
++endif
++
++
++headers:
++# $(LN) -fs ../libc/sysdeps/linux/avr32/fpu_control.h $(TOPDIR)/include/
++
++clean:
++ $(RM) *.[oa] *~ core
++ $(RM) bits/sysnum.h
++ $(RM) gmon-start.S
++
+Index: uClibc-0.9.28/libc/sysdeps/linux/avr32/__longjmp.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ uClibc-0.9.28/libc/sysdeps/linux/avr32/__longjmp.S 2006-04-19 12:48:33.000000000 +0200
+@@ -0,0 +1,17 @@
++/* longjmp for AVR32
++ *
++ * Copyright (C) 2004 Atmel Norway AS
++ */
++
++ .global __longjmp
++ .type __longjmp,"function"
++ .align 1
++__longjmp:
++ ldm r12++, r0,r1,r2,r3,r4,r5,r6,r7,r8,sp,lr
++ mov r12, r11 /* get the return value right */
++ mustr r8 /* restore status register (lower half) */
++ cp r12, 0 /* can't return zero */
++ frs
++ moveq r12, 1
++ mov pc,lr
++ .size __longjmp, . - __longjmp
+Index: uClibc-0.9.28/libc/sysdeps/linux/avr32/_mmap.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ uClibc-0.9.28/libc/sysdeps/linux/avr32/_mmap.c 2006-04-19 12:48:33.000000000 +0200
+@@ -0,0 +1,33 @@
++/* Copyright (C) 2005 Atmel Norway
++
++ This program is free software; you can redistribute it and/or modify it under
++ the terms of the GNU Library General Public License as published by the Free
++ Software Foundation; either version 2 of the License, or (at your option) any
++ later version.
++
++ This program is distributed in the hope that it will be useful, but WITHOUT
++ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++ FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
++ details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this program; if not, write to the Free Software Foundation, Inc.,
++ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++ Derived in part from the Linux-8086 C library, the GNU C Library, and several
++ other sundry sources. Files within this library are copyright by their
++ respective copyright holders.
++ */
++
++#include <errno.h>
++#include <sys/mman.h>
++#include <sys/syscall.h>
++
++#define __NR_mmap2 __NR_mmap
++
++static _syscall6(__ptr_t, mmap2, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, pgoff);
++
++__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset)
++{
++ return mmap2(addr, len, prot, flags, fd, offset >> 12);
++}
+Index: uClibc-0.9.28/libc/sysdeps/linux/avr32/bits/atomicity.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ uClibc-0.9.28/libc/sysdeps/linux/avr32/bits/atomicity.h 2006-04-19 12:48:33.000000000 +0200
+@@ -0,0 +1,86 @@
++/* Low-level functions for atomic operations. AVR32 version.
++ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY o%s
>>> DIFF TRUNCATED @ 16K
More information about the Openembedded-commits
mailing list