diff options
Diffstat (limited to 'sysdeps/wordsize-32')
-rw-r--r-- | sysdeps/wordsize-32/divdi3.c | 1 | ||||
-rw-r--r-- | sysdeps/wordsize-32/lldiv.c | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/sysdeps/wordsize-32/divdi3.c b/sysdeps/wordsize-32/divdi3.c index b8a8aeecc5..8ca9fe4c0d 100644 --- a/sysdeps/wordsize-32/divdi3.c +++ b/sysdeps/wordsize-32/divdi3.c @@ -294,6 +294,7 @@ __divdi3 (DWtype u, DWtype v) w = -w; return w; } +INTDEF(__divdi3) DWtype __moddi3 (DWtype u, DWtype v) diff --git a/sysdeps/wordsize-32/lldiv.c b/sysdeps/wordsize-32/lldiv.c index b097adc530..2da982ca57 100644 --- a/sysdeps/wordsize-32/lldiv.c +++ b/sysdeps/wordsize-32/lldiv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,6 +21,13 @@ #include <inttypes.h> +#ifdef SHARED +/* This is an ugly trick. We cause the C code generated for the code + in lldiv.c to use __divdi3_internal instead of __divdi3 by defining + an alias on the assembler level. */ +asm ("__divdi3 = __divdi3_internal"); +#endif + #include <sysdeps/generic/lldiv.c> #undef imaxdiv |