iriver Dicple D88
build gdb
如下:
$ export PATH=/opt/retrofw/bin:$PATH $ cd $ wget https://ftp.gnu.org/gnu/gdb/gdb-8.0.tar.gz $ tar -pxzf gdb-8.0.tar.gz $ cd gdb-8.0 $ export INSTALLDIR=~/Downloads/gdb_install $ export PATH=$INSTALLDIR/bin:$PATH $ export TARGETMACH=mipsel-linux $ export BUILDMACH=i686-pc-linux-gnu $ export CROSS=mipsel-linux $ export CC=${CROSS}-gcc $ export LD=${CROSS}-ld $ export AS=${CROSS}-as $ ./configure --prefix=$INSTALLDIR --host=$TARGETMACH --disable-tui --enable-static=yes $ make LDFLAGS=-static -j4 nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a ../../intl/libintl.a ../../libiberty/libiberty.a -lm -lnsl -L../../zlib -lz /opt/retrofw/mipsel-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(libintl.os): In function `_nl_expand_alias': libintl.c:(.text+0x1a4): multiple definition of `_nl_expand_alias' ../../intl/libintl.a(localealias.o):/home/steward/Downloads/gdb-8.0/intl/localealias.c:153: first defined here collect2: error: ld returned 1 exit status make[3]: *** [Makefile:324: run] Error 1 make[3]: Leaving directory '/home/steward/Downloads/gdb-8.0/sim/mips' make[2]: *** [Makefile:129: all] Error 1 make[2]: Leaving directory '/home/steward/Downloads/gdb-8.0/sim' make[1]: *** [Makefile:8240: all-sim] Error 2 make[1]: Leaving directory '/home/steward/Downloads/gdb-8.0' make: *** [Makefile:851: all] Error 2 $ vim intl/localealias.c +153 /* const char * _nl_expand_alias (name) const char *name; { static const char *locale_alias_path; struct alias_map *retval; const char *result = NULL; size_t added; #ifdef _LIBC __libc_lock_lock (lock); #endif if (locale_alias_path == NULL) locale_alias_path = LOCALE_ALIAS_PATH; do { struct alias_map item; item.alias = name; if (nmap > 0) retval = (struct alias_map *) bsearch (&item, map, nmap, sizeof (struct alias_map), (int (*) PARAMS ((const void *, const void *)) ) alias_compare); else retval = NULL; if (retval != NULL) { result = retval->value; break; } added = 0; while (added == 0 && locale_alias_path[0] != '\0') { const char *start; while (locale_alias_path[0] == PATH_SEPARATOR) ++locale_alias_path; start = locale_alias_path; while (locale_alias_path[0] != '\0' && locale_alias_path[0] != PATH_SEPARATOR) ++locale_alias_path; if (start < locale_alias_path) added = read_alias_file (start, locale_alias_path - start); } } while (added != 0); #ifdef _LIBC __libc_lock_unlock (lock); #endif return result; } */ $ make LDFLAGS=-static -j4 $ make install