tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] libtest fails on mingw since d04ce77 (2019-05-30)


From: Christian Jullien
Subject: Re: [Tinycc-devel] libtest fails on mingw since d04ce77 (2019-05-30)
Date: Mon, 24 Jun 2019 06:53:01 +0200

There are two more cases to handle in this file:

  asm volatile (".globl some_symbol\n"
                "jmp .+6\n"
                "1:\n"
                "some_symbol: .long 0\n"
                ".pushsection __bug_table, \"a\"\n"
                ".globl bug_table\n"
                "bug_table:\n"
                /* The first entry (1b-2b) is unused in this test,
                   but we include it to check if cross-section
                   PC-relative references work.  */
                "2:\t.long 1b - 2b, %c0 - 2b\n"
                ".popsection\n" : : "i" ("A string"));

And

asm(".data\n"
    ".byte 41\n"
    "alld_stuff:\n"
    "661:\n"
    ".byte 42\n"
    "662:\n"
    ".pushsection .data.ignore\n"
    ".long 661b - .\n" /* This reference to 661 generates an external sym
                          which shouldn't somehow overwrite the offset that's
                          already determined for it.  */
    ".popsection\n"
    ".byte 662b - 661b\n"  /* So that this value is undeniably 1.  */);

C.

-----Original Message-----
From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=address@hidden] On 
Behalf Of Michael Matz
Sent: Monday, June 24, 2019 05:21
To: address@hidden
Subject: Re: [Tinycc-devel] libtest fails on mingw since d04ce77 (2019-05-30)

Hi,

On Sun, 23 Jun 2019, address@hidden wrote:

> d04ce77 Don't allow section switches in local asm instructions - Michael Matz
>
> with the following error:
>
> ------------ libtest ------------
> ./libtcc_test.exe -B../../win32 -I../../include -I../.. -I.. -L..
> Hello World!
> fib(32) = 2178309
> add(32, 64) = 96
> gcc.exe -o tcctest.gcc ../../tests/tcctest.c -DTCC_TARGET_X86_64 
> -DTCC_TARGET_PE -fno-strict-aliasing -I.. -I../..  -w -O0 -std=gnu99 
> -fno-omit-frame-pointer
> /tmp/ccUS0anU.s: Assembler messages:
> /tmp/ccUS0anU.s:10423: Error: unknown pseudo-op: `.pushsection'
> /tmp/ccUS0anU.s:10423: Error: unknown pseudo-op: `.popsection'
> /tmp/ccUS0anU.s:10432: Error: unknown pseudo-op: `.previous'

I tried fixing this in mob by not using those directives.  I've used the 
_WIN32 preprocessor define as condition.  In case that's not enough for 
mingw64 (maybe it only uses _WIN64?) please adjust accordingly.


Ciao,
Michael.

_______________________________________________
Tinycc-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel




reply via email to

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