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
next prev parent 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).