-
Notifications
You must be signed in to change notification settings - Fork 849
Fix link issue of test_libhttp2 on FreeBSD 12 with --enable-debug #6666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d90feba to
e3cd488
Compare
|
[approve ci]. |
e3cd488 to
0e2257e
Compare
|
I found the correct order of libs that satisfy our platforms. It's a bit wired, though. |
|
Does this mean librecords_p.a depends on libhttp2.a? How come? |
0e2257e to
3595bfb
Compare
|
Add a comment. |
|
This looks really clunky ... :) Not saying we shouldn't do this, but it doesn't feel right? :) |
|
I agree with this is an ugly hack:( I still don't know what is root cause, but this looks LLD specific issue with debug build. If I use GNU ld instead of LLD, the issue is gone.
No. LLD has a different approach of handling of archive files, the order doesn't mean dependencies.
|
|
I looked into this too. Here's a couple of findings:
Because Http2ClientSession does depend on ProxySession, adding libproxy.a or a stub (mock) module that satisfies the requirement for libproxy.a may be an appropriate approach. |
3595bfb to
f132f77
Compare
|
Thanks for looking.
This explains why we are facing the issue with debug build. Some symbols which are removed by optimization would be a trigger.
The order around |
|
I pushed new commit which satisfies both of GNU ld & LLD without duplicated lines. |
This is interesting. You may already have tried this, but adding only a dup libhdr.a anywhere after libinkevent.a works too (checked only with LLD). I thought libhttp2.a is the trigger but it might be libhdr.a. The latest change, which moves libinkevent.a between libhttp2.a and libhdr.a, would be the best if I had to choose one from the options we currently have. However, we still depends on the optimization magic, which is uncontrollable. Can you put add a comment that says there is this mystery? A link for this issue would be helpful. |
f132f77 to
75838b3
Compare
|
[approve ci centos] |
|
Cherry-picked to 8.1.x |
Fix FreeBSD 12 debug jobs on ci.
https://ci.trafficserver.apache.org/job/freebsd_12-master/compiler=clang,label=freebsd_12,type=debug/1334/console
Both of 9.0.x and 8.1.x branch need this. The unit test is introduced by 582df40 and it was cherry picked to 9.0.x and 8.1.x.