diff options
Diffstat (limited to 'meta/recipes-core/newlib/libgloss')
3 files changed, 107 insertions, 0 deletions
diff --git a/meta/recipes-core/newlib/libgloss/fix-rs6000-crt0.patch b/meta/recipes-core/newlib/libgloss/fix-rs6000-crt0.patch new file mode 100644 index 0000000000..8c29fea8cf --- /dev/null +++ b/meta/recipes-core/newlib/libgloss/fix-rs6000-crt0.patch @@ -0,0 +1,47 @@ +Upstream-Status: Inappropriate [OE-Specific] + +Make install tries to perform install for all variants, but some of them use the same +name for crt0 in specific, so performing all of them results in an error during +do_install, we simply modify the name of the objects so the installation can proceed +and leave it to the user to select which object files to use. + + +01/2023: Rebased for libgloss 4.3.0 + +Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> + + +Index: git/libgloss/rs6000/Makefile.in +=================================================================== +--- git.orig/libgloss/rs6000/Makefile.in ++++ git/libgloss/rs6000/Makefile.in +@@ -362,7 +362,7 @@ install-sim: + + install-mvme: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +- set -e; for x in ${MVME_CRT0} ${MVME_BSP} ${MVME_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ set -e; for x in ${MVME_CRT0} ${MVME_BSP} ${MVME_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/mvme-$$x; done + + install-solaris: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +@@ -374,17 +374,17 @@ install-linux: + + install-yellowknife: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +- set -e; for x in ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ set -e; for x in ${YELLOWKNIFE_CRT0} ${YELLOWKNIFE_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/yellowknife-$$x; done + set -e; for x in ${YELLOWKNIFE_SCRIPTS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + + install-ads: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +- set -e; for x in ${ADS_CRT0} ${ADS_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ set -e; for x in ${ADS_CRT0} ${ADS_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/ads-$$x; done + set -e; for x in ${ADS_SCRIPTS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + + install-mbx: + ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} +- set -e; for x in ${MBX_CRT0} ${MBX_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done ++ set -e; for x in ${MBX_CRT0} ${MBX_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/mbx-$$x; done + set -e; for x in ${MBX_SCRIPTS} ${MBX_SPECS}; do ${INSTALL_DATA} $(srcdir)/$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done + + install-xil: diff --git a/meta/recipes-core/newlib/libgloss/fix_makefile_include_arm_h.patch b/meta/recipes-core/newlib/libgloss/fix_makefile_include_arm_h.patch new file mode 100644 index 0000000000..7645be7314 --- /dev/null +++ b/meta/recipes-core/newlib/libgloss/fix_makefile_include_arm_h.patch @@ -0,0 +1,30 @@ +Upstream-Status: Inappropriate [OE-Specific] + +When trying to build libgloss for an arm target, the build system +complains about missing some include files: + +| fatal error: acle-compiat.h: No such file or directory +| #include "acle-compat.h" +| ^~~~~~~~~~~~~~~ +| compilation terminated. + +These include files come from the newlib source, but since we +are building libgloss separately from newlib, libgloss is unaware +of where they are, this patch fixes the INCLUDES so the build system +can find such files. + +Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> + +Index: newlib-3.0.0/libgloss/config/default.mh +=================================================================== +--- newlib-3.0.0.orig/libgloss/config/default.mh ++++ newlib-3.0.0/libgloss/config/default.mh +@@ -1,7 +1,7 @@ + NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` + NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` + +-INCLUDES = -I. -I$(srcdir)/.. ++INCLUDES = -I. -I$(srcdir)/.. -I$(srcdir)/../newlib/libc/machine/arm + # Note that when building the library, ${MULTILIB} is not the way multilib + # options are passed; they're passed in $(CFLAGS). + CFLAGS_FOR_TARGET = -O2 -g ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} diff --git a/meta/recipes-core/newlib/libgloss/libgloss-build-without-nostdinc.patch b/meta/recipes-core/newlib/libgloss/libgloss-build-without-nostdinc.patch new file mode 100644 index 0000000000..2b66155eea --- /dev/null +++ b/meta/recipes-core/newlib/libgloss/libgloss-build-without-nostdinc.patch @@ -0,0 +1,30 @@ +Upstream-Status: Inappropriate [OE-Specific] + +Since commit e0c0ad82 libgloss started passing the -nostdinc to CC. + +They dont want to build against C library headers that are already in +the system to avoid pollution, however, we purposely build libgloss +against the newly built newlib C library, thats why we keep newlib +and libgloss in separate recipes and create a dependency between them. + +This causes an issue where bitbake stops finding newlib headers while +libgloss is being built. + +Do not pass -nostdinc to CC to maintain current behavior of +TCLIBC=newlib + + +Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> +Index: newlib-3.0.0/libgloss/configure +=================================================================== +--- newlib-3.0.0.orig/libgloss/configure ++++ newlib-3.0.0/libgloss/configure +@@ -5106,7 +5106,7 @@ fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_isystem" >&5 + $as_echo "$libc_cv_compiler_isystem" >&6; } +-CC="$CC -nostdinc $libc_cv_compiler_isystem" ++CC="$CC $libc_cv_compiler_isystem" + + host_makefile_frag_path=$host_makefile_frag + |