public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: mlimber <mlimber@gmail.com>
To: Simon Marchi <simark@simark.ca>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] [PR 25678] gdb crashes with "internal-error: sect_index_text not initialized" when .text
Date: Mon, 18 May 2020 17:11:09 -0400	[thread overview]
Message-ID: <CAAogRRr=6k1ZqGoDu5KdfSqwhbpaFEMK66mtU-=osYQj4tWipQ@mail.gmail.com> (raw)
In-Reply-To: <fa60aec9-22c3-edaa-6bbd-fd390e09019e@simark.ca>

On Mon, May 18, 2020 at 2:01 PM Simon Marchi <simark@simark.ca> wrote:

> On 2020-05-15 2:33 p.m., mlimber wrote:
> > Hrm. I've tried a number of smaller programs to repro this, including
> the steps in the comments using the attachment or building my own, X11,
> OpenGL, libicu tests, and also sample Qt apps that link `libicudata.so`.
> Alas, I cannot recreate it in small-ish form.
> >
> > I've tried various combinations of these on Ubuntu 14.04 x64 building
> with gcc 4.9 and also Ubuntu 20.04 x64 with gcc 9.3.
> >
> > I can reliably repro it with my full-scale Qt app, but I can't submit
> that. When I debug gdb itself, I see where it is going awry in my app --
> with libicudata.so.52, which is a weird data-only library.
>
> Could you please tell us where this particular libicudata.so.52 comes
> from?  I'd like to compare
> it with other libicudata.so files to understand what's so special about
> this one.
>
> Simon
>

I built libicudata.so.52.2 from source (no customizations; just needed the
particular version my version of Qt was looking for, and I modified the
RPATH of the three ICU .so's to look in $ORIGIN for their dependencies
since I distribute my app with its dependencies). Note that someone else
also reported the libicudata.so being the culprit and that I have not yet
triggered the error with the libicudata.so in a smaller program.

The build steps for the offending .so right out of the build log for the
library is:
```
gcc -D_REENTRANT  -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1
 -DU_ATTRIBUTE_DEPRECATED= -O2 -std=c99 -Wall -pedantic -Wshadow
-Wpointer-arith -Wmissing-prototypes -Wwrite-strings   -c -I../common
-I../common -DPIC -fPIC -o ./out/tmp/icudt52l_dat.o ./out/tmp/icudt52l_dat.s
gcc -O2 -std=c99 -Wall -pedantic -Wshadow -Wpointer-arith
-Wmissing-prototypes -Wwrite-strings   -static-libstdc++  -shared
-Wl,-Bsymbolic -nodefaultlibs -nostdlib -o ../lib/libicudata.so.52.2
./out/tmp/icudt52l_dat.o -Wl,-soname -Wl,libicudata.so.52  -Wl,-Bsymbolic
```

The assembly file is generated at build-time and is of the form:
```
.globl icudt52_dat
.section .note.GNU-stack,"",%progbits
.section .rodata
.balign 16
.type icudt52_dat,%object
icudt52_dat:

.long
0x27DA0080,0x14,0x020000,0x446E6D43,1,3,0x706F4320,0x67697279,0x28207468,0x32202943,0x2C333130,0x746E4920,0x616E7265,0x6E6F6974,0x42206C61,0x6E697375,0x20737365,0x6863614D,0x73656E69,0x726F4320,0x61726F70,0x6E6F6974,0x646E6120,0x68746F20,0x2E737265,0x6C6C4120,0x67695220,0x20737468,0x65736552,0x64657672,0x202E,0
.long
0x0C64,0x6324,0x018370,0x6334,0x01B900,0x6347,0x01B9A0,0x635A,0x01BA00,0x636B,0x01C580,0x637F,0x01C5E0,0x638F,0x01CF90,0x63A2,0x01CFF0,0x63B2,0x020420,0x63C5,0x020480,0x63D5,0x026160,0x63E9,0x0261C0,0x63FC,0x026220,0x640F,0x026280,0x6422,0x0262E0,0x6435
[snip lots more data]
```
I can make the binary of the .so available to you if desired (it is 23 MB).

M

  reply	other threads:[~2020-05-18 21:11 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-14 17:22 mlimber
2020-05-14 17:32 ` Simon Marchi
2020-05-14 17:48   ` mlimber
2020-05-14 17:57     ` Simon Marchi
2020-05-14 19:12       ` mlimber
2020-05-14 19:28         ` Simon Marchi
2020-05-15 18:33           ` mlimber
2020-05-16 20:39             ` mlimber
2020-05-16 21:05               ` Simon Marchi
2020-05-17  3:31             ` Simon Marchi
2020-05-17  7:01               ` Andreas Schwab
2020-05-17 14:01                 ` Simon Marchi
2020-05-17 14:08                   ` Simon Marchi
2020-05-18 18:01             ` Simon Marchi
2020-05-18 21:11               ` mlimber [this message]
2020-05-18 21:44                 ` Simon Marchi
2020-05-19 14:36                   ` mlimber
2020-05-19 14:44                     ` Simon Marchi
2020-05-20 13:24                       ` mlimber
2020-05-20 14:12                         ` Simon Marchi
2020-05-20 15:04                           ` mlimber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAogRRr=6k1ZqGoDu5KdfSqwhbpaFEMK66mtU-=osYQj4tWipQ@mail.gmail.com' \
    --to=mlimber@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=simark@simark.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).