Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-28 Thread Christer Solskogen

On 27.01.2019 20:18, Mateusz wrote:

W dniu 27.01.2019 o 18:40, Christer Solskogen pisze:

On 26.01.2019 01:01, Mateusz wrote:


For me it looks OK.


Which version of binutils? It's fixed in master branch.


$ gcc -v && ld -v
Using built-in specs.
COLLECT_GCC=f:\msys\m64-83\bin\gcc.exe
COLLECT_LTO_WRAPPER=f:/msys/m64-83/bin/../libexec/gcc/x86_64-w64-mingw32/8.2.1/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: /home/ma/m/source/gcc-8/configure --host=x86_64-w64-mingw32 
--target=x86_64-w64-mingw32 --disable-nls --enable-languages=c,c++,objc,obj-c++ 
--with-gmp=/home/ma/m/build/for_target --with-mpfr=/home/ma/m/build/for_target 
--with-mpc=/home/ma/m/build/for_target --with-isl=/home/ma/m/build/for_target 
--enable-twoprocess --disable-libstdcxx-pch --disable-win32-registry 
--disable-shared --enable-fully-dynamic-string --prefix=/home/ma/m/target 
--with-sysroot=/home/ma/m/target
Thread model: win32
gcc version 8.2.1 20190125 (GCC)
GNU ld (GNU Binutils) 2.32.51.20190125

It is fixed for binary zero in *.s file, but there is no binary zero in my *.s 
file.


And was the native compiler cross compiled from Linux?


Yes, Ubuntu 16.04, build script close to 
https://sourceforge.net/projects/mingw-w64-dgn/
Cross compiler was build without '--enable-experimental --enable-wildcard'.
I've added '--enable-experimental --enable-wildcard' options only to 
rebuild_target.sh
it is close to 
https://sourceforge.net/p/mingw-w64-dgn/code/HEAD/tree/trunk/rebuild_target.sh



And that is perhaps the culpit. My cross compiler was built with 
'--enable-experimental' (I did not recompile mingw-crt for the crossed 
compiler, I just copied the libs and headers. No reason to compile them 
again)


--
chs




___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-27 Thread Mateusz
W dniu 27.01.2019 o 18:40, Christer Solskogen pisze:
> On 26.01.2019 01:01, Mateusz wrote:
> 
>> For me it looks OK.
> 
> Which version of binutils? It's fixed in master branch.

$ gcc -v && ld -v
Using built-in specs.
COLLECT_GCC=f:\msys\m64-83\bin\gcc.exe
COLLECT_LTO_WRAPPER=f:/msys/m64-83/bin/../libexec/gcc/x86_64-w64-mingw32/8.2.1/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: /home/ma/m/source/gcc-8/configure --host=x86_64-w64-mingw32 
--target=x86_64-w64-mingw32 --disable-nls --enable-languages=c,c++,objc,obj-c++ 
--with-gmp=/home/ma/m/build/for_target --with-mpfr=/home/ma/m/build/for_target 
--with-mpc=/home/ma/m/build/for_target --with-isl=/home/ma/m/build/for_target 
--enable-twoprocess --disable-libstdcxx-pch --disable-win32-registry 
--disable-shared --enable-fully-dynamic-string --prefix=/home/ma/m/target 
--with-sysroot=/home/ma/m/target
Thread model: win32
gcc version 8.2.1 20190125 (GCC)
GNU ld (GNU Binutils) 2.32.51.20190125

It is fixed for binary zero in *.s file, but there is no binary zero in my *.s 
file.

> And was the native compiler cross compiled from Linux?

Yes, Ubuntu 16.04, build script close to 
https://sourceforge.net/projects/mingw-w64-dgn/
Cross compiler was build without '--enable-experimental --enable-wildcard'.
I've added '--enable-experimental --enable-wildcard' options only to 
rebuild_target.sh
it is close to 
https://sourceforge.net/p/mingw-w64-dgn/code/HEAD/tree/trunk/rebuild_target.sh

