Skip to content

Build using -pedantic; in Autoconf maintainer mode #2174

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 66 commits into from
Oct 31, 2020

Conversation

jbenden
Copy link
Collaborator

@jbenden jbenden commented Aug 18, 2020

This patch series goes through the source code to enable builds, without warnings or errors, under the strictness of -pedantic compiler flag. Additionally, some of the shell scripts were fixed with shellcheck.

This patch series introduces the selection of a C++ standard (non-required) to assess the availability across the CI infrastructure.

This patch series fixes the great majority of outstanding PVS-Studio warnings.

Finally, and most important for other developers, is that we all must enable maintainer mode during our development; pass --enable-maintainer-mode to the configure script. This Autoconf flag is what enables the -pedantic warnings.

@aircrack-ng
Copy link
Owner

Could you document the new configure flag (--enable-maintainer-mode) in README.md and INSTALLING?

Could you update the case of PCRE to make it uppercase in besside-ng usage?

@jbenden
Copy link
Collaborator Author

jbenden commented Aug 24, 2020 via email

Signed-off-by: Joseph Benden <joe@benden.us>
This removes the use of macros within strings. This is an undefined
usage. Instead, simply print all possible command-line arguments and
show an error message if an unsupported option is selected.

Signed-off-by: Joseph Benden <joe@benden.us>
- Callbacks should be passed as the address-of a function.
- Mark all thread routines with THREAD_ENTRY to make it very
  clear that these function run in a new thread.

Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
- Disable maintainer mode, by default. Now use the flag
  `--enable-maintainer-mode` when developing both autoconf
  and source code!
- When maintainer mode is enabled; add pedantic warnings.

Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
This patch series untangles the mixed assembly syntax, thereby
removing the need for `-masm=intel`.

Added autoconf flag to enable LTO: `--with-lto`.

As this is basic support (works for me! :P), it is not enabled
by default.

Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
- Thread entry functions must never be inlined.
- Mark certain functions as noinline, based on ICC optimization
  reports.

Signed-off-by: Joseph Benden <joe@benden.us>
This commit is to keep ICC from reporting remarks about inlining.

Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
- Fully validate the number of processes desired (`-p`);
  ensuring a selection is made from a fully valid range.
  Fixes (CID 1077260)
- Display a warning message if the number of processes
  exceed the number of CPUs.

Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Joseph Benden <joe@benden.us>
@jbenden jbenden self-assigned this Oct 31, 2020
@jbenden jbenden merged commit d0a0f9d into aircrack-ng:master Oct 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants