| .. | .. |
|---|
| 210 | 210 | progress at all. Is it two steps forwards, one step back, or one |
|---|
| 211 | 211 | step forward and two steps back? |
|---|
| 212 | 212 | |
|---|
| 213 | | -(http://lwn.net/Articles/243460/). |
|---|
| 213 | +(https://lwn.net/Articles/243460/). |
|---|
| 214 | 214 | |
|---|
| 215 | 215 | An especially unwelcome type of regression is any sort of change to the |
|---|
| 216 | 216 | user-space ABI. Once an interface has been exported to user space, it must |
|---|
| .. | .. |
|---|
| 249 | 249 | of these options should be turned on for any kernel used for development or |
|---|
| 250 | 250 | testing purposes. In particular, you should turn on: |
|---|
| 251 | 251 | |
|---|
| 252 | | - - ENABLE_WARN_DEPRECATED, ENABLE_MUST_CHECK, and FRAME_WARN to get an |
|---|
| 252 | + - ENABLE_MUST_CHECK and FRAME_WARN to get an |
|---|
| 253 | 253 | extra set of warnings for problems like the use of deprecated interfaces |
|---|
| 254 | 254 | or ignoring an important return value from a function. The output |
|---|
| 255 | 255 | generated by these warnings can be verbose, but one need not worry about |
|---|
| .. | .. |
|---|
| 298 | 298 | fail; these failures can be restricted to a specific range of code. |
|---|
| 299 | 299 | Running with fault injection enabled allows the programmer to see how the |
|---|
| 300 | 300 | code responds when things go badly. See |
|---|
| 301 | | -Documentation/fault-injection/fault-injection.txt for more information on |
|---|
| 301 | +Documentation/fault-injection/fault-injection.rst for more information on |
|---|
| 302 | 302 | how to use this facility. |
|---|
| 303 | 303 | |
|---|
| 304 | 304 | Other kinds of errors can be found with the "sparse" static analysis tool. |
|---|
| .. | .. |
|---|
| 315 | 315 | problems. Quite a few "semantic patches" for the kernel have been packaged |
|---|
| 316 | 316 | under the scripts/coccinelle directory; running "make coccicheck" will run |
|---|
| 317 | 317 | through those semantic patches and report on any problems found. See |
|---|
| 318 | | -Documentation/dev-tools/coccinelle.rst for more information. |
|---|
| 318 | +:ref:`Documentation/dev-tools/coccinelle.rst <devtools_coccinelle>` |
|---|
| 319 | +for more information. |
|---|
| 319 | 320 | |
|---|
| 320 | 321 | Other kinds of portability errors are best found by compiling your code for |
|---|
| 321 | 322 | other architectures. If you do not happen to have an S/390 system or a |
|---|
| 322 | 323 | Blackfin development board handy, you can still perform the compilation |
|---|
| 323 | 324 | step. A large set of cross compilers for x86 systems can be found at |
|---|
| 324 | 325 | |
|---|
| 325 | | - http://www.kernel.org/pub/tools/crosstool/ |
|---|
| 326 | + https://www.kernel.org/pub/tools/crosstool/ |
|---|
| 326 | 327 | |
|---|
| 327 | 328 | Some time spent installing and using these compilers will help avoid |
|---|
| 328 | 329 | embarrassment later. |
|---|