Skip to content
Snippets Groups Projects
  1. Mar 12, 2021
    • Simon Glass's avatar
      test: Correct setexpr test prefix · 80b80d89
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      This prefix should be for setexpr, not mem. This means that trying to
      select just these tests to run does not work. Fix it.
      
      For some reason this provokes an assertion failure due to memory not
      being freed. Move the env_set() in setexpr_test_str() to before the
      malloc() heap size size is recorded and disable the rest in
      setexpr_test_str_oper().
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      80b80d89
  2. Feb 24, 2021
  3. Feb 02, 2021
    • Simon Glass's avatar
      common: Drop asm/global_data.h from common header · 401d1c4f
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      Move this out of the common header and include it only where needed.  In
      a number of cases this requires adding "struct udevice;" to avoid adding
      another large header or in other cases replacing / adding missing header
      files that had been pulled in, very indirectly.   Finally, we have a few
      cases where we did not need to include <asm/global_data.h> at all, so
      remove that include.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      401d1c4f
  4. Jan 25, 2021
  5. Jan 18, 2021
  6. Jan 16, 2021
  7. Dec 01, 2020
    • Simon Glass's avatar
      setexpr: Add support for strings · 2c02152a
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      Add support for dealing with string operands, including reading a string
      from memory into an environment variable and concatenating two strings.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarMarek Behún <marek.behun@nic.cz>
      2c02152a
    • Simon Glass's avatar
      setexpr: Correct buffer overflow bug and enable tests · 8f4aa7dd
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      At present when more than one substitution is made this function
      overwrites its buffers. Fix this bug and update the tests now that they
      can pass.
      
      Also update the debug code to show all substrings, since at present it
      omits the final one.
      
      Fixes: 855f18ea ("setexpr: add regex substring matching and substitution")
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      8f4aa7dd
    • Simon Glass's avatar
      setexpr: Correct dropping of final unmatched string · 9528229f
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      At present the 'nlen' variable increases with each loop. If the previous
      loop had back references, then subsequent loops without back references
      use the wrong value of nlen. The value is larger, meaning that the string
      terminator from nbuf is copied along to the main buffer, thus terminating
      the string prematurely.
      
      This leads to the final result being truncated, e.g. missing the last
      (unmatched) part of the string. So "match match tail" become
      "replaced replaced" instead of "replaced replaced tail".
      
      Fix this by resetting nlen to the correct value each time around the lop.
      
      Fixes: 855f18ea ("setexpr: add regex substring matching and substitution")
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      9528229f
    • Simon Glass's avatar
      setexpr: Add some tests for buffer overflow and backref · d422c77a
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      Add tests to check for buffer overflow using simple replacement as well
      as back references. At present these don't fully pass.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      d422c77a
    • Simon Glass's avatar
      test: Add some setexpr regex tests · e713124e
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      Add tests for the setexpr regex commands.
      
      Note that these tests currently crash on sandbox due to an existing bug in
      the setexpr implementation, so two of the tests are commented out.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      e713124e
    • Simon Glass's avatar
      setexpr: Add explicit support for 32- and 64-bit ints · 25a43ac8
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      At present this function assumes that a size of 4 refers to a ulong. This
      is true on 32-bit machines but not commonly on 64-bit machines.
      
      This means that the 'l' specify does not work correctly with setexpr.
      
      Add an explicit case for 32-bit values so that 64-bit machines can still
      use the 'l' specifier. On 32-bit machines, 64-bit is still not supported.
      
      This corrects the operation of the default size (which is 4 for setexpr),
      so update the tests accordingly.
      
      The original code for reading from memory was included in 47ab5ad1
      ("cmd_setexpr: allow memory addresses in expressions") but I am not adding
      a Fixes: tag since that code was not written with 64-bit machines in mind.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      25a43ac8
    • Simon Glass's avatar
      test: Add some tests for setexpr · 90a99017
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      This command currently has no tests. Add some for basic assignment and the
      integer operations.
      
      Note that the default size for setexpr is ulong, which varies depending on
      the build machine. So for sandbox on a 64-bit host, this means that the
      default size is 64 bits.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      90a99017
  8. Aug 08, 2020
    • Simon Glass's avatar
      cmd: Update the memory-search command · 550a9e79
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      Add various fixes and improvements to this command that were missed in
      the original version. Unfortunately I forgot to send v2.
      
      - Fix Kconfig name
      - Use a separate variable for the remaining search length
      - Correct a minor bug
      - Move into a separate test suite
      - Add -q flag to the 'quiet' test to test operation when console is enabled
      - Enable the feature for sandbox
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      550a9e79
  9. Jul 08, 2020
    • Simon Glass's avatar
      cmd: Add a memory-search command · bdded201
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      It is useful to be able to find hex values and strings in a memory range.
      Add a command to support this.
      
      cmd: Fix 'md' and add a memory-search command
      At present 'md.q' is broken. This series provides a fix for this. It also
      implements a new memory-search command called 'ms'. It allows searching
      memory for hex and string data.
      END
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      bdded201
Loading