Loading...

gcc-help@gcc.gnu.org

[Prev] Thread [Next]  |  [Prev] Date [Next]

mcmodel=large compilation problem Zeng Bin Fri Feb 17 14:00:07 2012

Hi All,

I am stumped on a problem to compile gcc-4.6.2 and gcc libs with
-mcmodel=large.
I tried different combination of configuration options and googled for
a long time and still could not solve it.
gcc-4.6.2 is configured like this:
$ ../src/configure --with-cpu=core2 --disable-multilib
--with-multilib-list=m64 CFLAGS_FOR_TARGET=-mcmodel=large
--with-gmp=/path/to/gmp/install --with-mpfr=/path/to/mpfr/install
--with-mpc=/path/to/mpc/install --prefix=/path/to/install/

or like this:

$ ../src/configure --with-cpu=core2 --disable-multilib
--with-multilib-list=m64 "CFLAGS=-mcmodel=large"
--with-gmp=/home/bzeng/tools/gmp/gmp-5.0.4/install
--with-mpfr=/home/bzeng/tools/mpfr/mpfr-3.1.0/install
--with-mpc=/home/bzeng/tools/mpc/mpc-0.9/install
--prefix=/home/bzeng/tools/gcc/gcc-4.6.2/install-large


It reported the following error message during compilation:

../../../src/libgcc/config/libbid/bid_decimal_globals.c: In function
‘__dfp_set_round’:
../../../src/libgcc/config/libbid/bid_decimal_globals.c:34:1: error:
unrecognizable insn:
(call_insn/u 6 5 7 3 (parallel [
            (set (reg:DI 0 ax)
                (call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")) [0 S1 A8])
                    (const_int 0 [0])))
            (unspec:DI [
                    (symbol_ref:DI ("__bid_IDEC_glbround") [flags
0x10] <var_decl 0x2b9b4508f000 __bid_IDEC_glbround>)
                ] UNSPEC_TLS_GD)
        ]) ../../../src/libgcc/config/libbid/bid_decimal_globals.c:33 -1
     (expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000])
        (nil))
    (nil))
../../../src/libgcc/config/libbid/bid_decimal_globals.c:34:1: internal
compiler error: in extract_insn, at recog.c:2109
Please submit a full bug report,

BTW, I am using Ubuntu on a core2 machine with gcc-4.6.1. I am trying
to compile gcc-4.6.2 and gcc libs with -mcmodel=large.
Any suggestion will be greatly appreciated.
Thanks a lot!