Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Trying to find POSIX calls made by Qt



  • 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



  • 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...



  • 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.



  • Which functions are not "allowed" by this profile?



  • 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.



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



  • @ 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.


Log in to reply