How does AOSP 9.0 build system link the executable?What does @ mean in this clang command in AOSP build log?How does AOSP build system produce .rsp files and how to get them?Building a Android 6 Messaging app out of AOSP treeWhile trying to build android source code, make clobber gives “no such file or directory”where is 'target-executable-hook' defined in AOSP?Failed to build AOSP [run_soong_ui] Error 1AOSP: Can't get prebuilt static libraries into their intermediary folders in order to link to other moduleserror: failed parsing overlays when build AOSP sourceHow to build AOSP Latin IME out of tree?Native Code coverage with android soong build systemHow to include custom splash.img in AOSP buildWhat does the command “PWD=/proc/self/cwd another_executable ” mean?

Was lunar module "pilot" Harrison Schmitt legally a "pilot" at the time?

Storming Area 51

Does Google Maps take into account hills/inclines for route times?

Simple LED driver, transistor and GPIO

As the Dungeon Master, how do I handle a player that insists on a specific class when I already know that choice will cause issues?

Why isn't pressure filtration popular compared to vacuum filtration?

Rhombuses, kites etc

Shortest distance around a pyramid?

What was the definition of "set" that resulted in Russell's Paradox

Why didn't Thanos kill all the Dwarves on Nidavellir?

Machine learning and operations research projects

What are some examples of special things about Russian?

How can I get a player to accept that they should stop trying to pull stunts without thinking them through first?

Cubic programming and beyond?

How do I take a fraction to a negative power?

Why does Hellboy file down his horns?

Why are Hobbits so fond of mushrooms?

Is purchasing foreign currency before going abroad a losing proposition?

Why isn't there research to build a standard lunar, or Martian mobility platform?

<schwitz>, <zwinker> etc. Does German always use 2nd Person Singular Imperative verbs for emoticons? If so, why?

Are neural networks prone to catastrophic forgetting?

Was I subtly told to resign?

Parse source code of the RAPID robot-automation language

How can an advanced civilization forget how to manufacture its technology?



How does AOSP 9.0 build system link the executable?


What does @ mean in this clang command in AOSP build log?How does AOSP build system produce .rsp files and how to get them?Building a Android 6 Messaging app out of AOSP treeWhile trying to build android source code, make clobber gives “no such file or directory”where is 'target-executable-hook' defined in AOSP?Failed to build AOSP [run_soong_ui] Error 1AOSP: Can't get prebuilt static libraries into their intermediary folders in order to link to other moduleserror: failed parsing overlays when build AOSP sourceHow to build AOSP Latin IME out of tree?Native Code coverage with android soong build systemHow to include custom splash.img in AOSP buildWhat does the command “PWD=/proc/self/cwd another_executable ” mean?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















With AOSP 9.0.0_r30 source code, first use these commands to output a
detailed build log during build:



make clean
make showcommands -j8 > ~/BuildAndroid.txt


Then search in ~/BuildAndroid.txt for "lld" (whole word match). I can't find anything. Clang linker should have the lld keyword.Search "ld" there are 50 results but they are hardly be the link commands.One of them is "ld.mc" which is a candidate,though.



And search for some cpp source file name like "TextDropShadowCache". I only get 2 commands, both of which are clang++ compilation commands.



The link command of libhwui.so references a file "libhwui.so.rsp" which seems to possibly (only guess) contains "TextDropShadowCache.o":



prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ /OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/bionic/libc/crtbegin_so/android_x86_64_core/crtbegin_so.o @/OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/frameworks/base/libs/hwui/libhwui/android_x86_64_core_shared/libhwui.so.rsp ......


If this is true, then how is libhwui.so.rsp produced?



The command also give rise to this question: What does @ mean in this clang command in AOSP build log?



according to the above question, @ means read a long command from a file, so it is highly possibly be a file that list all the obj files that libhwui.so needs.



So the problem is basically answered, but not verified because libhwui.so.rsp seems to be removed after build.



How does the AOSP 9.0 build system link the executable?










