[Pkg-electronics-commits] [SCM] Packaging for Verilator branch, master, updated. debian/3.820-1-2-gebf1038

أحمد المحمو =?UTF-8?Q?=D8=AF=D9=8A=20?=(Ahmed El-Mahmoudy) aelmahmoudy at sabily.org
Tue Aug 23 11:15:28 UTC 2011


The following commit has been merged in the master branch:
commit ebf1038329d6594576a9359e970662a955e13e9a
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy at sabily.org>
Date:   Tue Aug 23 09:58:04 2011 +0200

    Cherry-picked Fix-PowerPC-runtime-error.patch from upstream VCS
    
    Closes: #598256

diff --git a/debian/patches/Fix-PowerPC-runtime-error.patch b/debian/patches/Fix-PowerPC-runtime-error.patch
new file mode 100644
index 0000000..fd1af2e
--- /dev/null
+++ b/debian/patches/Fix-PowerPC-runtime-error.patch
@@ -0,0 +1,131 @@
+Description: Fix PowerPC runtime error
+Origin: upstream, commit: 3fae8ade05cb6ed12735c867f2bafd60418e20a8
+Author: Wilson Snyder <wsnyder at wsnyder.org>
+Bug: http://www.veripool.org/issues/288
+Bug-Debian: http://bugs.debian.org/598256
+
+---
+ src/Makefile_obj.in |   21 +++++++++++----------
+ src/V3AstNodes.h    |    2 +-
+ src/V3ParseImp.h    |    2 +-
+ src/V3ParseLex.cpp  |    2 +-
+ src/V3PreLex.l      |    1 +
+ src/verilog.l       |    3 ++-
+ src/verilog.y       |    2 +-
+ 8 files changed, 20 insertions(+), 15 deletions(-)
+
+--- a/src/Makefile_obj.in
++++ b/src/Makefile_obj.in
+@@ -58,7 +58,7 @@
+ 
+ # Compile options
+ CFG_WITH_DEFENV = @CFG_WITH_DEFENV@
+-CPPFLAGSNOWALL += @CPPFLAGS@
++CPPFLAGS += @CPPFLAGS@
+ LDFLAGS += @LDFLAGS@
+ 
+ #### End of system configuration section. ####
+@@ -85,17 +85,18 @@
+ # -lfl not needed as Flex invoked with %nowrap option
+ LIBS = -lm
+ 
+-CPPFLAGSNOWALL += -MMD
+-CPPFLAGSNOWALL += -I. -I$(bldsrc) -I$(srcdir) -I$(incdir)
+-CPPFLAGSNOWALL += -DYYDEBUG 	# Required to get nice error messages
+-#CPPFLAGSNOWALL += -DVL_LEAK_CHECKS 	# If running valgrind or other hunting tool
+-CPPFLAGSNOWALL += $(COPT)
+-CPPFLAGS = $(CPPFLAGSNOWALL)
++CPPFLAGS += -MMD
++CPPFLAGS += -I. -I$(bldsrc) -I$(srcdir) -I$(incdir)
++CPPFLAGS += -DYYDEBUG 	# Required to get nice error messages
++#CPPFLAGS += -DVL_LEAK_CHECKS 	# If running valgrind or other hunting tool
++CPPFLAGS += $(COPT)
++CPPFLAGS += -MP # Only works on recent GCC versions
+ ifeq ($(VERILATOR_AUTHOR_SITE),1)	# Local... Else don't burden users
+-CPPFLAGSNOWALL += -MP	# Only works on recent GCC versions
+ CPPFLAGS += -W -Wall -Wno-unused-parameter -Wno-char-subscripts -Werror
+ #CPPFLAGS += -pedantic-errors
+ endif
++CPPFLAGSWALL   = $(CPPFLAGS)
++CPPFLAGSNOWALL = $(CPPFLAGS)
+ 
+ ifneq ($(SYSTEMPERL),)	# Intuit SYSTEMPERL_INCLUDE as it's new
+  SYSTEMPERL_INCLUDE ?= $(SYSTEMPERL)/src
+@@ -262,9 +263,9 @@
+ 	$(PERL) $(ASTGEN) -I$(srcdir) $*.cpp
+ 
+ %.o:	%.cpp
+-	$(OBJCACHE) ${CXX} ${CPPFLAGS} -c $<
++	$(OBJCACHE) ${CXX} ${CPPFLAGSWALL} -c $<
+ %.o:	%.c
+-	$(OBJCACHE) ${CC}  ${CPPFLAGS} -c $<
++	$(OBJCACHE) ${CC}  ${CPPFLAGSWALL} -c $<
+ 
+ V3ParseLex.o:	V3ParseLex.cpp V3Lexer.yy.cpp V3ParseBison.c
+ 	$(OBJCACHE) ${CXX} ${CPPFLAGSNOWALL} -c $<
+--- a/src/V3AstNodes.h
++++ b/src/V3AstNodes.h
+@@ -3465,7 +3465,7 @@
+     virtual void numberOperate(V3Number& out, const V3Number& lhs, const V3Number& rhs) { out.opBufIf1(lhs,rhs); }
+     virtual string emitVerilog() { return "bufif(%r,%l)"; }
+     virtual string emitC() { V3ERROR_NA; return "";}  // Lclean || Rclean
+-    virtual string emitSimpleOperator() { V3ERROR_NA; return false;}  // Lclean || Rclean
++    virtual string emitSimpleOperator() { V3ERROR_NA; return "";}  // Lclean || Rclean
+     virtual bool cleanOut() {V3ERROR_NA; return "";}  // Lclean || Rclean
+     virtual bool cleanLhs() {return false;} virtual bool cleanRhs() {return false;}
+     virtual bool sizeMattersLhs() {return false;} virtual bool sizeMattersRhs() {return false;}
+--- a/src/V3ParseImp.h
++++ b/src/V3ParseImp.h
+@@ -316,7 +316,7 @@
+ public:
+     // CREATORS
+     V3ParseImp(AstNetlist* rootp, V3InFilter* filterp)
+-	: m_sym(rootp), m_filterp(filterp) {
++	: m_filterp(filterp), m_sym(rootp) {
+ 	m_rootp = rootp; m_lexerp = NULL;
+ 	m_inCellDefine = false;
+ 	m_inLibrary = false;
+--- a/src/V3ParseLex.cpp
++++ b/src/V3ParseLex.cpp
+@@ -62,7 +62,7 @@
+ void V3ParseImp::stateExitPsl() { parsep()->m_lexerp->stateExitPsl(); }
+ void V3ParseImp::statePushVlg() { parsep()->m_lexerp->stateExitPsl(); }
+ void V3ParseImp::statePop()	{ parsep()->m_lexerp->statePop(); }
+-int V3ParseImp::yylexThis() {     parsep()->m_lexerp->yylex(); }
++int V3ParseImp::yylexThis() {     return parsep()->m_lexerp->yylex(); }
+ 
+ //######################################################################
+ // Read class functions
+--- a/src/V3PreLex.l
++++ b/src/V3PreLex.l
+@@ -538,6 +538,7 @@
+     if (0) {
+ 	// Prevent unused warnings
+ 	yy_top_state();
++	yyerror((char*)"");
+     }
+ }
+ 
+--- a/src/verilog.l
++++ b/src/verilog.l
+@@ -963,7 +963,8 @@
+     *dp++ = '\0';
+     char* endp = strgp;
+     double d = strtod(strgp, &endp);
+-    if ((endp-strgp) != length) { yyerrorf("Syntax error parsing real: %s",strgp); }
++    size_t parsed_len = endp-strgp;
++    if (parsed_len != length) { yyerrorf("Syntax error parsing real: %s",strgp); }
+     delete strgp;
+     return d;
+ }
+--- a/src/verilog.y
++++ b/src/verilog.y
+@@ -71,7 +71,7 @@
+ 	m_varIO = AstVarType::UNKNOWN;
+ 	m_varDTypep = NULL;
+ 	m_pinNum = -1;
+-	m_instModule;
++	m_instModule = "";
+ 	m_instParamp = NULL;
+ 	m_modp = NULL;
+ 	m_modTypeImpNum = 0;
diff --git a/debian/patches/series b/debian/patches/series
index 4b7e6fa..da64f98 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 shebang.diff
+Fix-PowerPC-runtime-error.patch

-- 
Packaging for Verilator



More information about the Pkg-electronics-commits mailing list