bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/19332] New: [mips] gas fails to build glibc/iconv/gconv_conf.c


From: manuel.lauss at gmail dot com
Subject: [Bug gas/19332] New: [mips] gas fails to build glibc/iconv/gconv_conf.c for mips32r2
Date: Sat, 05 Dec 2015 11:11:12 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=19332

            Bug ID: 19332
           Summary: [mips] gas fails to build glibc/iconv/gconv_conf.c for
                    mips32r2
           Product: binutils
           Version: 2.27 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: manuel.lauss at gmail dot com
  Target Milestone: ---

Created attachment 8831
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8831&action=edit
gcc's assembly of glibc/iconv/gconv_conf.c

I'm trying to build a cross toolchain for mips32r2 little-endian hardfloat,
and gas currently chokes on building git-head of glibc, specifically
iconv/gconv_conf.c.   (binutils git head, gcc-5.3, glibc git head).


mips32r2el-unknown-linux-gnu-gcc  -mips32r2 -EL -Wl,-O1 -Wl,--as-needed
-mabi=32 gconv_conf.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Wundef
-Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -frounding-math
-pipe -Wstrict-prototypes -Wold-style-definition  
-DGCONV_PATH='"/usr/lib/gconv"'  -ftls-model=initial-exec   -U_FORTIFY_SOURCE  
-I../include
-I/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl/iconv

-I/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl
 -I../sysdeps/unix/sysv/linux/mips/mips32/fpu 
-I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips 
-I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread 
-I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv 
-I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix 
-I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32 
-I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips 
-I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64 
-I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754 
-I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem
/usr/lib/gcc/mips32r2el-unknown-linux-gnu/5.2.0/include -isystem
/usr/lib/gcc/mips32r2el-unknown-linux-gnu/5.2.0/include-fixed -isystem
/usr/mips32r2el-unknown-linux-gnu/usr/include  -D_LIBC_REENTRANT -include
/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC     -o
/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl/iconv/gconv_conf.o
-MD -MP -MF
/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl/iconv/gconv_conf.o.dt
-MT
/tmp-ram/portage/cross-mips32r2el-unknown-linux-gnu/glibc-2.22-r1/work/build-default-mips32r2el-unknown-linux-gnu-nptl/iconv/gconv_conf.o
 
{standard input}: Assembler messages:
{standard input}:794: Warning: macro instruction expanded into multiple
instructions
{standard input}:798: Error: macro used $at after ".set noat"
{standard input}:798: Warning: macro instruction expanded into multiple
instructions
{standard input}:821: Warning: macro instruction expanded into multiple
instructions
{standard input}:823: Error: macro used $at after ".set noat"
{standard input}:823: Warning: macro instruction expanded into multiple
instructions

It seems to an "ll/sc" pair, could this be a gcc issue?

__gconv_get_path:
        .frame  $fp,88,$31              # vars= 24, regs= 10/0, args= 16, gp= 8
        .mask   0xc0ff0000,-4
        .fmask  0x00000000,0
        .set    noreorder
        .cpload $25
        .set    reorder
        addiu   $sp,$sp,-88
        sw      $fp,80($sp)
        move    $fp,$sp
        sw      $31,84($sp)
        sw      $23,76($sp)
        sw      $22,72($sp)
        sw      $21,68($sp)
        sw      $20,64($sp)
        sw      $19,60($sp)
        sw      $18,56($sp)
        sw      $17,52($sp)
        sw      $16,48($sp)
        .cprestore      16
        sw      $0,24($fp)
        .set    noreorder
        .set    nomacro
        .set    noat
1:
        ll      $3,lock.10985    <====================
        bne     $3,$0,2f
        li      $2,0
        li      $1,1
        sc      $1,lock.10985    <====================
        beq     $1,$0,1b
        li      $2,1
        sync
2:
        .set    at
        .set    macro
        .set    reorder
        bne     $2,$0,$L152
        la      $4,lock.10985
        sw      $3,24($fp)
        jal     __lll_lock_wait_private


I'm attaching the assembly file.

Thanks!

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

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