diff --git a/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch b/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch new file mode 100644 index 0000000000000..df52af45049b5 --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch @@ -0,0 +1,30 @@ +From 963413a1adf6767ab17712097e288e1a346f63a7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 4 Jan 2019 22:38:25 -0800 +Subject: [PATCH] ldattach: Check for value of _HAVE_STRUCT_TERMIOS_C_ISPEED + +in glibc 2.29+ checking for just existence of _HAVE_STRUCT_TERMIOS_C_ISPEED +won't be enough, the value has to be checked + +see +https://sourceware.org/git/?p=glibc.git;a=commit;h=e5a50db36eaa6e8c6427b3a971563240b633ca85 + +Signed-off-by: Khem Raj +--- + sys-utils/ldattach.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c +index d33d68535..fb50711eb 100644 +--- a/sys-utils/ldattach.c ++++ b/sys-utils/ldattach.c +@@ -242,7 +242,7 @@ static int my_cfsetspeed(struct termios *ts, int speed) + * -- we have to bypass glibc and set the speed manually (because glibc + * checks for speed and supports Bxxx bit rates only)... + */ +-#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED ++#if _HAVE_STRUCT_TERMIOS_C_ISPEED + # define BOTHER 0010000 /* non standard rate */ + dbg("using non-standard speeds"); + ts->c_ospeed = ts->c_ispeed = speed; + diff --git a/sys-apps/util-linux/util-linux-2.33.1.ebuild b/sys-apps/util-linux/util-linux-2.33.1.ebuild index a671878bc1492..503832c70fa63 100644 --- a/sys-apps/util-linux/util-linux-2.33.1.ebuild +++ b/sys-apps/util-linux/util-linux-2.33.1.ebuild @@ -90,6 +90,13 @@ src_prepare() { configure || die elibtoolize + + # In glibc-2.29+, a lot of changes were made to arch-specific + # handling of `struct termios', which breaks atleast MIPS. + # The below patch from upstream fixes this, and should be + # in the next release. + # See: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=963413a1adf6767ab17712097e288e1a346f63a7 + epatch "${FILESDIR}/${P}-fix-struct_termios-check.patch" } lfs_fallocate_test() {