This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
NicolÃs, All, On Saturday 28 May 2011 03:07:36 NicolÃs Reynolds wrote: > # HG changeset patch > # User "NicolÃs Reynolds" <fauno@kiwwwi.com.ar> > # Date 1306544550 10800 > # Node ID a15a7b4ba12aa6588efe7256f0cd72344b3369b2 > # Parent 30644208c955f485b35219813a9ca8dc9b22fcdf > Fixes the issue with {e,}libc addons having short and long names (such as > eglibc-ports-2_13 and ports), which caused configure scripts to run > through them twice and thus configuring incorrectly. > > For instance, the mips64el-n32-linux-gnu toolchain would be recognized > correctly first, but then the second pass would change it to mips32, > building a mixed MIPS-III N32 and MIPS-I libc. > Please, you need to add a SoB line (see end of mail). > diff -r 30644208c955 -r a15a7b4ba12a scripts/build/libc/eglibc.sh > --- a/scripts/build/libc/eglibc.sh Thu May 26 22:51:03 2011 +0200 > +++ b/scripts/build/libc/eglibc.sh Fri May 27 22:02:30 2011 -0300 > @@ -103,25 +103,36 @@ > CT_Extract "eglibc-${CT_LIBC_VERSION}" > CT_Patch "eglibc" "${CT_LIBC_VERSION}" > > - # C library addons > + # C library addons Spurious trailing space. I will remove. > for addon in $(do_libc_add_ons_list " "); do > # NPTL addon is not to be extracted, in any case > [ "${addon}" = "nptl" ] && continue || true > CT_Pushd "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}" > CT_Extract nochdir "eglibc-${addon}-${CT_LIBC_VERSION}" > + > + CT_TestAndAbort "Error in add-on '${addon}': both short and long names in tarball" \ > + -d "${addon}" -a -d "eglibc-${addon}-${CT_LIBC_VERSION}" > + > # Some addons have the 'long' name, while others have the > # 'short' name, but patches are non-uniformly built with > # either the 'long' or 'short' name, whatever the addons name > - # so we have to make symlinks from the existing to the missing > - # Fortunately for us, [ -d foo ], when foo is a symlink to a > - # directory, returns true! > - [ -d "${addon}" ] || ln -s "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}" > - [ -d "eglibc-${addon}-${CT_LIBC_VERSION}" ] || ln -s "${addon}" "eglibc-${addon}-${CT_LIBC_VERSION}" > + # but we prefer the 'short' name and avoid duplicates. > + if [ -d "eglibc-${addon}-${CT_LIBC_VERSION}" ]; then > + mv "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}" > + fi > + > + ln -s "${addon}" "eglibc-${addon}-${CT_LIBC_VERSION}" > + > CT_Patch nochdir "eglibc" "${addon}-${CT_LIBC_VERSION}" > + > + # Remove the long name since it can confuse configure scripts to run > + # the same source twice. > + rm "eglibc-${addon}-${CT_LIBC_VERSION}" > + > CT_Popd > done > > - # The configure files may be older than the configure.in files > + # The configure files may be older than the configure.in files Spurious trailing space. I will remove. > # if using a snapshot (or even some tarballs). Fake them being > # up to date. > find "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}" -type f -name configure -exec touch {} \; 2>&1 |CT_DoLog ALL > diff -r 30644208c955 -r a15a7b4ba12a scripts/build/libc/glibc.sh > --- a/scripts/build/libc/glibc.sh Thu May 26 22:51:03 2011 +0200 > +++ b/scripts/build/libc/glibc.sh Fri May 27 22:02:30 2011 -0300 > @@ -54,15 +54,24 @@ > [ "${addon}" = "nptl" ] && continue || true > CT_Extract nochdir "glibc-${addon}-${CT_LIBC_VERSION}" > > + CT_TestAndAbort "Error in add-on '${addon}': both short and long names in tarball" \ > + -d "${addon}" -a -d "glibc-${addon}-${CT_LIBC_VERSION}" > + > # Some addons have the 'long' name, while others have the > # 'short' name, but patches are non-uniformly built with > # either the 'long' or 'short' name, whatever the addons name > - # so we have to make symlinks from the existing to the missing > - # Fortunately for us, [ -d foo ], when foo is a symlink to a > - # directory, returns true! > - [ -d "${addon}" ] || CT_DoExecLog ALL ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}" > - [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ] || CT_DoExecLog ALL ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}" > + # but we prefer the 'short' name and avoid duplicates. > + if [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ]; then > + mv "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}" > + fi > + > + ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}" > + > CT_Patch nochdir "glibc" "${addon}-${CT_LIBC_VERSION}" > + > + # Remove the long name since it can confuse configure scripts to run > + # the same source twice. > + rm "glibc-${addon}-${CT_LIBC_VERSION}" > done > > # The configure files may be older than the configure.in files > Apart from the spurious trailing spaces, and your Sob line missing, this is all good. Just reply to this message with a line like the following, and I will apply the patch: Signed-off-by: John DOE <john.doe@some-where.net> For the reason why SoB lines are needed and what they mean, please have a look at Chapter 12 in: https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |