Menu

#1411 dbg_main.cc fails to build if SMP is enabled

fixed_in_SVN
closed
None
1
2020-03-20
2020-01-05
No

Hi,

When BX_USE_CPU_SMF is 0, dbg_main.cc fails to build:

In file included from dbg_main.cc:28:
dbg_main.cc: In function void bx_dbg_tlb_lookup(bx_lin_address):
../cpu/cpu.h:383:28: error: invalid use of this in non-member function
 #  define BX_CPU_THIS_PTR  this->
                            ^~~~
../cpu/tlb.h:62:32: note: in expansion of macro BX_CPU_THIS_PTR
 #define BX_ITLB_INDEX_OF(lpf) (BX_CPU_THIS_PTR ITLB.get_index_of(lpf))
                                ^~~~~~~~~~~~~~~
dbg_main.cc:1497:18: note: in expansion of macro BX_ITLB_INDEX_OF
   Bit32u index = BX_ITLB_INDEX_OF(laddr);
                  ^~~~~~~~~~~~~~~~

A minimal reproducer is

./configure --enable-debugger --enable-smp && make

on the tip of Subversion trunk (and 2.6.11).

Regards,

Stephen

Related

Bugs: #1411

Discussion

  • Stanislav Shwartsman

    • status: open --> closed
    • assigned_to: Stanislav Shwartsman
    • Group: can't_reproduce --> fixed_in_SVN
     
  • Stanislav Shwartsman

    Fixed for SVN

     
  • Anatol Pomozov

    Anatol Pomozov - 2020-03-19

    I hit the same issue.

    Could you please share more information what commit fixed this particular issue?

    Or maybe you can make a new release with this compilation error fixed?

     
    • Stanislav Shwartsman

      Just take the SVN sources

      -----Original Message-----
      From: Anatol Pomozov wassap@users.sourceforge.net
      Sent: Thursday, 19 March 2020 22:13
      To: [bochs:bugs] 1411@bugs.bochs.p.re.sourceforge.net
      Subject: [bochs:bugs] #1411 dbg_main.cc fails to build if SMP is enabled

      I hit the same issue.

      Could you please share more information what commit fixed this particular issue?

      Or maybe you can make a new release with this compilation error fixed?


      ** [bugs:#1411] dbg_main.cc fails to build if SMP is enabled**

      Status: closed
      Group: fixed_in_SVN
      Created: Sun Jan 05, 2020 07:36 PM UTC by Stephen Kitt Last Updated: Mon Jan 06, 2020 01:42 PM UTC
      Owner: Stanislav Shwartsman

      Hi,

      When BX_USE_CPU_SMF is 0, dbg_main.cc fails to build:

      In file included from dbg_main.cc:28:
      dbg_main.cc: In function void bx_dbg_tlb_lookup(bx_lin_address):
      ../cpu/cpu.h:383:28: error: invalid use of this in non-member function
       #  define BX_CPU_THIS_PTR  this->
                                  ^~~~
      ../cpu/tlb.h:62:32: note: in expansion of macro BX_CPU_THIS_PTR
       #define BX_ITLB_INDEX_OF(lpf) (BX_CPU_THIS_PTR ITLB.get_index_of(lpf))
                                      ^~~~~~~~~~~~~~~
      dbg_main.cc:1497:18: note: in expansion of macro BX_ITLB_INDEX_OF
         Bit32u index = BX_ITLB_INDEX_OF(laddr);
                        ^~~~~~~~~~~~~~~~
      

      A minimal reproducer is

      ./configure --enable-debugger --enable-smp && make
      

      on the tip of Subversion trunk (and 2.6.11).

      Regards,

      Stephen


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/bochs/bugs/1411/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #1411

  • Anatol Pomozov

    Anatol Pomozov - 2020-03-20

    I am an Arch Linux developer and want to update bochs package to the latest released version (2.6.11). But it currently broken due to this bug. Arch does not use non-released versions. So I have two options - either cherry-pick the fix for 2.6.11 or wait until 2.6.12 released.

     
    • Stephen Kitt

      Stephen Kitt - 2020-03-20
       
      • Anatol Pomozov

        Anatol Pomozov - 2020-03-20

        Thank you Stephen. This is the patch I was looking for. But even with it I still get a compilation error:

        decoder/fetchdecode32.cc: In function BxDecodeError assign_srcs(bxInstruction_c*, unsigned int, bx_bool, unsigned int, unsigned int, unsigned int, unsigned int, bx_bool, bx_bool):
        decoder/fetchdecode32.cc:1745:16: error: class bxInstruction_c has no member named isZeroMasking
         1745 |         if (i->isZeroMasking())
              |                ^~~~~~~~~~~~~
        decoder/fetchdecode32.cc:1754:18: error: class bxInstruction_c has no member named isZeroMasking
         1754 |           if (i->isZeroMasking())
              |                  ^~~~~~~~~~~~~
        decoder/fetchdecode32.cc:1786:16: error: class bxInstruction_c has no member named isZeroMasking
         1786 |         if (i->isZeroMasking())
              |                ^~~~~~~~~~~~~
        make[1]: *** [Makefile:145: decoder/fetchdecode32.o] Error 1
        make[1]: Leaving directory '/build/bochs/src/bochs-2.6.11/cpu'
        make: *** [Makefile:335: cpu/libcpu.a] Error 2
        
         
        • Stephen Kitt

          Stephen Kitt - 2020-03-20

          That’s another bug, you need --enable-evex.

           

Log in to post a comment.