From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25239 invoked by alias); 18 Aug 2010 11:52:21 -0000 Received: (qmail 25227 invoked by uid 22791); 18 Aug 2010 11:52:20 -0000 X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_05,MSGID_MULTIPLE_AT,TW_BT,TW_DB X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.155) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 18 Aug 2010 11:52:14 +0000 Received: from baal.u-strasbg.fr (baal.u-strasbg.fr [IPv6:2001:660:2402::41]) by mailhost.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id o7IBpvmH037580 ; Wed, 18 Aug 2010 13:51:57 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from mailserver.u-strasbg.fr (ms5.u-strasbg.fr [IPv6:2001:660:2402:d::14]) by baal.u-strasbg.fr (8.14.0/jtpda-5.5pre1) with ESMTP id o7IBpu4Q000538 ; Wed, 18 Aug 2010 13:51:57 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from d620muller (gw-ics.u-strasbg.fr [130.79.210.225]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.4/jtpda-5.5pre1) with ESMTP id o7IBptas084879 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Wed, 18 Aug 2010 13:51:56 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: "'Tom Tromey'" Cc: References: <20100731162500.32FAE5664F4@henry1.codesourcery.com> <20100817184407.GC3599@adacore.com> In-Reply-To: Subject: RE: Your INTERMEDIATE_ENCODING patch for Solaris Date: Wed, 18 Aug 2010 11:52:00 -0000 Message-ID: <000001cb3ecb$c658c260$530a4720$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable x-cr-hashedpuzzle: AGjA AejT BCZB BlbY Cw2o D+Xn EI6F EdR1 FEVh FqTb L1Wh PoYf PxYm Q5JP SA0Y U7An;2;ZwBkAGIALQBwAGEAdABjAGgAZQBzAEAAcwBvAHUAcgBjAGUAdwBhAHIAZQAuAG8AcgBnADsAdAByAG8AbQBlAHkAQAByAGUAZABoAGEAdAAuAGMAbwBtAA==;Sosha1_v1;7;{545630A3-3EC7-4B77-9C19-58B5893D1114};cABpAGUAcgByAGUALgBtAHUAbABsAGUAcgBAAGkAYwBzAC0AYwBuAHIAcwAuAHUAbgBpAHMAdAByAGEALgBmAHIA;Wed, 18 Aug 2010 11:51:57 GMT;UgBFADoAIABZAG8AdQByACAASQBOAFQARQBSAE0ARQBEAEkAQQBUAEUAXwBFAE4AQwBPAEQASQBOAEcAIABwAGEAdABjAGgAIABmAG8AcgAgAFMAbwBsAGEAcgBpAHMA x-cr-puzzleid: {545630A3-3EC7-4B77-9C19-58B5893D1114} Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-08/txt/msg00289.txt.bz2 I can confirm that on a 32-bit i386 OpenSolaris 2.11, the current CVS tree has the ICONV problem, which is solved by this patch. Thus I fully support your patch, with a small modification required for PHONY_ICONV, see below. The easiest way to see the difference is (gdbcvs is the executable generated by current CVS HEAD, gdb is the patched executable). With: ./gdbcvs ./gdb ..... (top-gdb) p version $1 =3D While with: ./gdb ./gdb ..... (top-gdb) p version $1 =3D "7.2.50.20100818-cvs" I do have other problems with the x86_64 and sparc OpenSolaris versions I tried to compile, but those are not directly related to the ICONV issue (at least not only!). For the x86_64, I had two linking problems: 1) gcc claims that it doesn't know -rdynamic option gcc --version returns this: gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802) "gcc --print-prog-name=3Dld" returned "/usr/ccs/bin/ld" and "`gcc --print-prog-name=3Dld` --version" returned: ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1689 The compilation was done using the 5 lines long script: #!/usr/bin/env bash mkdir build64 cd build64 ../src/configure --build=3Dx86_64-pc-solaris2.11 --disable-gdbtk CFLAGS=3D"= -g -O0 -m64" make all-gdb 2) gdb_curses.h was loading ncurses/ncurses.h header, but the library was /lib/64/libcurses.so.1, not a ncurses library. This led to unresolved symbols waddr_on/waddr_off (coming from macro definitions waddron and waddroff inside "ncurses/ncurses.h" header). (I finally found the origin of that problem: I installed libiconv from BlastWave into /opt/csw directory, but this directory was not searched for libraries..). Manually disabling the=20 #define HAVE_NCURSES_NCURSES_H 1 line in config.h=20 allowed to complete the compilation successfully. I don't know if this is just an installation problem on my side or a more general issue. Here the generated debugger did not show the=20 ICONV problem, as no iconv function was found. After application of your patch however, I get this: gcc -g -O0 -m64 -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gd= b/con fig -DLOCALEDIR=3D"\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src= /gdb/.. /include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.= . -I. ./bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -= I../. ./src/gdb/../libdecnumber -I../../src/gdb/gnulib -Ignulib -DMI_OUT=3D1 -D= TUI=3D1 -I/usr/include -I/usr/include -Wall -Wdeclaration-after-statement -Wpointe= r-ari th -Wformat-nonliteral -Wno-unused -Wunused-value -Wunused-function -Wno-sw= itch -Wno-char-subscripts -Werror -c -o charset.o -MT charset.o -MMD -MP -MF .de= ps/ch arset.Tpo ../../src/gdb/charset.c ../../src/gdb/charset.c: In function `make_wchar_iterator': ../../src/gdb/charset.c:585: error: `INTERMEDIATE_ENCODING' undeclared (fir= st us e in this function) ../../src/gdb/charset.c:585: error: (Each undeclared identifier is reported= only once ../../src/gdb/charset.c:585: error: for each function it appears in.) make: *** [charset.o] Error 1 This is because there is an error in your patch: if PHONY_ICONV is defined, INTERMEDIATE_ENCODING is not set at all anymore. Removing the=20 #ifndef PHONY_ICONV around INTERMEDIATE_ENCODING definition in the bottom of gdb_wchar.h file fixes that issue. I still needed to disable HAVE_NUCURSES_NCURSES_H to be able to compile GDB. I will try to use CSW libiconv to see what happens then. Pierre Muller Pascal language support maintainer for GDB