bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Segfault in objdump?


From: Barret Rhoden
Subject: Re: Segfault in objdump?
Date: Sun, 2 Jun 2013 16:29:55 -0700

> If I run make with your Makefile, it runs for varying amounts of time
> before invoking objdump.  make -dm shows make re-execing itself many
> times.  Quite clearly make is touching both olderfile and newerfile
> many times.  I think you really do have an infinite loop, which for
> some unknown reason terminates.  My hypothesis was some sort of
> resource starvation, which then also causes the objdump problem.

make -dm also seemed to take forever for me, and would re-run make for
a while.

Can you try again with these two lines in the makefile?

olderfile: ;
Makefile: ;

I noticed most of my make -d output was searching for implicit rules
for those two targets.  When I run make -dm with that modification,
make only runs twice, updating 'newerfile the first time, and then
segfaults:

$ make -dm
GNU Make 3.82
Built for x86_64-pc-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html> This is free software: you are free
to change and redistribute it. There is NO WARRANTY, to the extent
permitted by law. Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `newerfile' (search path) (no ~ expansion)...
Updating makefiles....
 Considering target file `newerfile'.
   Considering target file `olderfile'.
    Finished prerequisites of target file `olderfile'.
   No need to remake target `olderfile'.
  Finished prerequisites of target file `newerfile'.
  Prerequisite `olderfile' is newer than target `newerfile'.
 Must remake target `newerfile'.
Invoking recipe from Makefile:35 to update target `newerfile'.
Putting child 0x664e30 (newerfile) PID 23008 on the chain.
Live child 0x664e30 (newerfile) PID 23008 
Reaping winning child 0x664e30 PID 23008 
Removing child 0x664e30 PID 23008 from chain.
 Successfully remade target file `newerfile'.
 Considering target file `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Re-executing[1]: make -dm
GNU Make 3.82
Built for x86_64-pc-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html> This is free software: you are free
to change and redistribute it. There is NO WARRANTY, to the extent
permitted by law. Reading makefiles...
Reading makefile `Makefile'...
Reading makefile `newerfile' (search path) (no ~ expansion)...
Updating makefiles....
 Considering target file `newerfile'.
   Considering target file `olderfile'.
    Finished prerequisites of target file `olderfile'.
   No need to remake target `olderfile'.
  Finished prerequisites of target file `newerfile'.
  Prerequisite `olderfile' is older than target `newerfile'.
 No need to remake target `newerfile'.
 Considering target file `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `source'.
 File `source' does not exist.
 Finished prerequisites of target file `source'.
Must remake target `source'.
Invoking recipe from Makefile:25 to update target `source'.
objdump -S akaros-kernel > akaros-kernel.asm
Putting child 0x13b8ab0 (source) PID 23010 on the chain.
Live child 0x13b8ab0 (source) PID 23010 
/bin/sh: line 1: 23011 Segmentation fault      objdump -S akaros-kernel
> akaros-kernel.asm Reaping losing child 0x13b8ab0 PID 23010 
make: *** [source] Error 139
Removing child 0x13b8ab0 PID 23010 from chain.


Thanks,

Barret





reply via email to

[Prev in Thread] Current Thread [Next in Thread]