Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Trying to find POSIX calls made by Qt

Trying to find POSIX calls made by Qt

Scheduled Pinned Locked Moved General and Desktop
7 Posts 6 Posters 2.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    TheWorldJoker
    wrote on last edited by
    #1

    Hello everyone,

    I'm trying to compile a list of POSIX calls made by -QT- Qt for a project; I'm trying to see if -QT- Qt fits a safety profile selected by our customer.

    I had thought to run the command "nm" (I'm using Linux) on the compiled libraries, but this didn't prove to be fruitful. Anyone have a simple or clever way of compiling this list?

    My second idea was to try to compile each library individually and use -nostdlibs while compiling, but I'm not sure how to go about compiling each library separately.

    Thanks,
    Phillip

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dangelog
      wrote on last edited by
      #2

      What do you mean with "list of POSIX calls" exactly? You could run your program under ltrace / strace and find out all the library calls made by your application...

      Software Engineer
      KDAB (UK) Ltd., a KDAB Group company

      1 Reply Last reply
      0
      • T Offline
        T Offline
        TheWorldJoker
        wrote on last edited by
        #3

        Under this specific safety protocol, only a certain (albeit still large) subset of the POSIX calls are allowed, and we are attempting to see if Qt will meet that requirement. Hence needed to first make a list of the total set of POSIX calls used.

        I will try that though, thanks. Didn't think of ltrace.

        1 Reply Last reply
        0
        • D Offline
          D Offline
          Duck
          wrote on last edited by
          #4

          Which functions are not "allowed" by this profile?

          1 Reply Last reply
          0
          • L Offline
            L Offline
            lgeyer
            wrote on last edited by
            #5

            Fetch the Qt sources and grep them.

            @
            #!/bin/sh

            unsafeCallList="unsafecall1|unsafecall2|unsafecall3"

            find *.cpp | while read sourceFile
            do
            grep --extended-regexp "$unsafeCallList" $sourceFile
            done
            @

            A runtime analysis using strace or ltrace will be difficult, as you have to ensure that every single piece of code is at least run once.

            1 Reply Last reply
            0
            • G Offline
              G Offline
              goetz
              wrote on last edited by
              #6

              Even if Qt would be "safe", the other linked libraries (eg. C++ standard lib) could violate the profile....

              http://www.catb.org/~esr/faqs/smart-questions.html

              1 Reply Last reply
              0
              • J Offline
                J Offline
                JustADude
                wrote on last edited by
                #7

                @ TheWorldJoker

                By any chance did you have any success at determining the POSIX calls?

                I have a similar question and need to determine which POSIX calls Qt absolutely needs to be present in an RTOS environment.

                Thanks.

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved