Thanks for tracking this down, Andreas. As far as GDB_REG_BYTES, would it make more sense to tack M5_VAR_USED in front of it rather than replicating the definition? If that works, we could even put it inside a gcc version-dependent ifdef to make it clear that it's a bug workaround and not really needed.
Steve On Thu, Apr 23, 2015 at 10:47 AM, Andreas Hansson <[email protected]> wrote: > changeset 1e8e6c141372 in /z/repo/gem5 > details: http://repo.gem5.org/gem5?cmd=changeset;node=1e8e6c141372 > description: > misc: Appease gcc 5.1 > > This patch fixes a few small issues to ensure gem5 compiles when > using > gcc 5.1. > > First, the GDB_REG_BYTES in the RemoteGDB header are, rather > surprisingly, flagged as unused for both ARM and X86. Removing > them, > however, causes compilation errors as they are actually used in the > source file. Moving the constant into the class definition fixes > the > issue. Possibly a gcc bug. > > Second, we have an unused EthPktData constructor using auto_ptr, > and > the latter is deprecated. Since the code is never used it is simply > removed. > > diffstat: > > src/arch/arm/remote_gdb.hh | 6 +++--- > src/arch/x86/remote_gdb.hh | 8 ++++---- > src/dev/etherpkt.hh | 4 ---- > 3 files changed, 7 insertions(+), 11 deletions(-) > > diffs (62 lines): > > diff -r 74e3c7359393 -r 1e8e6c141372 src/arch/arm/remote_gdb.hh > --- a/src/arch/arm/remote_gdb.hh Wed Apr 22 20:22:29 2015 -0700 > +++ b/src/arch/arm/remote_gdb.hh Thu Apr 23 13:37:46 2015 -0400 > @@ -76,9 +76,6 @@ > GDB64_NUMREGS = 98 > }; > > -const int GDB_REG_BYTES = std::max(GDB64_NUMREGS * sizeof(uint64_t), > - GDB32_NUMREGS * sizeof(uint32_t)); > - > class RemoteGDB : public BaseRemoteGDB > { > protected: > @@ -89,6 +86,9 @@ > void setregs(); > > public: > + const int GDB_REG_BYTES = std::max(GDB64_NUMREGS * sizeof(uint64_t), > + GDB32_NUMREGS * sizeof(uint32_t)); > + > RemoteGDB(System *_system, ThreadContext *tc); > }; > } // namespace ArmISA > diff -r 74e3c7359393 -r 1e8e6c141372 src/arch/x86/remote_gdb.hh > --- a/src/arch/x86/remote_gdb.hh Wed Apr 22 20:22:29 2015 -0700 > +++ b/src/arch/x86/remote_gdb.hh Thu Apr 23 13:37:46 2015 -0400 > @@ -111,6 +111,10 @@ > GDB64_NUMREGS = (GDB64_GS_32 + 1) / 2 + 1 > }; > > + const int GDB_REG_BYTES = > + std::max(RemoteGDB::GDB32_NUMREGS * sizeof(uint32_t), > + RemoteGDB::GDB64_NUMREGS * sizeof(uint64_t)); > + > RemoteGDB(System *system, ThreadContext *context); > > bool acc(Addr addr, size_t len); > @@ -122,10 +126,6 @@ > bool checkBpLen(size_t len) { return len == 1; } > }; > > -const int GDB_REG_BYTES = > - std::max(RemoteGDB::GDB32_NUMREGS * sizeof(uint32_t), > - RemoteGDB::GDB64_NUMREGS * sizeof(uint64_t)); > - > } > > #endif // __ARCH_X86_REMOTEGDB_HH__ > diff -r 74e3c7359393 -r 1e8e6c141372 src/dev/etherpkt.hh > --- a/src/dev/etherpkt.hh Wed Apr 22 20:22:29 2015 -0700 > +++ b/src/dev/etherpkt.hh Thu Apr 23 13:37:46 2015 -0400 > @@ -68,10 +68,6 @@ > : data(new uint8_t[size]), length(0) > { } > > - EthPacketData(std::auto_ptr<uint8_t> d, int l) > - : data(d.release()), length(l) > - { } > - > ~EthPacketData() { if (data) delete [] data; } > > public: > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
