Etapa G (clib): gradúa 15 libs C ya publicadas — incoming-clib → recipes/
Cierra el desfase receta/repo: 15 recetas que ya construyen y están publicadas+firmadas en dist/repo pero seguían en la cola de staging. Sin colisión con canónicas (guarda de build-farm). Los .patch viajan con su receta. Quedan en incoming-clib las 13 variantes colisionantes (build-deps del stack GUI) y las 14 GUI deep-dep sin publicar aún. brotli fribidi gettext-tiny giflib glib gperf graphene harfbuzz itstool libjpeg-turbo libsass libtiff libxmlb lz4 sassc Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
--- a/c/common/platform.h
|
||||
+++ b/c/common/platform.h
|
||||
@@ -318,19 +326,34 @@
|
||||
#else /* not BROTLI_USE_PACKED_FOR_UNALIGNED */
|
||||
|
||||
static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
|
||||
+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
|
||||
+ const struct { uint16_t x; } __attribute__((__packed__)) *t = p;
|
||||
+ return t->x;
|
||||
+#else
|
||||
uint16_t t;
|
||||
memcpy(&t, p, sizeof t);
|
||||
return t;
|
||||
+#endif
|
||||
}
|
||||
static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
|
||||
+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
|
||||
+ const struct { uint32_t x; } __attribute__((__packed__)) *t = p;
|
||||
+ return t->x;
|
||||
+#else
|
||||
uint32_t t;
|
||||
memcpy(&t, p, sizeof t);
|
||||
return t;
|
||||
+#endif
|
||||
}
|
||||
static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
|
||||
+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
|
||||
+ const struct { uint64_t x; } __attribute__((__packed__)) *t = p;
|
||||
+ return t->x;
|
||||
+#else
|
||||
uint64_t t;
|
||||
memcpy(&t, p, sizeof t);
|
||||
return t;
|
||||
+#endif
|
||||
}
|
||||
static BROTLI_INLINE size_t BrotliUnalignedReadSizeT(const void* p) {
|
||||
size_t t;
|
||||
@@ -338,7 +361,12 @@
|
||||
return t;
|
||||
}
|
||||
static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
|
||||
+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
|
||||
+ struct { uint64_t x; } __attribute__((__packed__)) *t = p;
|
||||
+ t->x = v;
|
||||
+#else
|
||||
memcpy(p, &v, sizeof v);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#endif /* BROTLI_USE_PACKED_FOR_UNALIGNED */
|
||||
Reference in New Issue
Block a user