binutils breaks dosemu

H . J . Lu hjl@lucon.org
Sun Mar 17 01:34:00 GMT 2002


On Sat, Mar 16, 2002 at 11:07:48AM +0100, Arkadiusz Miskiewicz wrote:
> 
> Hi,
> 
> We have problem with binutils 2.11.92.0.12.3 - 2.12.90.0.1 - binutils
> break dosemu. dosemu segfaults even before main().
> 
> 
> Right now 2.11.90.0.19 is working fine for us (I didn't test binutils
> from 2.11.90.0.19 (last working version for us) to 2.11.92.0.12.3 (version =
> with which we
> noticed that is breaks dosemu)).

I can duplicate the problem with dosemu 1.0.2 from www.dosemu.org. It
has something to do with the change to avoid copy relocations. ld.so
died while trying to resolve stdout. In dosemu, it is

080a194e  00006501 R_386_32          00000000   stdout
080a997f  00006501 R_386_32          00000000   stdout
080aa502  00006501 R_386_32          00000000   stdout
080cd7f9  00006501 R_386_32          00000000   stdout
080f4ee6  00006501 R_386_32          00000000   stdout
080f8633  00006501 R_386_32          00000000   stdout
080f863e  00006501 R_386_32          00000000   stdout
   101: 00000000     4 OBJECT  GLOBAL DEFAULT  UND stdout@GLIBC_2.0 (2)
  3100: 00000000     4 OBJECT  GLOBAL DEFAULT  UND stdout@@GLIBC_2.0

Normally it is

08049650  00000405 R_386_COPY        08049650   stdout
     4: 08049650     4 OBJECT  GLOBAL DEFAULT   21 stdout@GLIBC_2.0 (2)
    67: 08049650     4 OBJECT  GLOBAL DEFAULT   21 stdout@@GLIBC_2.0

I haven't found a small testcase to avoid copy reloc for stdout.


H.J.



More information about the Binutils mailing list