summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2003-02-10 22:49:00 +0000
committerMatt Wilson <msw@redhat.com>2003-02-10 22:49:00 +0000
commita755df42cc0b38aa5bef7be65529ec91ec27ca32 (patch)
treeb9a420ca96c889778a900d2c62f32416734fc749
parent13dfce0438d7ea9cc97d0c1d325ea3555a266bb8 (diff)
downloadanaconda-a755df42cc0b38aa5bef7be65529ec91ec27ca32.tar.gz
anaconda-a755df42cc0b38aa5bef7be65529ec91ec27ca32.tar.xz
anaconda-a755df42cc0b38aa5bef7be65529ec91ec27ca32.zip
override symbols from glibc to avoid bringing in setlocale.o
-rw-r--r--loader2/Makefile2
-rw-r--r--loader2/wcstubs.c24
2 files changed, 20 insertions, 6 deletions
diff --git a/loader2/Makefile b/loader2/Makefile
index 33071e9bc..21d1bc336 100644
--- a/loader2/Makefile
+++ b/loader2/Makefile
@@ -19,7 +19,7 @@ BINS = init loader
HWOBJS = pcmcia.o usb.o firewire.o hardware.o
METHOBJS = method.o cdinstall.o hdinstall.o nfsinstall.o urlinstall.o
OBJS = log.o moduleinfo.o loadermisc.o modules.o moduledeps.o windows.o \
- lang.o kbd.o modules.o modstubs.o driverdisk.o \
+ lang.o kbd.o modstubs.o driverdisk.o \
md5.o mediacheck.o kickstart.o driverselect.o \
$(HWOBJS) $(METHOBJS)
LOADEROBJS = loader.o loader-pcmcia.o
diff --git a/loader2/wcstubs.c b/loader2/wcstubs.c
index 6dc00a0a9..4bbd0d49e 100644
--- a/loader2/wcstubs.c
+++ b/loader2/wcstubs.c
@@ -19,7 +19,7 @@
#define WLITE_REDEF_STDC 0
#include <wlite_wchar.h>
#include <wlite_wctype.h>
-
+#include <pthread.h>
int wcwidth (wchar_t c) {
return wlite_wcwidth(c);
@@ -37,17 +37,31 @@ size_t wcrtomb(char *s, wchar_t wc, void *ps) {
return wlite_wcrtomb (s, wc, ps);
}
-/* Define ALIAS as a strong alias for ORIGINAL. */
+const char * __dgettext(const char * domainname, const char * msgid) {
+ return msgid;
+}
+
+const char * __dcgettext(const char * domainname, const char * msgid,
+ int category) {
+ return msgid;
+}
+
+/* Define ALIASNAME as a strong alias for NAME. */
# define strong_alias(name, aliasname) _strong_alias(name, aliasname)
# define _strong_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+strong_alias (__dgettext, dgettext);
+strong_alias (__dcgettext, dcgettext);
/* lie to slang to trick it into using unicode chars for linedrawing */
-/* can't do this one -- the symbol size changes */
-/*char * setlocale (int category, const char *locale) {
+char * setlocale (int category, const char *locale) {
if (locale == NULL || *locale == '\0')
return "en_US.UTF-8";
return 0;
- }*/
+}
+/* avoid bringing in glibc's setlocale.o - we want to use our
+ fake setlocale() */
+typedef pthread_mutex_t __libc_lock_t;
+__libc_lock_t __libc_setlocale_lock;