cad/graywolf: fix build with -fno-common, from upstream repository

This commit is contained in:
naddy 2021-02-20 19:12:04 +00:00
parent 2ec3ff15c3
commit 0d159c365d
12 changed files with 1273 additions and 2 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.3 2020/04/12 14:46:04 sthen Exp $
# $OpenBSD: Makefile,v 1.4 2021/02/20 19:12:04 naddy Exp $
COMMENT = placement tool used in VLSI design
GH_ACCOUNT = rubund
GH_PROJECT = graywolf
GH_TAGNAME = 0.1.6
REVISION = 0
REVISION = 1
SHARED_LIBS += ycadgraywolf 0.0 # 0.0

View File

@ -0,0 +1,169 @@
$OpenBSD: patch-src_mc_compact_readcgraph_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/mc_compact/readcgraph.c
--- src/mc_compact/readcgraph.c.orig
+++ src/mc_compact/readcgraph.c
@@ -242,12 +242,12 @@ int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
+short *yyssp2;
+YYSTYPE *yyvsp2;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
+short yyss2[YYSTACKSIZE];
+YYSTYPE yyvs2[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
#include "readcgraph_l.h"
@@ -313,9 +313,9 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
+ yyssp2 = yyss2;
+ yyvsp2 = yyvs2;
+ *yyssp2 = yystate = 0;
yyloop:
if (yyn = yydefred[yystate]) goto yyreduce;
@@ -341,12 +341,12 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
yychar = (-1);
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
@@ -416,20 +416,20 @@ yyinrecovery:
yyerrflag = 3;
for (;;)
{
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ if ((yyn = yysindex[*yyssp2]) && (yyn += YYERRCODE) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
{
#if YYDEBUG
if (yydebug)
printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
+ to state %d\n", *yyssp2, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
goto yyloop;
}
else
@@ -437,11 +437,11 @@ yyinrecovery:
#if YYDEBUG
if (yydebug)
printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
+ *yyssp2);
#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
+ if (yyssp2 <= yyss2) goto yyabort;
+ --yyssp2;
+ --yyvsp2;
}
}
}
@@ -468,33 +468,33 @@ yyreduce:
yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
- yyval = yyvsp[1-yym];
+ yyval = yyvsp2[1-yym];
switch (yyn)
{
case 2:
{
- init_graph( yyvsp[-3].ival, yyvsp[0].ival ) ;
+ init_graph( yyvsp2[-3].ival, yyvsp2[0].ival ) ;
}
break;
case 6:
{
/* node:1 x:2 y:4 l:0 r:9 b:0 t:8 */
/* node number, center and size */
- nodeS = yyvsp[-18].ival ;
- addNode( yyvsp[-18].ival, yyvsp[-15].ival, yyvsp[-12].ival ) ;
+ nodeS = yyvsp2[-18].ival ;
+ addNode( yyvsp2[-18].ival, yyvsp2[-15].ival, yyvsp2[-12].ival ) ;
}
break;
case 9:
{
/* ex. adj node:2 len:32 cap:14 l:-89 r:-63 b:0 t:6 HnotV:1 lb:0 rt:0 */
- addEdge( nodeS, yyvsp[-27].ival, /* nodeS, node */
- yyvsp[-6].ival, yyvsp[-3].ival, yyvsp[0].ival ) ;/* HnotV, lbcell, rtcelll */
+ addEdge( nodeS, yyvsp2[-27].ival, /* nodeS, node */
+ yyvsp2[-6].ival, yyvsp2[-3].ival, yyvsp2[0].ival ) ;/* HnotV, lbcell, rtcelll */
}
break;
}
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
+ yyssp2 -= yym;
+ yystate = *yyssp2;
+ yyvsp2 -= yym;
yym = yylhs[yyn];
if (yystate == 0 && yym == 0)
{
@@ -504,8 +504,8 @@ break;
state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
+ *++yyssp2 = YYFINAL;
+ *++yyvsp2 = yyval;
if (yychar < 0)
{
if ((yychar = yylex()) < 0) yychar = 0;
@@ -531,14 +531,14 @@ break;
#if YYDEBUG
if (yydebug)
printf("yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
+to state %d\n", *yyssp2, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate;
- *++yyvsp = yyval;
+ *++yyssp2 = yystate;
+ *++yyvsp2 = yyval;
goto yyloop;
yyoverflow:
yyerror("yacc stack overflow");

View File

@ -0,0 +1,512 @@
$OpenBSD: patch-src_twmc_readcells_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twmc/readcells.c
--- src/twmc/readcells.c.orig
+++ src/twmc/readcells.c
@@ -741,12 +741,12 @@ int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
+short *yyssp2;
+YYSTYPE *yyvsp2;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
+short yyss2[YYSTACKSIZE];
+YYSTYPE yyvs2[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
#include "readcells_l.h"
@@ -810,9 +810,9 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
+ yyssp2 = yyss2;
+ yyvsp2 = yyvs2;
+ *yyssp2 = yystate = 0;
yyloop:
if (yyn = yydefred[yystate]) goto yyreduce;
@@ -838,12 +838,12 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
yychar = (-1);
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
@@ -963,20 +963,20 @@ yyinrecovery:
yyerrflag = 3;
for (;;)
{
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ if ((yyn = yysindex[*yyssp2]) && (yyn += YYERRCODE) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
{
#if YYDEBUG
if (yydebug)
printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
+ to state %d\n", *yyssp2, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
goto yyloop;
}
else
@@ -984,11 +984,11 @@ yyinrecovery:
#if YYDEBUG
if (yydebug)
printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
+ *yyssp2);
#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
+ if (yyssp2 <= yyss2) goto yyabort;
+ --yyssp2;
+ --yyvsp2;
}
}
}
@@ -1015,7 +1015,7 @@ yyreduce:
yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
- yyval = yyvsp[1-yym];
+ yyval = yyvsp2[1-yym];
switch (yyn)
{
case 7:
@@ -1077,7 +1077,7 @@ break;
case 30:
{
endCell() ;
- add_instance( yyvsp[0].string ) ;
+ add_instance( yyvsp2[0].string ) ;
}
break;
case 32:
@@ -1090,25 +1090,25 @@ case 32:
break;
case 36:
{
- addCell( yyvsp[0].string, CUSTOMCELLTYPE ) ;
+ addCell( yyvsp2[0].string, CUSTOMCELLTYPE ) ;
}
break;
case 38:
{
- addCell( yyvsp[0].string, SOFTCELLTYPE ) ;
+ addCell( yyvsp2[0].string, SOFTCELLTYPE ) ;
}
break;
case 39:
{
- addCell( yyvsp[0].string, STDCELLTYPE ) ;
+ addCell( yyvsp2[0].string, STDCELLTYPE ) ;
}
break;
case 41:
{
/* group neighborhood is free to move */
/* we use fixCell to build group box */
- fixCell( GROUPFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( GROUPFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
break;
@@ -1116,8 +1116,8 @@ case 42:
{
/* group neighborhood is fixed */
/* we use fixCell to build group box */
- fixCell( FIXEDGROUPFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( FIXEDGROUPFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
@@ -1125,7 +1125,7 @@ break;
case 43:
{
/* cell is fixed at a point */
- fixCell( POINTFLAG, yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string,
+ fixCell( POINTFLAG, yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string,
0, "L", 0, "B" ) ;
addClass( --unique_classG ) ;
}
@@ -1133,93 +1133,93 @@ break;
case 44:
{
/* cell is fixed within a fixed neighborhood */
- fixCell( NEIGHBORHOODFLAG, yyvsp[-11].ival, yyvsp[-9].string, yyvsp[-8].ival, yyvsp[-6].string,
- yyvsp[-5].ival, yyvsp[-3].string, yyvsp[-2].ival, yyvsp[0].string ) ;
+ fixCell( NEIGHBORHOODFLAG, yyvsp2[-11].ival, yyvsp2[-9].string, yyvsp2[-8].ival, yyvsp2[-6].string,
+ yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[0].string ) ;
addClass( --unique_classG ) ;
}
break;
case 46:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 47:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 48:
{
- addCell( yyvsp[0].string, PADCELLTYPE ) ;
+ addCell( yyvsp2[0].string, PADCELLTYPE ) ;
}
break;
case 49:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( TRUE ) ;
}
break;
case 50:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( FALSE ) ;
}
break;
case 52:
{
- addCell( yyvsp[0].string, SUPERCELLTYPE ) ;
+ addCell( yyvsp2[0].string, SUPERCELLTYPE ) ;
/* initSuperGroup() ; */
}
break;
case 54:
{
- addCell( yyvsp[0].string, GROUPCELLTYPE ) ;
+ addCell( yyvsp2[0].string, GROUPCELLTYPE ) ;
}
break;
case 56:
{
- processCorners( yyvsp[-1].ival ) ;
+ processCorners( yyvsp2[-1].ival ) ;
}
break;
case 57:
{
- yyval.ival = yyvsp[0].ival ;
+ yyval.ival = yyvsp2[0].ival ;
}
break;
case 58:
{
- addCorner( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ addCorner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 59:
{
- addCorner( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ addCorner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 60:
{
- addClass( yyvsp[0].ival ) ;
+ addClass( yyvsp2[0].ival ) ;
}
break;
case 65:
{
/* first in the list is the initial orientation */
- initOrient( yyvsp[0].ival ) ;
+ initOrient( yyvsp2[0].ival ) ;
}
break;
case 66:
{
- addOrient( yyvsp[0].ival ) ;
+ addOrient( yyvsp2[0].ival ) ;
}
break;
case 68:
{
- set_cur_orient( yyvsp[0].ival ) ;
+ set_cur_orient( yyvsp2[0].ival ) ;
}
break;
case 69:
{
- addAspectBounds( yyvsp[-2].fval, yyvsp[0].fval ) ;
+ addAspectBounds( yyvsp2[-2].fval, yyvsp2[0].fval ) ;
}
break;
case 70:
@@ -1234,37 +1234,37 @@ case 79:
break;
case 80:
{
- addPin( yyvsp[-3].string, yyvsp[-1].string, yyvsp[0].ival, HARDPINTYPE ) ;
+ addPin( yyvsp2[-3].string, yyvsp2[-1].string, yyvsp2[0].ival, HARDPINTYPE ) ;
}
break;
case 81:
{
- set_pin_pos( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ set_pin_pos( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 83:
{
- add_analog( yyvsp[0].ival ) ;
+ add_analog( yyvsp2[0].ival ) ;
}
break;
case 84:
{
- add_pin_contour( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin_contour( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 85:
{
- add_pin_contour( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin_contour( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 87:
{
- add_current( yyvsp[0].fval ) ;
+ add_current( yyvsp2[0].fval ) ;
}
break;
case 89:
{
- add_power( yyvsp[0].fval ) ;
+ add_power( yyvsp2[0].fval ) ;
}
break;
case 91:
@@ -1274,7 +1274,7 @@ case 91:
break;
case 94:
{
- addPin( yyvsp[-4].string, yyvsp[-2].string, yyvsp[-1].ival, SOFTPINTYPE ) ;
+ addPin( yyvsp2[-4].string, yyvsp2[-2].string, yyvsp2[-1].ival, SOFTPINTYPE ) ;
set_restrict_type( SOFTPINTYPE ) ;
}
break;
@@ -1292,7 +1292,7 @@ case 99:
break;
case 103:
{
- addPin( yyvsp[-1].string, NULL, yyvsp[0].ival, SOFTEQUIVTYPE ) ;
+ addPin( yyvsp2[-1].string, NULL, yyvsp2[0].ival, SOFTEQUIVTYPE ) ;
}
break;
case 104:
@@ -1304,94 +1304,94 @@ break;
case 108:
{
set_restrict_type( PINGROUPTYPE ) ;
- start_pin_group( yyvsp[-1].string, TRUE ) ;
+ start_pin_group( yyvsp2[-1].string, TRUE ) ;
}
break;
case 109:
{
set_restrict_type( PINGROUPTYPE ) ;
- start_pin_group( yyvsp[-1].string, FALSE ) ;
+ start_pin_group( yyvsp2[-1].string, FALSE ) ;
}
break;
case 112:
{
- add2pingroup( yyvsp[-1].string, TRUE ) ; /* fixed */
+ add2pingroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
}
break;
case 113:
{
- add2pingroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
+ add2pingroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
}
break;
case 116:
{
- addEquivPin( yyvsp[-3].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, HARDPINTYPE ) ;
+ addEquivPin( yyvsp2[-3].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, HARDPINTYPE ) ;
}
break;
case 117:
{ /* default any layer */ yyval.ival = 0 ; }
break;
case 118:
-{ yyval.ival = yyvsp[0].ival ; }
+{ yyval.ival = yyvsp2[0].ival ; }
break;
case 121:
{
- addSideRestriction( yyvsp[0].ival ) ;
+ addSideRestriction( yyvsp2[0].ival ) ;
}
break;
case 122:
{
- addSideRestriction( yyvsp[0].ival ) ;
+ addSideRestriction( yyvsp2[0].ival ) ;
}
break;
case 124:
{
- add_pinspace( yyvsp[0].fval, yyvsp[0].fval ) ;
+ add_pinspace( yyvsp2[0].fval, yyvsp2[0].fval ) ;
}
break;
case 125:
{
- add_pinspace( yyvsp[-1].fval, yyvsp[0].fval ) ;
+ add_pinspace( yyvsp2[-1].fval, yyvsp2[0].fval ) ;
}
break;
case 127:
{
- addSideSpace( yyvsp[0].fval, yyvsp[0].fval ) ;
+ addSideSpace( yyvsp2[0].fval, yyvsp2[0].fval ) ;
}
break;
case 128:
{
- addSideSpace( yyvsp[-1].fval, yyvsp[0].fval ) ;
+ addSideSpace( yyvsp2[-1].fval, yyvsp2[0].fval ) ;
}
break;
case 129:
{
- addPadSide( yyvsp[0].string ) ;
+ addPadSide( yyvsp2[0].string ) ;
}
break;
case 135:
{
- add2padgroup( yyvsp[-1].string, TRUE ) ; /* fixed */
+ add2padgroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
}
break;
case 136:
{
- add2padgroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
+ add2padgroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
}
break;
case 139:
{
- add_cell_to_group( yyvsp[0].string ) ;
+ add_cell_to_group( yyvsp2[0].string ) ;
}
break;
case 140:
{
- add_cell_to_group( yyvsp[0].string ) ;
+ add_cell_to_group( yyvsp2[0].string ) ;
}
break;
case 150:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 151:
@@ -1399,7 +1399,7 @@ case 151:
/* convert integer to string */
/* this allows integers to be used as strings */
/* a kluge but timberwolf's old parser supported it */
- sprintf( bufferS,"%d", yyvsp[0].ival ) ;
+ sprintf( bufferS,"%d", yyvsp2[0].ival ) ;
/* now clone string */
yyval.string = (char *) Ystrclone( bufferS ) ;
}
@@ -1409,15 +1409,15 @@ case 152:
/* convert float to string */
/* this allows floats to be used as strings */
/* a kluge but timberwolf's old parser supported it */
- sprintf( bufferS,"%f", yyvsp[0].fval ) ;
+ sprintf( bufferS,"%f", yyvsp2[0].fval ) ;
/* now clone string */
yyval.string = (char *) Ystrclone( bufferS ) ;
}
break;
}
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
+ yyssp2 -= yym;
+ yystate = *yyssp2;
+ yyvsp2 -= yym;
yym = yylhs[yyn];
if (yystate == 0 && yym == 0)
{
@@ -1427,8 +1427,8 @@ break;
state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
+ *++yyssp2 = YYFINAL;
+ *++yyvsp2 = yyval;
if (yychar < 0)
{
if ((yychar = yylex()) < 0) yychar = 0;
@@ -1454,14 +1454,14 @@ break;
#if YYDEBUG
if (yydebug)
printf("yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
+to state %d\n", *yyssp2, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate;
- *++yyvsp = yyval;
+ *++yyssp2 = yystate;
+ *++yyvsp2 = yyval;
goto yyloop;
yyoverflow:
yyerror("yacc stack overflow");

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_twsc_config_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/config.h
--- src/twsc/config.h.orig
+++ src/twsc/config.h
@@ -34,7 +34,7 @@ EXTERN ROWBOX *rowArrayG ;
EXTERN INT max_blklengthG ;
EXTERN INT route2actG; /* added for placement adjusted for routing */
-EXTERN INT track_pitchG; /* used only if global routing is performed */
+extern INT track_pitchG; /* used only if global routing is performed */
EXTERN INT gridCellG; /* used only if global routing is performed */
EXTERN INT desiredLG ;
EXTERN DOUBLE *macspaceG ;

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_twsc_feeds_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/feeds.h
--- src/twsc/feeds.h.orig
+++ src/twsc/feeds.h
@@ -24,7 +24,7 @@ typedef struct feed_assgn_box {
FEED_SEG ;
EXTERN INT *feeds_in_rowG ;
-EXTERN INT *FeedInRowG ;
+extern INT *FeedInRowG ;
EXTERN INT fdWidthG ;
EXTERN INT *fdcel_addedG ;
EXTERN INT **fdcel_needG ;

View File

@ -0,0 +1,35 @@
$OpenBSD: patch-src_twsc_groute_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/groute.h
--- src/twsc/groute.h.orig
+++ src/twsc/groute.h
@@ -112,7 +112,7 @@ EXTERN SEGBOXPTR *netsegHeadG ;
EXTERN SEGBOXPTR *netsegTailG ;
EXTERN DOUBLE mean_widthG ;
EXTERN INT **pairArrayG ;
-EXTERN INT numnetsG ;
+extern INT numnetsG ;
EXTERN INT numSegsG ;
EXTERN INT numSwSegsG ;
EXTERN INT tracksG ;
@@ -124,12 +124,13 @@ EXTERN INT gxstopG ;
EXTERN INT blkleftG , blkriteG ;
EXTERN INT gtopChanG , gbotChanG ;
EXTERN INT uneven_cell_heightG ;
-EXTERN INT ffeedsG , track_pitchG ;
+extern INT ffeedsG ;
+extern INT track_pitchG ;
-EXTERN INT fdthrusG ;
+extern INT fdthrusG ;
EXTERN INT chan_node_noG ;
-EXTERN INT enough_built_in_feedG ;
-EXTERN INT *FeedInRowG ;
+extern INT enough_built_in_feedG ;
+extern INT *FeedInRowG ;
EXTERN INT blk_most_leftG ;
EXTERN INT blk_most_riteG ;
EXTERN INT *row_rite_classG ;

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-src_twsc_main_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/main.c
--- src/twsc/main.c.orig
+++ src/twsc/main.c
@@ -128,6 +128,13 @@ extern INT spacer_widthG ;
extern INT longest_row_lengthG ;
extern INT largest_delta_row_lenG ;
extern INT total_row_lengthG ;
+INT numnetsG;
+INT *FeedInRowG;
+INT fdthrusG;
+INT track_pitchG;
+INT ffeedsG;
+
+INT maxCellOG ;
extern void readnets(FILE* fp);

View File

@ -0,0 +1,31 @@
$OpenBSD: patch-src_twsc_main_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/main.h
--- src/twsc/main.h.orig
+++ src/twsc/main.h
@@ -21,12 +21,11 @@ EXTERN char *cktNameG ;
EXTERN INT rowsG ;
EXTERN INT attmaxG ;
-EXTERN INT maxCellOG ;
EXTERN INT iterationG ;
EXTERN INT blkxspanG ;
EXTERN INT blkyspanG ;
-EXTERN INT ffeedsG ;
+extern INT ffeedsG ;
EXTERN INT lrtxspanG ;
EXTERN INT lrtyspanG ;
EXTERN INT ifrangeG ;
@@ -38,7 +37,7 @@ EXTERN INT d_costG ;
EXTERN INT resume_runG ;
EXTERN INT implicit_pins_usedG ;
EXTERN INT rowHeightG ;
-EXTERN INT fdthrusG ;
+extern INT fdthrusG ;
EXTERN DOUBLE TG ;
EXTERN DOUBLE imprangeG ;

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_twsc_parser_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/parser.c
--- src/twsc/parser.c.orig
+++ src/twsc/parser.c
@@ -111,6 +111,8 @@ REVISIONS: Mon Nov 19 04:04:18 EST 1990 - added tempe
INT ECOs_existG = 0 ;
INT orig_max_row_lengthG ;
+extern INT maxCellOG ;
+
extern INT totalRG ;
extern INT spacer_widthG ;
extern INT *spacer_feedsG ;

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_twsc_parser_h,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/parser.h
--- src/twsc/parser.h.orig
+++ src/twsc/parser.h
@@ -32,7 +32,6 @@ REVISIONS:
EXTERN SWAPBOX *swap_group_listG ;
EXTERN BOOL one_pin_feedthruG ;
-EXTERN INT maxCellOG ;
EXTERN INT case_unequiv_pinG ;
EXTERN INT celllenG ;
EXTERN INT cells_per_clusterG ;

View File

@ -0,0 +1,418 @@
$OpenBSD: patch-src_twsc_readcell_c,v 1.1 2021/02/20 19:12:04 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/readcell.c
--- src/twsc/readcell.c.orig
+++ src/twsc/readcell.c
@@ -654,12 +654,12 @@ int yydebug;
int yynerrs;
int yyerrflag;
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
+short *yyssp2;
+YYSTYPE *yyvsp2;
YYSTYPE yyval;
YYSTYPE yylval;
-short yyss[YYSTACKSIZE];
-YYSTYPE yyvs[YYSTACKSIZE];
+short yyss2[YYSTACKSIZE];
+YYSTYPE yyvs2[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
#include "readcell_l.h"
@@ -727,9 +727,9 @@ yyparse()
yyerrflag = 0;
yychar = (-1);
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
+ yyssp2 = yyss2;
+ yyvsp2 = yyvs2;
+ *yyssp2 = yystate = 0;
yyloop:
if (yyn = yydefred[yystate]) goto yyreduce;
@@ -755,12 +755,12 @@ yyloop:
printf("yydebug: state %d, shifting to state %d\n",
yystate, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
yychar = (-1);
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
@@ -830,20 +830,20 @@ yyinrecovery:
yyerrflag = 3;
for (;;)
{
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ if ((yyn = yysindex[*yyssp2]) && (yyn += YYERRCODE) >= 0 &&
yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
{
#if YYDEBUG
if (yydebug)
printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
+ to state %d\n", *yyssp2, yytable[yyn]);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
+ *++yyssp2 = yystate = yytable[yyn];
+ *++yyvsp2 = yylval;
goto yyloop;
}
else
@@ -851,11 +851,11 @@ yyinrecovery:
#if YYDEBUG
if (yydebug)
printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
+ *yyssp2);
#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
+ if (yyssp2 <= yyss2) goto yyabort;
+ --yyssp2;
+ --yyvsp2;
}
}
}
@@ -882,7 +882,7 @@ yyreduce:
yystate, yyn, yyrule[yyn]);
#endif
yym = yylen[yyn];
- yyval = yyvsp[1-yym];
+ yyval = yyvsp2[1-yym];
switch (yyn)
{
case 6:
@@ -905,7 +905,7 @@ case 37:
break;
case 43:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 48:
@@ -915,33 +915,33 @@ case 48:
break;
case 51:
{
- addCell( yyvsp[0].string, HARDCELLTYPE ) ;
+ addCell( yyvsp2[0].string, HARDCELLTYPE ) ;
}
break;
case 52:
{
not_supported("softcells") ;
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 53:
{
- addCell( yyvsp[0].string, STDCELLTYPE ) ;
+ addCell( yyvsp2[0].string, STDCELLTYPE ) ;
}
break;
case 60:
{
- fix_placement( yyvsp[-6].string, yyvsp[-5].ival, yyvsp[-3].string, yyvsp[0].ival ) ;
+ fix_placement( yyvsp2[-6].string, yyvsp2[-5].ival, yyvsp2[-3].string, yyvsp2[0].ival ) ;
}
break;
case 61:
{
- add_swap_group( yyvsp[0].string ) ;
+ add_swap_group( yyvsp2[0].string ) ;
}
break;
case 66:
{
- add_legal_blocks( yyvsp[0].ival ) ;
+ add_legal_blocks( yyvsp2[0].ival ) ;
}
break;
case 67:
@@ -951,7 +951,7 @@ case 67:
break;
case 68:
{
- add_initial_orient( yyvsp[0].ival ) ;
+ add_initial_orient( yyvsp2[0].ival ) ;
}
break;
case 72:
@@ -991,58 +991,58 @@ case 78:
break;
case 79:
{
- add_tile( yyvsp[-6].ival, yyvsp[-2].ival, yyvsp[-4].ival, yyvsp[0].ival ) ;
+ add_tile( yyvsp2[-6].ival, yyvsp2[-2].ival, yyvsp2[-4].ival, yyvsp2[0].ival ) ;
}
break;
case 80:
{
- yyval.string = yyvsp[0].string;
+ yyval.string = yyvsp2[0].string;
}
break;
case 81:
{
- yyval.string = yyvsp[0].string;
+ yyval.string = yyvsp2[0].string;
}
break;
case 82:
{
- addCell( yyvsp[0].string, PADTYPE ) ;
+ addCell( yyvsp2[0].string, PADTYPE ) ;
}
break;
case 83:
{
- addCell( yyvsp[-2].string, PADTYPE ) ;
- add_orient(yyvsp[0].ival);
+ addCell( yyvsp2[-2].string, PADTYPE ) ;
+ add_orient(yyvsp2[0].ival);
}
break;
case 84:
{
- add_padside( yyvsp[0].string ) ;
- set_old_format( yyvsp[0].string ) ;
+ add_padside( yyvsp2[0].string ) ;
+ set_old_format( yyvsp2[0].string ) ;
}
break;
case 85:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( TRUE ) ;
add_tile( 0,0,0,0 ) ;
}
break;
case 86:
{
- addCell( yyvsp[-1].string, PADGROUPTYPE ) ;
+ addCell( yyvsp2[-1].string, PADGROUPTYPE ) ;
setPermutation( FALSE ) ;
add_tile( 0,0,0,0 ) ;
}
break;
case 87:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 88:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 89:
@@ -1057,12 +1057,12 @@ case 90:
break;
case 93:
{
- add_corner( yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_corner( yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 96:
{
- add_orient(yyvsp[0].ival);
+ add_orient(yyvsp2[0].ival);
}
break;
case 124:
@@ -1082,99 +1082,99 @@ case 132:
break;
case 133:
{
- add_pin( yyvsp[-6].string, yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin( yyvsp2[-6].string, yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 134:
{
- add_pin( yyvsp[-4].string, yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_pin( yyvsp2[-4].string, yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 137:
{
- add_equiv( yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, FALSE ) ;
+ add_equiv( yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, FALSE ) ;
}
break;
case 138:
{
- add_equiv( yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival, FALSE ) ;
+ add_equiv( yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival, FALSE ) ;
}
break;
case 141:
{
- add_equiv( yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival, TRUE ) ;
+ add_equiv( yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival, TRUE ) ;
}
break;
case 142:
{
- add_equiv( yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival, TRUE ) ;
+ add_equiv( yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival, TRUE ) ;
}
break;
case 145:
{
- add_port( yyvsp[-6].string, yyvsp[-4].string, yyvsp[-2].ival, yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_port( yyvsp2[-6].string, yyvsp2[-4].string, yyvsp2[-2].ival, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 146:
{
- add_port( yyvsp[-4].string, yyvsp[-2].string, 0, yyvsp[-1].ival, yyvsp[0].ival ) ;
+ add_port( yyvsp2[-4].string, yyvsp2[-2].string, 0, yyvsp2[-1].ival, yyvsp2[0].ival ) ;
}
break;
case 149:
{
- add_sidespace( yyvsp[0].fval, yyvsp[0].fval );
+ add_sidespace( yyvsp2[0].fval, yyvsp2[0].fval );
}
break;
case 150:
{
- add_sidespace( yyvsp[-1].fval, yyvsp[0].fval );
+ add_sidespace( yyvsp2[-1].fval, yyvsp2[0].fval );
}
break;
case 155:
{
- add_padside( yyvsp[0].string ) ;
+ add_padside( yyvsp2[0].string ) ;
}
break;
case 158:
{
- add2padgroup( yyvsp[-1].string, TRUE ) ; /* fixed */
+ add2padgroup( yyvsp2[-1].string, TRUE ) ; /* fixed */
}
break;
case 159:
{
- add2padgroup( yyvsp[-1].string, FALSE ) ; /* nonfixed */
+ add2padgroup( yyvsp2[-1].string, FALSE ) ; /* nonfixed */
}
break;
case 160:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 161:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 162:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 163:
{
- Ysafe_free( yyvsp[0].string ) ;
+ Ysafe_free( yyvsp2[0].string ) ;
}
break;
case 164:
{
- yyval.string = yyvsp[0].string ;
+ yyval.string = yyvsp2[0].string ;
}
break;
case 165:
{
/* convert integer to string */
/* this allows integers to be used as strings */
- sprintf( bufferS,"%d", yyvsp[0].ival ) ;
+ sprintf( bufferS,"%d", yyvsp2[0].ival ) ;
/* now clone string */
yyval.string = Ystrclone( bufferS ) ;
}
@@ -1183,15 +1183,15 @@ case 166:
{
/* convert float to string */
/* this allows floats to be used as strings */
- sprintf( bufferS,"%f", yyvsp[0].fval ) ;
+ sprintf( bufferS,"%f", yyvsp2[0].fval ) ;
/* now clone string */
yyval.string = Ystrclone( bufferS ) ;
}
break;
}
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
+ yyssp2 -= yym;
+ yystate = *yyssp2;
+ yyvsp2 -= yym;
yym = yylhs[yyn];
if (yystate == 0 && yym == 0)
{
@@ -1201,8 +1201,8 @@ break;
state %d\n", YYFINAL);
#endif
yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
+ *++yyssp2 = YYFINAL;
+ *++yyvsp2 = yyval;
if (yychar < 0)
{
if ((yychar = yylex()) < 0) yychar = 0;
@@ -1228,14 +1228,14 @@ break;
#if YYDEBUG
if (yydebug)
printf("yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
+to state %d\n", *yyssp2, yystate);
#endif
- if (yyssp >= yyss + yystacksize - 1)
+ if (yyssp2 >= yyss2 + yystacksize - 1)
{
goto yyoverflow;
}
- *++yyssp = yystate;
- *++yyvsp = yyval;
+ *++yyssp2 = yystate;
+ *++yyvsp2 = yyval;
goto yyloop;
yyoverflow:
yyerror("yacc stack overflow");

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-src_twsc_standard_h,v 1.1 2021/02/20 19:12:05 naddy Exp $
Fixes for -fno-common
https://github.com/rubund/graywolf/commit/f47937b66d4d44eafc4224f7c43d556dbf88f05b
Index: src/twsc/standard.h
--- src/twsc/standard.h.orig
+++ src/twsc/standard.h
@@ -304,7 +304,7 @@ EXTERN DOUBLE vertical_wire_weightG ;
/* the configuration */
EXTERN INT numcellsG ;
EXTERN INT numtermsG ;
-EXTERN INT numnetsG ;
+extern INT numnetsG ;
EXTERN INT numpadgrpsG ;
EXTERN INT lastpadG ;
EXTERN INT maxtermG ;