share|improve this question






























    0















    With AOSP 9.0.0_r30 source code, first use these commands to output a
    detailed build log during build:



    make clean
    make showcommands -j8 > ~/BuildAndroid.txt


    Then search in ~/BuildAndroid.txt for "lld" (whole word match). I can't find anything. Clang linker should have the lld keyword.Search "ld" there are 50 results but they are hardly be the link commands.One of them is "ld.mc" which is a candidate,though.



    And search for some cpp source file name like "TextDropShadowCache". I only get 2 commands, both of which are clang++ compilation commands.



    The link command of libhwui.so references a file "libhwui.so.rsp" which seems to possibly (only guess) contains "TextDropShadowCache.o":



    prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ /OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/bionic/libc/crtbegin_so/android_x86_64_core/crtbegin_so.o @/OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/frameworks/base/libs/hwui/libhwui/android_x86_64_core_shared/libhwui.so.rsp ......


    If this is true, then how is libhwui.so.rsp produced?



    The command also give rise to this question: What does @ mean in this clang command in AOSP build log?



    according to the above question, @ means read a long command from a file, so it is highly possibly be a file that list all the obj files that libhwui.so needs.



    So the problem is basically answered, but not verified because libhwui.so.rsp seems to be removed after build.



    How does the AOSP 9.0 build system link the executable?










    share|improve this question


























      0












      0








      0








      With AOSP 9.0.0_r30 source code, first use these commands to output a
      detailed build log during build:



      make clean
      make showcommands -j8 > ~/BuildAndroid.txt


      Then search in ~/BuildAndroid.txt for "lld" (whole word match). I can't find anything. Clang linker should have the lld keyword.Search "ld" there are 50 results but they are hardly be the link commands.One of them is "ld.mc" which is a candidate,though.



      And search for some cpp source file name like "TextDropShadowCache". I only get 2 commands, both of which are clang++ compilation commands.



      The link command of libhwui.so references a file "libhwui.so.rsp" which seems to possibly (only guess) contains "TextDropShadowCache.o":



      prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ /OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/bionic/libc/crtbegin_so/android_x86_64_core/crtbegin_so.o @/OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/frameworks/base/libs/hwui/libhwui/android_x86_64_core_shared/libhwui.so.rsp ......


      If this is true, then how is libhwui.so.rsp produced?



      The command also give rise to this question: What does @ mean in this clang command in AOSP build log?



      according to the above question, @ means read a long command from a file, so it is highly possibly be a file that list all the obj files that libhwui.so needs.



      So the problem is basically answered, but not verified because libhwui.so.rsp seems to be removed after build.



      How does the AOSP 9.0 build system link the executable?










      share|improve this question
















      With AOSP 9.0.0_r30 source code, first use these commands to output a
      detailed build log during build:



      make clean
      make showcommands -j8 > ~/BuildAndroid.txt


      Then search in ~/BuildAndroid.txt for "lld" (whole word match). I can't find anything. Clang linker should have the lld keyword.Search "ld" there are 50 results but they are hardly be the link commands.One of them is "ld.mc" which is a candidate,though.



      And search for some cpp source file name like "TextDropShadowCache". I only get 2 commands, both of which are clang++ compilation commands.



      The link command of libhwui.so references a file "libhwui.so.rsp" which seems to possibly (only guess) contains "TextDropShadowCache.o":



      prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ /OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/bionic/libc/crtbegin_so/android_x86_64_core/crtbegin_so.o @/OpenSource/Build/Android/9.0.0_r30/soong/.intermediates/frameworks/base/libs/hwui/libhwui/android_x86_64_core_shared/libhwui.so.rsp ......


      If this is true, then how is libhwui.so.rsp produced?



      The command also give rise to this question: What does @ mean in this clang command in AOSP build log?



      according to the above question, @ means read a long command from a file, so it is highly possibly be a file that list all the obj files that libhwui.so needs.



      So the problem is basically answered, but not verified because libhwui.so.rsp seems to be removed after build.



      How does the AOSP 9.0 build system link the executable?







      build android-source






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 1 at 4:59







      jw_

















      asked Mar 26 at 3:41









      jw_jw_

      1249 bronze badges




      1249 bronze badges






















          1 Answer
          1






          active

          oldest

          votes


















          0














          I found the link command line for pppd,it just use



          prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++



          with all the .o/.a/.so file as input,and pppd as output.



          But this still does not explain why there are no link commands that use TextDropShadowCache.o as input,maybe they use some script to read multiple .o files?






          share|improve this answer























          • You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

            – Chris Stratton
            Mar 27 at 19:45












          • What about TextDropShadowCache.o?

            – jw_
            Mar 28 at 0:37










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55349527%2fhow-does-aosp-9-0-build-system-link-the-executable%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          I found the link command line for pppd,it just use



          prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++



          with all the .o/.a/.so file as input,and pppd as output.



          But this still does not explain why there are no link commands that use TextDropShadowCache.o as input,maybe they use some script to read multiple .o files?






          share|improve this answer























          • You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

            – Chris Stratton
            Mar 27 at 19:45












          • What about TextDropShadowCache.o?

            – jw_
            Mar 28 at 0:37















          0














          I found the link command line for pppd,it just use



          prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++



          with all the .o/.a/.so file as input,and pppd as output.



          But this still does not explain why there are no link commands that use TextDropShadowCache.o as input,maybe they use some script to read multiple .o files?






          share|improve this answer























          • You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

            – Chris Stratton
            Mar 27 at 19:45












          • What about TextDropShadowCache.o?

            – jw_
            Mar 28 at 0:37













          0












          0








          0







          I found the link command line for pppd,it just use



          prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++



          with all the .o/.a/.so file as input,and pppd as output.



          But this still does not explain why there are no link commands that use TextDropShadowCache.o as input,maybe they use some script to read multiple .o files?






          share|improve this answer













          I found the link command line for pppd,it just use



          prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++



          with all the .o/.a/.so file as input,and pppd as output.



          But this still does not explain why there are no link commands that use TextDropShadowCache.o as input,maybe they use some script to read multiple .o files?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 27 at 4:29









          jw_jw_

          1249 bronze badges




          1249 bronze badges












          • You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

            – Chris Stratton
            Mar 27 at 19:45












          • What about TextDropShadowCache.o?

            – jw_
            Mar 28 at 0:37

















          • You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

            – Chris Stratton
            Mar 27 at 19:45












          • What about TextDropShadowCache.o?

            – jw_
            Mar 28 at 0:37
















          You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

          – Chris Stratton
          Mar 27 at 19:45






          You have found an example of the common practice (perhaps today more often than not) of having the compiler invoke the linker (either only, or in addition to doing some compilation), rather than directly invoking it yourself.

          – Chris Stratton
          Mar 27 at 19:45














          What about TextDropShadowCache.o?

          – jw_
          Mar 28 at 0:37





          What about TextDropShadowCache.o?

          – jw_
          Mar 28 at 0:37








          Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







          Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55349527%2fhow-does-aosp-9-0-build-system-link-the-executable%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript