Package: eatmydata
Version: 15-1
Severity: important
User: [email protected]
Usertags: kfreebsd
Your package FTBFS on the kfreebsd architectures with an illegal
instruction¹. The reason can be seen in this GCC warning:
,----
| eatmydata.c: In function 'open':
| eatmydata.c:101: warning: 'mode_t' is promoted to 'int' when passed through
'...'
| eatmydata.c:101: note: (so you should pass 'int' not 'mode_t' to 'va_arg')
`----
On FreeBSD, mode_t is only 16 bits wide as opposed to 32 bits on Linux.
The following patch fixes this for me (tested on kfreebsd-i386 in qemu):
--8<---------------cut here---------------start------------->8---
diff --git a/eatmydata.c b/eatmydata.c
index 9bf0e46..1cb4d54 100644
--- a/eatmydata.c
+++ b/eatmydata.c
@@ -98,7 +98,10 @@ int open(const char* pathname, int flags, ...)
mode_t mode;
va_start(ap, flags);
- mode= va_arg(ap, mode_t);
+ if (sizeof (mode_t) < sizeof (int))
+ mode= va_arg(ap, int);
+ else
+ mode= va_arg(ap, mode_t);
va_end(ap);
/* In pthread environments the dlsym() may call our open(). */
--8<---------------cut here---------------end--------------->8---
Note that GCC will issue the (now bogus) warning, due to
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.36-rc8-nouveau+ (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages eatmydata depends on:
ii libc6 2.11.2-6 Embedded GNU C Library: Shared lib
eatmydata recommends no packages.
eatmydata suggests no packages.
-- no debconf information
¹
https://buildd.debian.org/fetch.cgi?pkg=libeatmydata;ver=15-1;arch=kfreebsd-i386;stamp=1281282657
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]