Commit 82a8d7e
authored
Fix gensairpc.pl crash on Doxygen 1.9.8+ by reusing NeedsTwoPassProcessing (#2282)
Why:
To fix below build error
Uncaught exception from user code:
at gensairpc.pl line 480.
main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
main::get_definitions() called at gensairpc.pl line 156
main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
main::get_definitions() called at gensairpc.pl line 156
How:
gensairpc.pl crashed during SAI thrift build with an uncaught exception
at line 480 (assign_attr_types) because its inline Doxygen layout
detection was too weak - it only checked sai_8h.xml for any enumvalue
presence, missing cases where the new Doxygen 1.9.8+ XML structure
requires group__*.xml files to be processed for complete definitions.
This caused incomplete parsing, leading to missing types and a croak
in assign_attr_types when sai_attribute_value_t could not be found.
Changes:
- xmlutils.pm: Add NeedsTwoPassProcessing and export it.
- parse.pl: Remove local NeedsTwoPassProcessing; use imported version.
- gensairpc.pl: Replace inline detection with NeedsTwoPassProcessing()
call, fixing the build failure and eliminating code duplication.
Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>1 parent 3eb1414 commit 82a8d7e
3 files changed
Lines changed: 114 additions & 103 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | | - | |
381 | | - | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
382 | 388 | | |
383 | 389 | | |
| 390 | + | |
| 391 | + | |
384 | 392 | | |
385 | 393 | | |
386 | 394 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5298 | 5298 | | |
5299 | 5299 | | |
5300 | 5300 | | |
5301 | | - | |
5302 | | - | |
5303 | | - | |
5304 | | - | |
5305 | | - | |
5306 | | - | |
5307 | | - | |
5308 | | - | |
5309 | | - | |
5310 | | - | |
5311 | | - | |
5312 | | - | |
5313 | | - | |
5314 | | - | |
5315 | | - | |
5316 | | - | |
5317 | | - | |
5318 | | - | |
5319 | | - | |
5320 | | - | |
5321 | | - | |
5322 | | - | |
5323 | | - | |
5324 | | - | |
5325 | | - | |
5326 | | - | |
5327 | | - | |
5328 | | - | |
5329 | | - | |
5330 | | - | |
5331 | | - | |
5332 | | - | |
5333 | | - | |
5334 | | - | |
5335 | | - | |
5336 | | - | |
5337 | | - | |
5338 | | - | |
5339 | | - | |
5340 | | - | |
5341 | | - | |
5342 | | - | |
5343 | | - | |
5344 | | - | |
5345 | | - | |
5346 | | - | |
5347 | | - | |
5348 | | - | |
5349 | | - | |
5350 | | - | |
5351 | | - | |
5352 | | - | |
5353 | | - | |
5354 | | - | |
5355 | | - | |
5356 | | - | |
5357 | | - | |
5358 | | - | |
5359 | | - | |
5360 | | - | |
5361 | | - | |
5362 | | - | |
5363 | | - | |
5364 | | - | |
5365 | | - | |
5366 | | - | |
5367 | | - | |
5368 | | - | |
5369 | | - | |
5370 | | - | |
5371 | | - | |
5372 | | - | |
5373 | | - | |
5374 | | - | |
5375 | | - | |
5376 | | - | |
5377 | | - | |
5378 | | - | |
5379 | | - | |
5380 | | - | |
5381 | | - | |
5382 | | - | |
5383 | | - | |
5384 | | - | |
5385 | | - | |
5386 | | - | |
5387 | | - | |
5388 | | - | |
5389 | | - | |
5390 | | - | |
5391 | | - | |
5392 | | - | |
5393 | | - | |
5394 | | - | |
5395 | | - | |
5396 | | - | |
5397 | | - | |
5398 | | - | |
5399 | | - | |
5400 | | - | |
5401 | | - | |
5402 | 5301 | | |
5403 | 5302 | | |
5404 | 5303 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
568 | 568 | | |
569 | 569 | | |
570 | 570 | | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
571 | 674 | | |
572 | 675 | | |
573 | 676 | | |
| |||
636 | 739 | | |
637 | 740 | | |
638 | 741 | | |
| 742 | + | |
639 | 743 | | |
640 | 744 | | |
641 | 745 | | |
| |||
0 commit comments