Subject: One more glibc Error

From: Francois Desloges <[email-masked]>
Date: Fri, 24 Sep 1999 13:54:12 -0400

Wow! The situation does improve!
Thank you for the clues!

# make clean; make
did get over nsswitch.c compilation. My lib-names.h got built as it should.
Curious of the implication of the -j 2 make setting, I did a "make clean;
make" again, this time with the -j 2 setting uncommented in Makefile.in.  It
has the same positive result with lib-names.h.
I'm a little bit disappointed that it didn't consistently generate the
lib-names.h problem, so that I will probably never know what happened when it
first failed at being built with -j 2, due to a bad lib-names.h.

However, I _did_ get a new error (the same one with or without -j 2).
It looks like that:
>a - elf/dl-open.os
>a - elf/dl-close.os
>a - elf/dl-symbol.os
>a - elf/dl-addr.os
>a - elf/dl-profstub.os
>a - elf/dl-origin.os
>: ../libc_pic.a
>arm-linux-gcc   -nostdlib -nostartfiles -r -o librtld.os '-Wl,-(' dl-allobjs.os
>../libc_pic.a -lgcc '-Wl,-)'
>arm-linux-gcc   -nostdlib -nostartfiles -shared -o ld.so  \
>          librtld.os            \
>          -Wl,--version-script=../ld.so.map -Wl,-soname=ld-linux.so.2
>/usr/arm-linux/bin/ld: cannot open linker script file ../ld.so.map: No such
>file or directory collect2: ld returned 1 exit status
>make[1]: *** [ld.so] Error 1
>make[1]: Leaving directory `/usr/src/glibc/glibc-2.1.2/elf'
>make: *** [elf/subdir_lib] Error 2

I get:
># ls -l /usr/arm-linux/bin
>total 6772
>-rwxr-xr-x   2 root     root       865303 Sep 15 12:17 ar
>-rwxr-xr-x   2 root     root      1430332 Sep 15 12:17 as
>-rwxr-xr-x   1 root     root       197758 Sep 20 16:34 gcc
>-rwxr-xr-x   2 root     root      1320466 Sep 15 12:17 ld
>-rwxr-xr-x   2 root     root       893235 Sep 15 12:17 nm
>-rwxr-xr-x   2 root     root       866814 Sep 15 12:17 ranlib
>-rwxr-xr-x   2 root     root      1320559 Sep 15 12:17 strip 

There is not a single ld.so.map file anywhere under /usr
Does the binutils "make install" missed something or what?

--
François Desloges
[email-masked]
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Fri, 24 Sep 1999 19:41:54 +0100

>Does the binutils "make install" missed something or what?

No, the *.map files are part of glibc.  They also should be generated during 
compilation.  This is a problem that several people have reported but as far 
as I know nobody has managed to come up with a solution.  I suggested to the 
last person to report it that they could try glibc 2.1.1 instead and I don't 
think I heard any more, so maybe that solved the problem for them.

Otherwise, once more I think you have to try to debug this yourself.  Sorry.
:-(

p.

---

From: Francois Desloges <[email-masked]>
Date: Mon, 27 Sep 1999 15:42:48 -0400

On Fri, 24 Sep 1999, Philip wrote:
> I suggested to the 

And from an older E-Mail
>A similar problem has been reported by some people on other platforms, but I 
>don't think anybody has worked out the cause (or a cure) yet.  The best guess 
>so far seems to be that it might be due to a buggy version of awk or some 
>other tool.  It seems to have occurred suddenly in glibc 2.1.2, so you could 
>try going back to 2.1.1 and see if that works any better.  Alternatively I 
>think you will have to investigate the Makefiles and try to figure out why the 
>*.map files are not being correctly built.

Ok! I thought I should give a try to v2.1.1 and resolve the v2.1.2 problem
when I'm advanced enough in my make, bash and gawk studying (I'm _very_ junior
with all of these)

So on my intel sysem with
binutils 2.9.5.0.11, built and installed,
linux 2.2.10 "make dep" for ARM and the resulting includes appropriately copied,
gcc-2.95.1 with 4 patches applied, built and installed,
I tried to ./configure glibc-2.1.1.

With CC=arm-linux-gcc
Configuring results at some point in :
>checking version of gcc... pgcc-2.91.66, ok
>checking for make... (cached) make
>checking version of make... 3.77, ok
>checking for msgfmt... (cached) msgfmt
>checking version of msgfmt... 0.10.35, ok
>checking for makeinfo... no
>configure: warning:
>*** An auxiliary program is missing or too old;
>*** some features will be disabled.
>*** Check the INSTALL file for required versions.
>checking whether the C compiler (gcc  ) works... (cached) yes
>checking whether the C compiler (gcc  ) is a cross-compiler... (cached) no
>checking whether we are using GNU C... (cached) yes

Which is my native compiler not my 2.95.1 compiler built for ARM.
So of course doing:
# make
results very quickly in:
>make[1]: Entering directory `/usr/src/glibc/glibc-2.1.1/csu'
>gcc ../sysdeps/unix/sysv/linux/arm/sysdep.S -c  -I../include -I.  ...
>/tmp/ccmAFUZY.s: Assembler messages:
>/tmp/ccmAFUZY.s:1053: Error: no such 386 instruction: `rsb'
>/tmp/ccmAFUZY.s:1289: Error: no such 386 instruction: `ldr'
>/tmp/ccmAFUZY.s:1290: Error: invalid char '[' begining second operand '[r1]'
>/tmp/ccmAFUZY.s:1292: Error: no such 386 instruction: `stmdb'
>/tmp/ccmAFUZY.s:1294: Error: no such 386 instruction: `bl'
>/tmp/ccmAFUZY.s:1295: Error: no such 386 instruction: `ldmia'
>/tmp/ccmAFUZY.s:1296: Error: invalid char '[' begining second operand '[r0]'
>/tmp/ccmAFUZY.s:1300: Error: no such 386 instruction: `mvn'
>/tmp/ccmAFUZY.s:1301: Error: no opcode suffix given and no register operands;
>can't size instruction make[1]: *** [sysdep.o] Error 1
>make[1]: Leaving directory `/usr/src/glibc/glibc-2.1.1/csu'
>make: *** [csu/subdir_lib] Error 2           

The very first time I tried this, ./configure told me, something like
>checking version of gcc... gcc-2.95.1, bad!
and eventually failed to complete...
so I tried ./configure with --build=i586-linux instead of --build=i686-pc-linux-gnu
and from that time and since, it chooses the native pgcc.

Is there a quick fix for this?
If not, do I really want to try to solve these issues on glibc-2.1.1, or would
it be preferable that I invest on v2.1.2 ?