Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 2 commits
  • 2 files changed
  • 0 comments
  • 1 contributor
15  software/libbase/libc.c
@@ -280,6 +280,21 @@ void *memcpy(void *to, const void *from, size_t n)
280 280
 		from = sfrom;
281 281
 		n -= 2;
282 282
 	}
  283
+	if((long)from & 2) {
  284
+		short *sto = to;
  285
+		const short *sfrom = from;
  286
+		temp = n >> 1;
  287
+		for (; temp; temp--)
  288
+			*sto++ = *sfrom++;
  289
+		to = sto;
  290
+		from = sfrom;
  291
+		if(n & 1) {
  292
+			char *cto = to;
  293
+			const char *cfrom = from;
  294
+			*cto = *cfrom;
  295
+		}
  296
+		return xto;
  297
+	}
283 298
 	temp = n >> 2;
284 299
 	if(temp) {
285 300
 		long *lto = to;
12  software/libbase/softfloat-glue.c
@@ -180,6 +180,12 @@ float32 __floatsisf(int32 x)
180 180
 	return int32_to_float32(x);
181 181
 }
182 182
 
  183
+float32 __floatunsisf(int32 x);
  184
+float32 __floatunsisf(int32 x)
  185
+{
  186
+	return int32_to_float32(x); // XXX
  187
+}
  188
+
183 189
 int32 __fixsfsi(float32 x);
184 190
 int32 __fixsfsi(float32 x)
185 191
 {
@@ -237,6 +243,12 @@ float64 __floatsidf(int32 x)
237 243
 	return int32_to_float64(x);
238 244
 }
239 245
 
  246
+float64 __floatunsidf(int32 x);
  247
+float64 __floatunsidf(int32 x)
  248
+{
  249
+	return int32_to_float64(x); // XXX
  250
+}
  251
+
240 252
 int32 __fixdfsi(float64 x);
241 253
 int32 __fixdfsi(float64 x)
242 254
 {

No commit comments for this range

Something went wrong with that request. Please try again.