Go to file
Thomas De Schampheleire f0e204d99b toolchain/helpers.mk: gdbinit: set auto-load-safe-path before sysroot
The gdbinit supplied by Buildroot does two things:
A. specify the sysroot where gdb can find shared libraries
B. mark the sysroot as a 'safe path' for its auto-load feature, to make sure
  that pretty printers for libstdc++.so are added automatically (see commit
  6fb3216a80)

When debugging a core file, and the gdbinit file is specified via '-x'
rather than '-ix', then the order of these settings matters: If you first
set the sysroot, then gdb will immediately start finding the shared
libraries it needs for the core file, detect libstdc++ and its associated
libstdc++-gdb.py file, then give a big warning about safe paths:

  warning: File ".../i686-buildroot-linux-gnu/sysroot/lib/libstdc++.so.6.0.24-gdb.py"
          auto-loading has been declined by your `auto-load safe-path' set
          to "$debugdir:$datadir/auto-load".
  To enable execution of this file add
          add-auto-load-safe-path .../i686-buildroot-linux-gnu/sysroot/lib/libstdc++.so.6.0.24-gdb.py
  line to your configuration file "/home/me/.gdbinit".
  To completely disable this security protection add
          set auto-load safe-path /
  line to your configuration file "/home/me/.gdbinit".
  For more information about this security protection see the
  "Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
          info "(gdb)Auto-loading safe path"

and the pretty printing code is not loaded. This is because the second
line from the gdbinit file was not yet parsed at this point.

By changing the order (first configuring the safe path, then setting the
sysroot), this issue does not appear and everything is as expected.

Note that when '-ix' were used instead of '-x' to pass the gdbinit file to
gdb, then the order would not matter, because the entire gdbinit file would
be parsed before considering the core file.
However, even though the Buildroot manual now suggests '-ix', users may not
have noticed this change and continue to use '-x'.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-21 22:44:02 +02:00
arch arch: add BR2_ARCH_NEEDS_GCC_AT_LEAST_11 2021-06-20 18:46:51 +02:00
board board/freescale: add support for Image.gz to post-image 2021-09-18 08:54:58 +02:00
boot boot/barebox: bump version to 2021.08.0 2021-09-17 23:31:02 +02:00
configs configs/stm32mp157c_odyssey: new defconfig 2021-09-11 18:15:55 +02:00
docs docs/manual/using-buildroot-debugger: suggest '-ix' iso '-x' when loading gdbinit 2021-09-21 22:43:03 +02:00
fs fs/iso9660: switch from cdrkit to xorriso to build ISO9660 images 2021-09-17 22:10:06 +02:00
linux {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 10, 13, 14}.x series 2021-09-12 13:43:16 +02:00
package package/wireplumber: new package 2021-09-21 22:39:28 +02:00
support support/testing: switch to prebuilt toolchain, core2duo to Nehalem 2021-09-21 22:24:31 +02:00
system system: support br2-external init systems 2020-10-14 22:48:42 +02:00
toolchain toolchain/helpers.mk: gdbinit: set auto-load-safe-path before sysroot 2021-09-21 22:44:02 +02:00
utils utils/getdeveloperlib.py: force foward-slash for pattern matching 2021-09-11 22:33:42 +02:00
.defconfig
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml utils/test-pkg: add gitlab-ci support 2021-08-28 17:03:13 +02:00
CHANGES Update for 2021.02.5 2021-09-16 22:33:46 +02:00
Config.in Config.in: disable Fortify Source for microblaze 2021-08-23 23:08:05 +02:00
Config.in.legacy package/linux-headers: drop 5.11.x / 5.12.x headers 2021-09-12 09:41:38 +02:00
COPYING
DEVELOPERS DEVELOPERS: add myself to trace-cmd package 2021-09-18 22:39:36 +02:00
Makefile Kickoff 2021.11 cycle 2021-09-04 13:46:21 +02:00
Makefile.legacy
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches