summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan HorĂ¡k <dan@danny.cz>2012-01-19 12:42:53 +0100
committerLennart Poettering <lennart@poettering.net>2012-01-21 03:48:26 +0100
commitce3fd7e72a1b101002617bd410031e65d290f56f (patch)
tree139630c73096829d750993e1c66f02903e0f4ab9
parentd1f262fa46a1ae9450d3a9aa1f103a16120de350 (diff)
journal: systemd v38 fails to build on big-endians
Hi, during the builds for Fedora/s390x I've found that systemd v38 fails to build on big-endian platforms. ... make[2]: Entering directory `/root/systemd' CC src/journal/libsystemd_journal_la-sd-journal.lo src/journal/sd-journal.c: In function 'init_location': src/journal/sd-journal.c:69:22: error: incompatible types when initializing type 'long unsigned int' using type 'sd_id128_t' src/journal/sd-journal.c:69:20: error: incompatible types when assigning to type 'sd_id128_t' from type 'long unsigned int' make[2]: *** [src/journal/libsystemd_journal_la-sd-journal.lo] Error 1 I see the problem in using le64toh() on the 16 bytes boot_id structure in init_location() Please see http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=544375 for a full build log and attachment for a proposed fix. With regards Dan
-rw-r--r--src/journal/sd-journal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 5e1fd477..baf51db1 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -66,7 +66,7 @@ static void init_location(Location *l, JournalFile *f, Object *o) {
l->seqnum_id = f->header->seqnum_id;
l->realtime = le64toh(o->entry.realtime);
l->monotonic = le64toh(o->entry.monotonic);
- l->boot_id = le64toh(o->entry.boot_id);
+ l->boot_id = o->entry.boot_id;
l->xor_hash = le64toh(o->entry.xor_hash);
l->seqnum_set = l->realtime_set = l->monotonic_set = l->xor_hash_set = true;