Modify

Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#707 closed defect (fixed)

iproute2 in whiterussian SVN: broken build

Reported by: greve@… Owned by: florian
Priority: high Milestone: 0.9/rc6
Component: packages Version:
Keywords: iproute2, build, segfault Cc:

Description

Building the iproute2 packages breaks the build for me in the current WhiteRussian SVN branch.

Attachments (1)

build-break.txt (3.8 KB) - added by greve@… 11 years ago.
compile-time error messages

Download all attachments as: .zip

Change History (10)

Changed 11 years ago by greve@…

compile-time error messages

comment:1 Changed 11 years ago by florian

  • Owner changed from developers to florian
  • Status changed from new to assigned

I can't reproduce the bug. Could you please indicate your GNU/Linux distribution, and host gcc version ? I see a segfault, quite weird :(

comment:2 Changed 11 years ago by greve@…

The distribution is Debian GNU/Linux (etch).

gcc (GCC) 4.1.2 20060729 (prerelease) (Debian 4.1.1-10)

comment:3 Changed 11 years ago by greve@…

I've now tried the same thing on another machine (freshly installed Debian GNU/Linux etch) with gcc (GCC) 4.1.2 20060613 (prerelease) (Debian 4.1.1-5) -- and get the exact same problem.

When running paretonormal on the commandline, it segfaults after 31789.
This looks suspiciously like a double overrun to me.

So I tried changing the compile options by removing the optimization (-O2) and compiled it by hand by doing "gcc -D_GNU_SOURCE -g -Wstrict-prototypes -Wall -I ../include -DRESOLVE_HOSTNAMES -o paretonormal paretonormal.c -lm" by hand.

The resulting paretonormal does not segfault when run -- it terminates properly after 31789.

So I investigated a little more, and -Os does not seem to break it for me -- only -O1 and -O2 do.

As a next step I tried to see whether there is any particular option that breaks it and wrote a script to loop through the optimizations that are included in -O1, but none of them did. Adding one more level let me loop through all the tuples. This also did not segfault.

So I do not have a conclusion, but hope that maybe it'll help to take one more step along the way.

comment:4 Changed 11 years ago by florian

Should be fixed with revision [4635], can you please have a try ?

comment:5 Changed 11 years ago by greve@…

Unfortunately the problem persists.

It seems that you've tried to add a patch that sets the CCFLAGS to -Os. As far as I could see, that was the default for the iproute package also before -- but the OpenWRT build system seems to force other flags on it. Check out the make call:

make -j1 -C /opt/SVN/whiterussian/openwrt/build_mipsel/iproute2-2.6.11-050330/netem HOSTCC=gcc CFLAGS="-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I ../include -DRESOLVE_HOSTNAMES"

These explicit options override the ones built into the Makefile, and thus the compilation call still is

gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I ../include -DRESOLVE_HOSTNAMES -o paretonormal paretonormal.c -lm

and therefore the

./paretonormal >paretonormal.dist

still segfaults.

I think the trick would be to take out that patch again, and find out where exactly the OpenWRT build system forces the -O2 on the package and change that.

comment:6 Changed 11 years ago by florian

Can you have a try at [4636] ?

comment:7 Changed 11 years ago by anonymous

This has fixed the problem for me -- it now appears to happily compile all the way through.

comment:8 Changed 11 years ago by florian

  • Resolution set to fixed
  • Status changed from assigned to closed

Thanks a lot !

comment:9 Changed 11 years ago by greve@…

Thank you for addressing the issue quickly! :)

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.