This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/46655] invalid '.line 0' directive emitted with -g
- From: "richard.nolde at cybox dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 24 Feb 2011 22:27:21 +0000
- Subject: [Bug target/46655] invalid '.line 0' directive emitted with -g
- Auto-submitted: auto-generated
- References: <bug-46655-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46655
--- Comment #22 from Richard Nolde <richard.nolde at cybox dot com> 2011-02-24 22:27:13 UTC ---
On 02/24/2011 01:42 PM, michael.haubenwallner at salomon dot at wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46655
>
> --- Comment #20 from Michael Haubenwallner<michael.haubenwallner at salomon dot at> 2011-02-24 20:42:46 UTC ---
> (In reply to comment #19)
>
>>> /usr/bin/gcc -c -g -fkeep-inline-functions -DIN_GCC ...
>>>
>> This is a problem in /usr/bin/gcc, not in the GCC sources you're compiling.
>>
> (In reply to comment #1)
>
>> $ gmake bootstrap STAGE1_CFLAGS=-O
>>
> Richard, does this workaround work for you?
>
> I made it about 45 minutes into the build before the build died this
> > time. I'll have to poke further, but it seems this one might be in the
> > /devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/nm
> > script. I'll have to rerun and capture everything to a log so see what
> > is going on. I did notice that there were numerous warnings that the
> > configure script could not parse the output of /usr/bin/nm since at that
> > point it didn't seem to realize that it need the -B switch. This
> > behavior seems to depend on the version of libtool that was used to
> > build the package. Sometimes it works if you export NM="/usr/bin/nm -B"
> > and other times it breaks if you add -B. I used to have my own script to
> > extract the symbols into a file that could be used with the AIX linker.
> > AIX's version of awk doesn't have gensub so it also helps to specify
> > gawk instead of awk. I also get different reports from configure
> > scripts about whether the linker can build shared libraries and some
> > scripts insist on building them with the .a extension instead of .so,
> > with or without versioning.
> > ...
> > /bin/sh ./libtool --tag CC --mode=link
> > /devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/xgcc
> > -B/devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/
> > -B/opt/freeware/powerpc-ibm-aix6.1.0.0/bin/
> > -B/opt/freeware/powerpc-ibm-aix6.1.0.0/lib/ -isystem
> > /opt/freeware/powerpc-ibm-aix6.1.0.0/include -isystem
> > /opt/freeware/powerpc-ibm-aix6.1.0.0/sys-include -Wall -Werror
> > -Wc,-pthread -g -O2 -o libgomp.la -version-info 1:0:0 -no-undefined
> > -bindir "/opt/freeware/bin" -rpath /opt/freeware/lib alloc.lo barrier.lo
> > critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo
> > ordered.lo parallel.lo sections.lo single.lo task.lo team.lo work.lo
> > lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo
> > affinity.lo
> >
> > libtool: link:
> > /devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/nm -B
> > -X32_64 -BCpg .libs/alloc.o .libs/barrier.o .libs/critical.o
> > .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o
> > .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o
> > .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o
> > .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o
> > .libs/time.o .libs/fortran.o .libs/affinity.o | awk '{ if ((($ 2 ==
> > "T") || ($ 2 == "D") || ($ 2 == "B"))&& (substr($ 3,1,1) != ".")) {
> > print $ 3 } }' | sort -u> .libs/libgomp.exp
> >
> > /devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/nm[83]:
> > /usr/bin/nm -B -X32_64: not found
> > libtool: link:
> > /devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/xgcc
> > -B/devel/opensource/gcc/gcc-4.5.0/host-powerpc-ibm-aix6.1.0.0/gcc/
> > -B/opt/freeware/powerpc-ibm-aix6.1.0.0/bin/
> > -B/opt/freeware/powerpc-ibm-aix6.1.0.0/lib/ -isystem
> > /opt/freeware/powerpc-ibm-aix6.1.0.0/include -isystem
> > /opt/freeware/powerpc-ibm-aix6.1.0.0/sys-include -shared -o
> > .libs/libgomp.so.1 .libs/alloc.o .libs/barrier.o .libs/critical.o
> > .libs/env.o .libs/error.o .libs/iter.o .libs/iter_ull.o .libs/loop.o
> > .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/sections.o
> > .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o
> > .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o
> > .libs/time.o .libs/fortran.o .libs/affinity.o -lc -Wl,-bnoentry
> > -pthread -Wl,-bE:.libs/libgomp.exp -Wl,-bernotok
> > ld: 0711-317 ERROR: Undefined symbol: .__emutls_get_address
> > ld: 0711-317 ERROR: Undefined symbol: .__udivdi3
> > ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
> > information.
> > collect2: ld returned 8 exit status
> > gmake[5]: *** [libgomp.la] Error 1
> > gmake[5]: Leaving directory
> > `/devel/opensource/gcc/gcc-4.5.0/powerpc-ibm-aix6.1.0.0/libgomp'
> > gmake[4]: *** [all-recursive] Error 1
> > gmake[4]: Leaving directory
> > `/devel/opensource/gcc/gcc-4.5.0/powerpc-ibm-aix6.1.0.0/libgomp'
> > gmake[3]: *** [all] Error 2
> > gmake[3]: Leaving directory
> > `/devel/opensource/gcc/gcc-4.5.0/powerpc-ibm-aix6.1.0.0/libgomp'
> > gmake[2]: *** [all-stage1-target-libgomp] Error 2
> > gmake[2]: Leaving directory `/devel/opensource/gcc/gcc-4.5.0'
> > gmake[1]: *** [stage1-bubble] Error 2
> > gmake[1]: Leaving directory `/devel/opensource/gcc/gcc-4.5.0'
> > gmake: *** [bootstrap] Error 2
> >
> > The issues that come up most often for me when using a build
> > environment without IBMs C compiler are that Gnu autoconf scripts don't
> > detect the fact that AIX nm needs -B for BSD compatibility. I need to
> > define NM="/usr/bin/nm -B" for some programs but that breaks others that
> > call dirname in configure. I tend to export the paths for AIX ar, as,
> > nm, ranlib, and ld and GNU paths in /opt/freeware for sed, gawk, grep,
> > make, and bash. I also find that it is frequently necessary to construct
> > symlinks back to the standard /usr/bin, /usr/sbin, /usr/lib, and
> > /usr/include for any libraries that don't already have AIX equivalents.
> > This also extends to libraries within /opt/freeware/lib/gcc. Much of
> > this should not be necessary, but it seems to help with some packages
> > that cannot grok a path with /opt/freeware in it instead of /usr/local.
> >
> >
I'm using autoconf-2.68-1, automake-1.11.1-1, GNU make-3.80-3, bash-4.2-1.
Thanks,
Richard Nolde