You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@trafficserver.apache.org by "cmcfarlen (via GitHub)" <gi...@apache.org> on 2023/04/18 21:27:52 UTC

[GitHub] [trafficserver] cmcfarlen commented on pull request #9617: Fix debian symbol not found for test_HttpTransact

cmcfarlen commented on PR #9617:
URL: https://github.com/apache/trafficserver/pull/9617#issuecomment-1513814808

   It seems like this chunk from proxy/http/Makefile.am is what allows test_HttpTransact to even link in the first place:
   ```
   
   if OS_LINUX
   test_HttpTransact_LDFLAGS = $(AM_LDFLAGS)\
      -Wl,--unresolved-symbols=ignore-all
   else
   test_HttpTransact_LDFLAGS = $(AM_LDFLAGS)\
       -Wl,-undefined -Wl,suppress -Wl,-flat_namespace -Wl,-dead_strip
   endif
   ```
   
   If the hardening linker flags are specified then the symbols missing are needed for whatever security stuff happens before the code is executed or perhaps it's a problem because lazy binding is disabled.  Either way these two linker flags seem to be at odds.  There is a similar situation in the http3 directory as well, but these are the only two places that I found that use this flag.
   
   As for what to do, I recommend we remove this `ignore-all` and link the appropriate stubs and/or libraries that are needed to link normally.  This is a pain to do, so I could see the case for just merging this as is and accept that it will require maintenance from time to time.  At the very least I would add a lot more commentary on why we need to stub these out, specifically mentioning the hardening configuration.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org