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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to