> Try with a simple hello world in C (or C++) (without the #define)

All OK, without binary 0.

Regards
Mateusz



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-27 Thread Christer Solskogen

On 26.01.2019 01:01, Mateusz wrote:


For me it looks OK.


Which version of binutils? It's fixed in master branch.

And was the native compiler cross compiled from Linux?

Try with a simple hello world in C (or C++) (without the #define)





___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-25 Thread Mateusz
W dniu 25.01.2019 o 10:48, Christer Solskogen pisze:
> On 25.01.2019 10:43, Mateusz wrote:
>> W dniu 21.01.2019 o 21:20, Christer Solskogen pisze:
>>> I've successfully built a multilib compiler on linux targeting both 
>>> x86_64-w64-mingw32 and i686-w64-mingw32. Using that compiler to compile a 
>>> native Windows compiler (what do you really call that? Crossed compiler? 
>>> Hosted?) with mingw-w64-crt configured with "--enable-experimental" I get 
>>> this (on Windows).
>>
>> Could you post your mingw-w64-crt configure options to reproduce the problem 
>> (did you use --enable-experimental all or --enable-experimental printf128)?
>>
> 
> "--enable-experimental --enable-wildcard"
> Which enables all of the experimental options, I guess.

OK, I've compiled native gcc (one 64-bit lib) with mingw-w64-crt options:
$M_SOURCE/mingw-w64-v$VER_MINGW64/mingw-w64-crt/configure \
  --host=$MINGW_TRIPLE \
  --prefix=$M_TARGET/$MINGW_TRIPLE $MINGW_LIB --enable-experimental 
--enable-wildcard

And with this native gcc (64-bit):
$ cat t.c
#define __USE_MINGW_ANSI_STDIO
#include 

int main()
{
  __int128 t = 0;
  t -= 1;
  printf("hello %I128u\n", t);
  return 0;
}
Mateusz@Mateusz-i7 /f/t/e
$ gcc -Wall -O2 -save-temps -o t.exe t.c
t.c: In function 'main':
t.c:8:10: warning: format '%u' expects argument of type 'unsigned int', but 
argument 2 has type '__int128' [-Wformat=]
   printf("hello %I128u\n", t);
  ^~~~  ~

Mateusz@Mateusz-i7 /f/t/e
$ t
hello 340282366920938463463374607431768211455

Mateusz@Mateusz-i7 /f/t/e
$ cat t.s
.file   "t.c"
.text
.section .rdata,"dr"
.LC0:
.ascii "hello %I128u\12\0"
.text
.p2align 4,,15
.defprintf.constprop.0; .scl3;  .type   32; .endef
.seh_proc   printf.constprop.0
printf.constprop.0:
pushq   %rbx
.seh_pushreg%rbx
subq$48, %rsp
.seh_stackalloc 48
.seh_endprologue
movl$1, %ecx
leaq72(%rsp), %rbx
movq%rdx, 72(%rsp)
movq%r8, 80(%rsp)
movq%r9, 88(%rsp)
movq%rbx, 40(%rsp)
call*__imp___acrt_iob_func(%rip)
movq%rbx, %r8
leaq.LC0(%rip), %rdx
movq%rax, %rcx
call__mingw_vfprintf
addq$48, %rsp
popq%rbx
ret
.seh_endproc
.def__main; .scl2;  .type   32; .endef
.section.text.startup,"x"
.p2align 4,,15
.globl  main
.defmain;   .scl2;  .type   32; .endef
.seh_proc   main
main:
subq$56, %rsp
.seh_stackalloc 56
.seh_endprologue
call__main
leaq32(%rsp), %rdx
leaq.LC0(%rip), %rcx
movq$-1, 32(%rsp)
movq$-1, 40(%rsp)
callprintf.constprop.0
xorl%eax, %eax
addq$56, %rsp
ret
.seh_endproc
.ident  "GCC: (GNU) 8.2.1 20190125"
.def__mingw_vfprintf;   .scl2;  .type   32; .endef

For me it looks OK.

Regards
Mateusz



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-25 Thread Christer Solskogen

On 25.01.2019 10:43, Mateusz wrote:

W dniu 21.01.2019 o 21:20, Christer Solskogen pisze:

I've successfully built a multilib compiler on linux targeting both x86_64-w64-mingw32 
and i686-w64-mingw32. Using that compiler to compile a native Windows compiler (what do 
you really call that? Crossed compiler? Hosted?) with mingw-w64-crt configured with 
"--enable-experimental" I get this (on Windows).


Could you post your mingw-w64-crt configure options to reproduce the problem 
(did you use --enable-experimental all or --enable-experimental printf128)?



"--enable-experimental --enable-wildcard"
Which enables all of the experimental options, I guess.


--
chs



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-25 Thread Mateusz
W dniu 21.01.2019 o 21:20, Christer Solskogen pisze:
> I've successfully built a multilib compiler on linux targeting both 
> x86_64-w64-mingw32 and i686-w64-mingw32. Using that compiler to compile a 
> native Windows compiler (what do you really call that? Crossed compiler? 
> Hosted?) with mingw-w64-crt configured with "--enable-experimental" I get 
> this (on Windows).

Could you post your mingw-w64-crt configure options to reproduce the problem 
(did you use --enable-experimental all or --enable-experimental printf128)?

Regards
Mateusz



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-24 Thread Christer Solskogen

On 23.01.2019 03:26, Liu Hao wrote:


I have CC'd binutils ML. Hope someone there would know something about GAS.



It's now fixed in binutils. The question is why does 
--enable-experimental produce a assembler like that?




___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-22 Thread Christer Solskogen

On 23.01.2019 05:35, Alan Modra wrote:

On Wed, Jan 23, 2019 at 10:26:06AM +0800, Liu Hao wrote:

在 2019/1/22 上午4:20, Christer Solskogen 写道:

I've successfully built a multilib compiler on linux targeting both
x86_64-w64-mingw32 and i686-w64-mingw32. Using that compiler to compile
a native Windows compiler (what do you really call that? Crossed
compiler? Hosted?) with mingw-w64-crt configured with
"--enable-experimental" I get this (on Windows).

Internal error in stringer at
/home/builder/binutils-2.31.1/gas/read.c:5366.
Please report this bug.


gas shouldn't be reporting an internal error here.  Very likely you
have a wrongly quoted string in the input to gas.  Please open a bug
at https://sourceware.org/bugzilla/enter_bug.cgi?product=binutils with
the input to gas (.s file) attached.



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

There is a difference between them.

The working .S file has: .ascii "Hello world!\0"
The not working .S file has: 	.ascii "Hello world!\ " (notepad++ says: 
!\NUL" instead of the whitespace.




___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] --enable-experimental breaks as

2019-01-22 Thread Liu Hao
在 2019/1/22 上午4:20, Christer Solskogen 写道:
> I've successfully built a multilib compiler on linux targeting both
> x86_64-w64-mingw32 and i686-w64-mingw32. Using that compiler to compile
> a native Windows compiler (what do you really call that? Crossed
> compiler? Hosted?) with mingw-w64-crt configured with
> "--enable-experimental" I get this (on Windows).
> 
> Internal error in stringer at
> /home/builder/binutils-2.31.1/gas/read.c:5366.
> Please report this bug.
> 
> I get the same error with a simple Hello World in either C and C++ (alas
> both gcc.exe and g++.exe produce the error)
> 
> If I compile mingw-w64-crt without "--enable-experimental" I do not see
> that error.
> Not sure if it means anything, but the crossed compiler is multilib.
> 
> cross-binutils is configured like this:
> /home/builder/binutils-2.31.1/configure --prefix=/opt/cross
> --target=x86_64-w64-mingw32
> 
> cross-gcc: /home/builder/gcc-8/configure --prefix=/opt/cross
> --libexecdir=/opt/cross/lib --target=x86_64-w64-mingw32
> --enable-languages=c,c++ --disable-libstdcxx-pch --enable-libgomp
> --enable-threads=posix --with-sysroot=/opt/cross
> 
> crossed-binutils:  /home/builder/binutils-2.31.1/configure
> --prefix=/mingw64 --host=x86_64-w64-mingw32
> 
> crossed-gcc: /home/builder/gcc-8/configure --prefix=/mingw64
> --libexecdir=/mingw64/lib --host=x86_64-w64-mingw32
> --target=x86_64-w64-mingw32 --enable-languages=c,c++
> --disable-libstdcxx-pch --enable-libgomp --enable-threads=posix
> 

I have CC'd binutils ML. Hope someone there would know something about GAS.

-- 
Best regards,
LH_Mouse



signature.asc
Description: OpenPGP digital signature
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] --enable-experimental breaks as

2019-01-21 Thread Christer Solskogen
I've successfully built a multilib compiler on linux targeting both 
x86_64-w64-mingw32 and i686-w64-mingw32. Using that compiler to compile 
a native Windows compiler (what do you really call that? Crossed 
compiler? Hosted?) with mingw-w64-crt configured with 
"--enable-experimental" I get this (on Windows).


Internal error in stringer at /home/builder/binutils-2.31.1/gas/read.c:5366.
Please report this bug.

I get the same error with a simple Hello World in either C and C++ (alas 
both gcc.exe and g++.exe produce the error)


If I compile mingw-w64-crt without "--enable-experimental" I do not see 
that error.

Not sure if it means anything, but the crossed compiler is multilib.

cross-binutils is configured like this: 
/home/builder/binutils-2.31.1/configure --prefix=/opt/cross 
--target=x86_64-w64-mingw32


cross-gcc: /home/builder/gcc-8/configure --prefix=/opt/cross 
--libexecdir=/opt/cross/lib --target=x86_64-w64-mingw32 
--enable-languages=c,c++ --disable-libstdcxx-pch --enable-libgomp 
--enable-threads=posix --with-sysroot=/opt/cross


crossed-binutils:  /home/builder/binutils-2.31.1/configure 
--prefix=/mingw64 --host=x86_64-w64-mingw32


crossed-gcc: /home/builder/gcc-8/configure --prefix=/mingw64 
--libexecdir=/mingw64/lib --host=x86_64-w64-mingw32 
--target=x86_64-w64-mingw32 --enable-languages=c,c++ 
--disable-libstdcxx-pch --enable-libgomp --enable-threads=posix


--
chs




___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public