Date: Wed, 8 Jul 1998 11:51:21 +0300 (IDT) From: Eli Zaretskii To: Martin Str|mberg cc: DJGPP-WORKERS Subject: Re: info core dumps In-Reply-To: <199807072033.WAA17494@sister.ludd.luth.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Tue, 7 Jul 1998, Martin Str|mberg wrote: > Ok. Let me explain. d:/djgpp is my v2.01 version, which AUTOEXEC.BAT > sets up everything for when booting (DJGPP and PATH). In e:/djgpp.202 > I have the v2.02 version, along with a .BAT file the sets up > everything (DJGPP and PATH) to use that directory. When I want to > compile with v2.02 I simply run that .BAT file, and everything is > sunshine! Ok? Okay, but I still am unsure about the precise way to get it crash. Does it crash only after you run the batch file which pepares the system to use v2.02? Or does it crash in the v2.01 setup as well? If it only crashes in the v2.02 setup, the first thing I'd suspect is info/dir from djdev202.zip (unless you edited it). > Hmm, the size is correct but not the date. Anyway I unzipped > txi312b.zip again and it still core dumps: What exactly should I do to reproduce this? Does it crash immediately upon startup, when invoked with no arguments at all (i.e. just "info RET") and crashes consistently when invoked like that? If not, please describe the exact sequence of keystrokes and other prerequisites required to reproduce this crash. > How can I see what the info is set for a certain segment in gdb? I > mean "p $ds" shows me what %ds is set to, but not it's base and > limit? > Another question: "p *$eax" (or perhaps it was "p *($eax)") let me > look at the contents at the address %eax points to, but what command > lets me look at the contents at the address %gs:%eax? If you mean to access data in segment other than DS, then you can't do that in GDB directly. You need to call a C function like dosmemget for that, assuming that it's linked into the debugged program. The same goes for selector data: call the appropriate C function from the GDB prompt. But if you are doing that to debug info.exe, it might be much easier if I send you unstripped binary from my development machine. > A question on the version number: why is it called txi312b.zip and not > txi3012b.zip, as this would make it clearer, perhaps, that it is newer > than txi309b.zip? IMHO, the name txi390b was an error, it should have been called 309 or 39. I want to get it straight from now on, and I don't want to lose a character from the restricted 8+3 DOS namespace to a superflous 0. > Here the end of the make: > gcc -DINFODIR=\"/usr/local/info\" > -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE > _CONFIG_H -I. -I../lib -I../intl -I.. -I. -g -O2 -c variables.c > gcc -DINFODIR=\"/usr/local/info\" > -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE > _CONFIG_H -I. -I../lib -I../intl -I.. -I. -g -O2 -c window.c > gcc -g -O2 -o ginfo dir.o display.o doc.o dribble.o echo-area.o > filesys.o foot > notes.o gc.o indices.o info-utils.o info.o infodoc.o infomap.o m-x.o > man.o nodem > enu.o nodes.o search.o session.o signals.o terminal.o tilde.o > variables.o window > .o ../lib/libtxi.a ../intl/libintl.a > e:/djgpp.202/lib/libc.a(conio.o)(.text+0x110):conio.c: multiple > definition of `gettext' > ../intl/libintl.a(intl-compat.o):intl-compat.c:66: first defined here Huh? How could this all happen? Please describe the steps you did to compile Info. If you used txi312s.zip, you should have just go into the info/ subdirectory and type "make". Or do the same from the top-level gnu/texinfo3.12 directory (which will cause it to build the entire distribution, not only info.exe). If you did the configure step, you somehow misconfigured it, since the DJGPP port makes sure intl/libintl.a is NOT built, and LOCALEDIR is defined to be ${DJDIR}/share/locale (look at info/Makefile which comes with the source distribution).