Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Error: duplicate .personality directive while building libstdc++ w/ ARM EABI
@ 2007-06-05 17:20 Jon Nalley
  2009-02-15  7:55 ` Rob Landley
  0 siblings, 1 reply; 4+ messages in thread
From: Jon Nalley @ 2007-06-05 17:20 UTC (permalink / raw)
  To: buildroot

All,

I have been attempting to produce an ARM EABI toolchain (including g++)
using the buildroot.  The build fails while building libstdc++ with the
error "duplicate .personality directive".  I did some googling and it
looks like this is coming from gas from binutils.  Although the build
fails to create libstdc++ it does successfully build gcc and I have
verified that gcc produces EABI binaries.  I have also verified that if
I disable EABI (and change the GNU target suffix to linux-uclibc) in the
buildroot config that the c++ compiler along with everything else
successfully builds.

Does anyone know why enabling EABI would prevent libstdc++ from
building?

I have selected the following in the Buildroot Configuration:

Target Architecture (armeb)
Target Architecture Variant (xscale)
Target ABI (EABI)
GNU target suffix (linux-uclibcgnueabi)
Binutils Version (binutils 2.17.50.0.16)
GCC compiler Version (gcc 4.1.2)
Build/install c++ compiler and libstdc++ (y)

More context for the error is attached below.

Any ideas on this issue are greatly appreciated.

Thanks,

Jon Nalley


Making all in libsupc++
make[5]: Entering directory \
    `/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared --mode=compile \
    /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc \
    -shared-libgcc -B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc \
    -nostdinc++ \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs \
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/ \
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/ \
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include \
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++  \
    -g -Os -fno-implicit-templates -prefer-pic -Wall -Wextra -Wwrite-strings -Wcast-qual \
    -fdiagnostics-show-location=once  -ffunction-sections -fdata-sections  -c -o eh_alloc.lo \
    /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc
/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc -shared-libgcc \
    -B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc -nostdinc++ \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs \
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/ \
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/ \
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include \
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include \
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++ \
    -g -Os -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once \
    -ffunction-sections -fdata-sections -c /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc \ 
    -fPIC -DPIC -o eh_alloc.o
/tmp/ccPjsGDj.s: Assembler messages:
/tmp/ccPjsGDj.s:354: Error: duplicate .personality directive
make[5]: *** [eh_alloc.lo] Error 1

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [Buildroot] Error: duplicate .personality directive while building libstdc++ w/ ARM EABI
@ 2007-07-05  8:26 Tzungder Lin
  0 siblings, 0 replies; 4+ messages in thread
From: Tzungder Lin @ 2007-07-05  8:26 UTC (permalink / raw)
  To: buildroot

I am sorry for my incompleted subject of the last mail

Dear All,

I have ecountered the same problem as below...
My target arch is arm_generic by EABI support
I have tried gcc 4.1.2 and gcc 4.2.0 with binutils 2.17 and 2.17.50.0.14/16
but they all failed at building the same file:
libstdc++-v3/libsupc++/eh_alloc.cc
with the same error messages:
Assembler messages:
Error: duplicate .personality directive

Does anyone have any idea of it?
Thanks a lot.

jon

>>
"
I have been attempting to produce an ARM EABI toolchain (including g++)
using the buildroot.  The build fails while building libstdc++ with the
error "duplicate .personality directive".  I did some googling and it
looks like this is coming from gas from binutils.  Although the build
fails to create libstdc++ it does successfully build gcc and I have
verified that gcc produces EABI binaries.  I have also verified that if
I disable EABI (and change the GNU target suffix to linux-uclibc) in the
buildroot config that the c++ compiler along with everything else
successfully builds.

Does anyone know why enabling EABI would prevent libstdc++ from
building?

I have selected the following in the Buildroot Configuration:

Target Architecture (armeb)
Target Architecture Variant (xscale)
Target ABI (EABI)
GNU target suffix (linux-uclibcgnueabi)
Binutils Version (binutils 2.17.50.0.16)
GCC compiler Version (gcc 4.1.2)
Build/install c++ compiler and libstdc++ (y)

More context for the error is attached below.

Any ideas on this issue are greatly appreciated.

Thanks,

Jon Nalley


