binutils 2.14.91 failed to build recent glibc for mips-linux

Atsushi Nemoto anemo@mba.ocn.ne.jp
Wed Apr 14 06:09:00 GMT 2004


The binutils 2.14.91 failed to build recent glibc for mips-linux.

/tmp/xxxx.s:122: Warning: missing .end
/tmp/xxxx.s:162: Warning: .end directive without a preceding .ent directive.
/tmp/xxxx.s:162: Error: junk at end of line, first unrecognized character is `.'

The failed file is elf/rtld.c. (which includes
sysdeps/mips/dl-machine.h)

#define RTLD_START asm (\
	".text\n"\
	_RTLD_PROLOGUE(ENTRY_POINT) "\
...
	.globl _dl_start_user\n\
	.type _dl_start_user,@function\n\
	.ent _dl_start_user\n\
_dl_start_user:\n\
...
	.end _dl_start_user\n\t"\
	_RTLD_EPILOGUE(ENTRY_POINT)\
	".previous"\
);

The _RTLD_PROLOGUE macro contains ".ent" and the _RTLD_EPILOGUE macro
contains ".end".  So there are nested .ent/.end pairs.

The binutils 2.14.90 does not fail here (just warnings).

Is binutils 2.14.91 too strict, or should glibc be fixed?

---
Atsushi Nemoto



More information about the Binutils mailing list