Description of problem:
I was testing a few things from rawhide, and had to install a new glibc. Later when I compiled some code, I found that strcmp() crashes with two valid strings as input. That happened only in 64 bit mode, but later I found that strlen() has the same problem, both in 64 and 32 bit mode.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create this program
char *s1 = "String";
fprintf(stderr, "Computing length of \"%s\"\n", s1);
int len = strlen(s1);
fprintf(stderr, "Length is %d\n", len);
2. Compile with: cc c.c -o c
3. Run: ./c
[göran@mimmi ~]$ ./c
Computing length of "String"
I of course realise this might not be a supported combination (whatever that would mean when it comes to rawhide). But I was still surprised to see it and wanted to mention it. I don't have any system I can upgrade completely to rawhide right now.
If this isn't supposed to work, maybe it would be worth a "Conflict: gcc < <whatever>" in the glibc rpm?
I tried to install the glibc-debuginfo rpm and look at what actually happens. But then my debugger started to crash too! (gdb-184.108.40.20690302-23.fc11.x86_64)
To use rawhide glibc you need toolchain that handles STT_GNU_IFUNC well, namely at least rawhide prelink, likely binutils, gdb, ... gcc isn't strictly required.
Right, updating my binutils resolved the issue. So it would not be "conflict" with gcc, but some other packages then. If you choose to go that way.
Fixed in 2.10.90-25.