Trepan-Debuggers / Trepan-Debuggers/remake

Rebase onto 4.4 to support new ˋ--shuffleˋ option

Open
#152 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
850
Forks
80
PR merge metrics
No merged PRs in 30d

Description

Since GNU Make 4.4, a new option ˋ--shuffleˋ was introduced. It helps pointing out errors in missing dependencies by intentionally reordering jobs to do while still respecting the constraints of a Makefile. So rare-to-find issues that only occur with big parallel builds and when some jobs take abnormally a different time that causes a change in order, become evident really easily, for me in the first run.

See:
https://trofi.github.io/posts/238-new-make-shuffle-mode.html
https://trofi.github.io/posts/249-an-update-on-make-shuffle.html
https://trofi.github.io/posts/294-an-obscure-make-shuffle-bug.html
https://www.gnu.org/software/make/manual/html_node/Options-Summary.html

But now that I found remake, with its profiling output, and the nice trace output, it's a difficult choice to make to chose either one or the other. Considering that remake seems to be targetted to be a tool to enhance gnu make in order to debug weird issues, or to use its debugger, I think that rebasing to 4.4 brings a useful feature and seems worth it ;)

I read the wiki entry that explained the manual rebasing process, it seems too complicated for me to follow through.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the repository wiki's manual rebasing process and review the GNU Make 4.4 documentation for the --shuffle option, along with the linked shuffle-mode references. Rebase remake onto GNU Make 4.4 and verify that the new option works without losing remake's tracing, profiling, or debugging behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.