Making all in libsupc++
make[5]: Entering directory \
   `/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared --mode=compile \
   /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc \
   -shared-libgcc
-B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc
\
   -nostdinc++ \
   -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src
\
   -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs
\
   -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/
\
   -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/
\
   -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include
\
   -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++
 \
   -g -Os -fno-implicit-templates -prefer-pic -Wall -Wextra
-Wwrite-strings -Wcast-qual \
   -fdiagnostics-show-location=once  -ffunction-sections
-fdata-sections  -c -o eh_alloc.lo \
   /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc
/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc
-shared-libgcc \
   -B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc
-nostdinc++ \
   -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src
\
   -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs
\
   -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/
\
   -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/
\
   -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include
\
   -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include
\
   -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++
\
   -g -Os -fno-implicit-templates -Wall -Wextra -Wwrite-strings
-Wcast-qual -fdiagnostics-show-location=once \
   -ffunction-sections -fdata-sections -c
/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc
\
   -fPIC -DPIC -o eh_alloc.o
/tmp/ccPjsGDj.s: Assembler messages:
/tmp/ccPjsGDj.s:354: Error: duplicate .personality directive
make[5]: *** [eh_alloc.lo] Error 1
"

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [Buildroot] Error: duplicate .personality directive while building libstdc++ w/ ARM EABI
@ 2008-03-05 13:03 Tzungder Lin
  0 siblings, 0 replies; 4+ messages in thread
From: Tzungder Lin @ 2008-03-05 13:03 UTC (permalink / raw)
  To: buildroot

Dear All,

I found this bug in mailing list before, does any one resolve it?
I couldn't build a arm eabi c/c++ toolchain since 2007.3
I tried many snapshots and different configurations...but all failed
Today I have tried buildroot_20080303 snapshot and config it as
arm926t
eabi
binutils 2.18
gcc-4.2.1 (c++ supported)
uclibc-0.9.29
Then I get the same error massage below:
Does anyone have successful experience to share with me?
Thanks a lot for any response.

FYR
"All,

I have been attempting to produce an ARM EABI toolchain (including g++)
using the buildroot.  The build fails while building libstdc++ with the
error "duplicate .personality directive".  I did some googling and it
looks like this is coming from gas from binutils.  Although the build
fails to create libstdc++ it does successfully build gcc and I have
verified that gcc produces EABI binaries.  I have also verified that if
I disable EABI (and change the GNU target suffix to linux-uclibc) in the
buildroot config that the c++ compiler along with everything else
successfully builds.

Does anyone know why enabling EABI would prevent libstdc++ from
building?

I have selected the following in the Buildroot Configuration:

Target Architecture (armeb)
Target Architecture Variant (xscale)
Target ABI (EABI)
GNU target suffix (linux-uclibcgnueabi)
Binutils Version (binutils 2.17.50.0.16)
GCC compiler Version (gcc 4.1.2)
Build/install c++ compiler and libstdc++ (y)

More context for the error is attached below.

Any ideas on this issue are greatly appreciated.

Thanks,

Jon Nalley


Making all in libsupc++
make[5]: Entering directory \
    `/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared --mode=compile \
    /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc \
    -shared-libgcc
-B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc
\
    -nostdinc++ \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src
\
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs
\
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/
\
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/
\
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include
\
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++
 \
    -g -Os -fno-implicit-templates -prefer-pic -Wall -Wextra
-Wwrite-strings -Wcast-qual \
    -fdiagnostics-show-location=once  -ffunction-sections
-fdata-sections  -c -o eh_alloc.lo \
    /uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc
/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc/xgcc
-shared-libgcc \
    -B/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/./gcc
-nostdinc++ \
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src
\
    -L/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/src/.libs
\
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/bin/
\
    -B/uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/lib/
\
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/include
\
    -isystem /uclibc-buildroot/build_armeb_nofpu/staging_dir/armeb-linux-uclibcgnueabi/sys-include
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/../gcc
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include/armeb-linux-uclibcgnueabi
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2-final/armeb-linux-uclibcgnueabi/libstdc++-v3/include
\
    -I/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++
\
    -g -Os -fno-implicit-templates -Wall -Wextra -Wwrite-strings
-Wcast-qual -fdiagnostics-show-location=once \
    -ffunction-sections -fdata-sections -c
/uclibc-buildroot/toolchain_build_armeb_nofpu/gcc-4.1.2/libstdc++-v3/libsupc++/eh_alloc.cc
\
    -fPIC -DPIC -o eh_alloc.o
/tmp/ccPjsGDj.s: Assembler messages:
/tmp/ccPjsGDj.s:354: Error: duplicate .personality directive
make[5]: *** [eh_alloc.lo] Error 1"

Regards
  jonathan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-02-15  7:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-05 17:20 [Buildroot] Error: duplicate .personality directive while building libstdc++ w/ ARM EABI Jon Nalley
2009-02-15  7:55 ` Rob Landley
  -- strict thread matches above, loose matches on Subject: below --
2007-07-05  8:26 Tzungder Lin
2008-03-05 13:03 Tzungder Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox