Skip to content

Commit 22c2262

Browse files
committed
merge revision(s) 354d47a: [Backport #21569]
IBF: Avoid unaligned load on 32 bit platforms [Bug #21569]
1 parent 4306c90 commit 22c2262

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

compile.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13909,8 +13909,10 @@ ibf_dump_object_float(struct ibf_dump *dump, VALUE obj)
1390913909
static VALUE
1391013910
ibf_load_object_float(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)
1391113911
{
13912-
const double *dblp = IBF_OBJBODY(double, offset);
13913-
return DBL2NUM(*dblp);
13912+
double d;
13913+
/* Avoid unaligned VFP load on ARMv7; IBF payload may be unaligned (C99 6.3.2.3 p7). */
13914+
memcpy(&d, IBF_OBJBODY(double, offset), sizeof(d));
13915+
return DBL2NUM(d);
1391413916
}
1391513917

1391613918
static void

version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
1212
#define RUBY_VERSION_TEENY 6
1313
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
14-
#define RUBY_PATCHLEVEL 56
14+
#define RUBY_PATCHLEVEL 57
1515

1616
#include "ruby/version.h"
1717
#include "ruby/internal/abi.h"

0 commit comments

Comments
 (0)