summary refs log tree commit diff
path: root/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch
blob: 79bd3e8dbc3b80f0863bab01814aca626381b827 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Wed, 20 May 2020 19:17:13 +0200
Subject: [PATCH] gnu: http-client: Fix assertion on armhf-linux.

Copied verbatim from [0] to fix guix pull[1] on ARM systems.

[0]: https://github.com/nodejs/http-parser/pull/510
[1]: https://issues.guix.gnu.org/40604

From 0e5868aebb9eb92b078d27bb2774c2154dc167e2 Mon Sep 17 00:00:00 2001
From: Ben Noordhuis <info@bnoordhuis.nl>
Date: Thu, 30 Apr 2020 11:22:50 +0200
Subject: [PATCH] Fix sizeof(http_parser) assert

The result should be 32 on both 32 bits and 64 bits architectures
because of struct padding.

Fixes: https://github.com/nodejs/http-parser/issues/507
---
 test.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/test.c b/test.c
index 7983424..f60a84f 100644
--- a/test.c
+++ b/test.c
@@ -4220,8 +4220,11 @@ main (void)
   patch = version & 255;
   printf("http_parser v%u.%u.%u (0x%06lx)\n", major, minor, patch, version);
 
+  /* Should be 32 on both 32 bits and 64 bits architectures because of
+   * struct padding, see https://github.com/nodejs/http-parser/issues/507.
+   */
   printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser));
-  assert(sizeof(http_parser) == 4 + 4 + 8 + 2 + 2 + 4 + sizeof(void *));
+  assert(sizeof(http_parser) == 32);
 
   //// API
   test_preserve_data();