summaryrefslogtreecommitdiff
path: root/scripts/build/libc/glibc-eglibc.sh-common
AgeCommit message (Collapse)AuthorFilesLines
2015-01-28eglibc: Remove eglibc supportBryan Hundven1-540/+0
As posted on http://www.eglibc.org/ ==================== EGLIBC is no longer developed and such goals are now being addressed directly in GLIBC. ==================== I'm not interested in maintaining build support for unsupported software. Older branches of crosstool-ng continue to have eglibc support. If you find issues with older branches, I'm always open to pull requests. Removing eglibc also frees up glibc cleanup and build optimization. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-16Merge pull request #14 from davidholsgrove/glibc_rpcBryan Hundven1-2/+3
libc/glibc: install obsolete RPC for both eglibc and glibc
2014-12-15libc/glibc: install obsolete RPC for both eglibc and glibcJérôme BARDON1-2/+3
Currently, the obsolete RPC headers are only installed for eglibc, but glibc has the same /deficiency/, so install the obsolete RPC for both. Signed-off-by: Jérôme BARDON <bardon.pro@gmail.com> Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09libc/{,e}glibc: If using custom {e}glibc, dont extract or patchDavid Holsgrove1-3/+9
If custom {e}glibc is being used, no need to carry out the extract or patching phase of scripts/build/libc/glibc-eglibc.sh-common Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09glibc: nptl is default from 2.20, so dont add to addons_listDavid Holsgrove1-4/+6
No longer recommended practice to use --enable-add-ons=nptl, so for 2.20 and later (along with custom glibc), don't add the CT_THREADS to the addons_list https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-01-05libc/glibc: print name of skipped addonYann E. MORIN"1-1/+1
When trying to extract an already present (aka bundled) addon, print the name of that addon, for clarity, and to help analyse the build.log post-mortem. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-15libc/(e)glibc: fix extra configparmsYann E. MORIN"1-1/+1
In case ${CT_LIBC_GLIBC_CONFIGPARMS} starts with a dash, printf will try to interpret it as an option for itself, and will invariably flail in panic as it does not recognise any of it. Use a more robust solution, as suggested by Cody. Reported-by: "Roberto A. Foglietta" <roberto.foglietta@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Cody P Schafer <devel-lists@codyps.com>
2013-03-03libc/glibc: do not overwrite existing bits/syscall.hYann E. MORIN"1-1/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Rafael C <groups.r2@gmail.com> Cc: Jérôme BARDON <bardon.pro@gmail.com> Cc: Daniel Price <daniel.price@gmail.com>
2013-03-03libc/glibc: fix installing syscall.h when installing start-files.Yann E. MORIN"1-2/+9
Reported-by: Rafael C <groups.r2@gmail.com> Reported-by: Jérôme BARDON <bardon.pro@gmail.com> Reported-by: Daniel Price <daniel.price@gmail.com> [yann.morin.1998@free.fr: use a conditional approach, also suggested by Daniel] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10libc: get rid of libc_finishYann E. MORIN"1-6/+0
At long last, we no longer have any libc that requries a libc_finish. Yeah! Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26libc/glibc: both glibc and eglibc have pkgversion and bugurlYann E. MORIN"1-4/+2
Well, all eglibc version we support do, and latest glibc versions we support do. Not all glibc versions do, but older versions simply ignore the unrecognised ./configure flags. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26libc/glibc: always enable obsolete RPCYann E. MORIN"1-4/+2
Since unrecognised ./configure flags are simply ignored, we can always pass --enable-obsolete-rpc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-19scripts: unquoted variable reference in glibc-eglibc.sh-commonDaniel Price1-1/+1
Signed-off-by: Daniel Price <daniel.price@gmail.com> Message-Id: <12f092a95a94bcf76912.1353367250@redfish.dssd.com> Patchwork-Id: 200215
2012-11-02libc/eglibc: enable rpc in eglibc-2.16+Johannes Stezenbach1-0/+4
While eglibc-2.16 recommends to use TI-RPC instead of the old sunrpc, the old one can be included using a configure option. Since the user can still use TI-RPC to override the libc implementation, we enable rpc unconditionally. Signed-off-by: Johannes Stezenbach <js@sig21.net> Message-Id: <20121102140404.GA7707@sig21.net> Patchwork-Id: 196564
2012-10-22fix eglibc-2.16 manual buildJohannes Stezenbach1-4/+9
Signed-off-by: Johannes Stezenbach <js@sig21.net> Message-Id: <20121022133228.GA16536@sig21.net> Patchwork-Id: 193156
2012-08-22libc/{,e}glibc: remove rude wordings in commetnsYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-01-01libc/glibc: use CT_mkdir_pushd helperYann E. MORIN"1-2/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13libc/glibc: do not consume parameters when parsing themYann E. MORIN"1-3/+3
Currently, there are two constructs used to parse arguments in glibc backends, one that consumes args as they are parsed, and one that does not. Always use the construct that does not eat args as they are parsed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-28libc/glibc: cleanup CFLAGS handlingYann E. MORIN"1-7/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: remove multi-dirYann E. MORIN"1-0/+3
Remove the sysroot/${multi_dir} directory after the libc install. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: allow to selectively install headers and/or start-filesYann E. MORIN"1-12/+36
When doing multilib, we only need the headers from the default variant, but we need the startfiles for each variants. Allow the frontend to specify either one, or both. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22libc/glibc: add multilib-cacpable backendYann E. MORIN"1-11/+94
For mutlilib, the C library must be built once for each variants. Special care must be taken to put the resulting libraries in the proper places. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: fix code formattingYann E. MORIN"1-9/+9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glib: pass installation subdir to backendYann E. MORIN"1-7/+9
When building a multilib variant, install in a separate directory, to avoid clutering the default or any other variant. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the endian option according to extra CFLAGSYann E. MORIN"1-1/+18
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the endianness selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the float option according to extra CFLAGSYann E. MORIN"1-2/+12
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the floating point selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: add extra CFLAGS when building the C libraryYann E. MORIN"1-0/+4
When building multilib, we need extra CFLAGS that tell the compiler to use non-default settings (eg. big/little endian, hard/soft float, -march/cpu/tune flags, and so on...). We have to pass these flags to the build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13libc/glibc: no default mode for backendYann E. MORIN"1-7/+7
The caller SHALL explicitly ask for a nmode, and not rely on a default mode. That's what actually happens, so we can get rid of the default. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: document the glibc backend argumentsYann E. MORIN"1-1/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: create build dir using libc_modeYann E. MORIN"1-4/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-15scripts: add support for building manualsYann E. MORIN"1-0/+12
Add support for building the HTML and PDF manuals for the major components. Implement for binutils, GCC, GDB, and GLIBC. Always build all manuals and install a subset. Be explicit about the subset to reduce the clutter and to avoid getting copies of common manuals like bfd from all of the sourceware based components. Downside of being explicit is that you need to update it when a new component comes along. Build the manuals as part of the last GCC build, namely 'cc' for glibc based ones and cc_core_pass_2 for baremetal. An example of the output is at: http://people.linaro.org/~michaelh/incoming/crosstool-NG/ Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: depends on ! remove docs; gold manual install] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19arch: add softfp supportYann E. MORIN"1-0/+1
Some architectures support a mixed hard/soft floating point, where the compiler emits hardware floating point instructions, but passes the operands in core (aka integer) registers. For example, ARM supports this mode (to come in the next changeset). Add support for softfp cross compilers to the GCC and GLIBC configuration. Needed for Ubuntu and other distros that are softfp. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19scripts: introduce float type as a stringYann E. MORIN"1-3/+3
With the upcoming softfp support, the case..esac test would become a bit convoluted if it were to test three different booleans. Introduce a new blind string config option that defaults to the selected floating point type used. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-11libc/glibc: run ./configure in CONFIG_SHELLYann E. MORIN"1-0/+3
Tremendously helps when running on at least Ubuntu, with dash as the system shell (ie. /bin/sh points to dash). Reported by a few people, of which: leming, ccct and ccole on IRC Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-07libc/glibc: add log messages for glibc addons dirs and symlinksYann E. MORIN"1-2/+2
Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk> [yann.morin.1998@anciens.enib.fr: fix linewrap-carnage] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-29libc: remove unneeded glibc/eglibc common functionsBenoît THÉBAUDEAU"1-12/+0
do_libc_locales_extract() and do_libc_locales() in glibc-eglibc.sh-common have been overridden for both glibc and eglibc, so they can now be removed, which this patch does. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-29libc: create an infrastructure to build and install the libc localesBenoît THÉBAUDEAU"1-0/+20
This patch adds a common glibc/eglibc infrastructure to build and install the libc locales. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-28scripts/libc: do not build add-ons by defaultBenoît THÉBAUDEAU"1-1/+1
Currently, no --enable-add-ons option is passed to libc configure when "$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search for present add-ons. In that case, all present add-ons are built, although no add-on was selected by the user in the config. Moreover, this can make the configure fail if some non-standard add-ons like eglibc-localedef are present. This behavior also leads to an inconsistency from a user point of view between the following cases: - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config, which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons are built. - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting the chosen threading implementation, e.g. "nptl", so only this add-on is built. This patch disables the building of all add-ons in that case. It is still possible to build all present add-ons by adding --enable-add-ons to LIBC_GLIBC_EXTRA_CONFIG_ARRAY. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-09libc/glibc: fix passing args with spaces when calling backendYann E. MORIN"1-1/+1
Spaces in arguments to the glibc backend were not handled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-26glibc: Refactor startfiles/headers into do_libc_backend()Bryan Hundven1-123/+92
Refactor the contents of 'do_libc_start_files()' and 'do_libc()' into a parameterized 'do_libc_backend()'. 'do_libc_start_files()' and 'do_libc()' call 'do_libc_backend()' with either 'libc_mode=startfiles' or 'libc_mode=final' (respectively) so that the startfiles/headers and the final libc builds are configured and built with the same options. One example of where this is needed is when building a mips toolchain. Previously, if you were building an n32 toolchain, you wouldn't have noticed an issue, because if '-mabi' is not in CFLAGS, n32 is the default: http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/mips/preconfigure;hb=HEAD But when trying to build an o32 or n64 toolchain the build would have failed. This is because (e)glibc expects "-mabi={o32,n32,n64}" to be in CFLAGS, but was not previously provided in 'do_libc_start_files()'. The build failure would happen in the shared-core gcc when it tries to configure an n64 or o32 gcc with an n32 libc. A simpler solution would have been to just add TARGET_CFLAGS to configure in 'do_libc_start_files()', but this way makes configure and make consistent for both steps. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-06-03kconfig: prepend CT-NG's version tag to PKGVERSIONBenoît THÉBAUDEAU"1-2/+2
"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION, and this options is passed as is to --with-pkgversion. This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before passing it to --with-pkgversion. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-30glibc: properly handle internal addonsYann E. MORIN"1-2/+7
Some addons are bundled with glibc/eglibc, so we should not try to download and extract them. This is done as thus: - at download time: - if the add-on download fails, keep going; - at extract time: - if the addon is present in the source tree, ignore it; - if the addon is missing in the source tree: - if the archive is present, extract it; - if the archive is missing, bail out. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-31eglibc: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"1-2/+7
This patch makes eglibc benefit from the TOOLCHAIN_PKGVERSION and TOOLCHAIN_BUGURL options. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-29libc/glibc: commonalise extraction btw glibc and eglibcYann E. MORIN"1-0/+44
glibc and eglibc have a very similar extraction process, so it makes sense to commonalise it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-18config: rename variables that are arraysYann E. MORIN"1-5/+6
Make it explicit that a variable is an array bu the name of the variable. It will be used later when .config gets munged to allow both multiple arguments and arguments with spaces at the same time to be passed from the configuration down to the build scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-15scripts: interpret *_EXTRA_CONFIG config variables arraysYann E. MORIN"1-3/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20libc/glibc-common: log even moreYann E. MORIN"1-2/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21libc/glibc: fix dubious construct when installing headersYann E. MORIN"1-1/+6
This is dubious because if the copy fails, then we'll miss the error. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21libc/glibc: only install start files for NPTLYann E. MORIN"1-18/+20
Building the start files requires a shared-capable compiler, which we do not have when the threading implementation is LinuxThreads. So, only build the start files when the threading implementations is NPTL. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21libc/glibc: add fortify optionYann E. MORIN"1-1/+8
By default, recent versions of glibc and eglibc will build some functions that take format strings (eg. printf, syslog...) with run-time checks against some format string attacks. This is called a fortified build. Unfortunately, this fails somehow while building the instrumented version of syslog, with some kind of circular dependency... Disable fortified builds by default, and hide the enabling option behind EXPERIMENTAL for daring users... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>