专栏首页owentlibcopp merge boost.context 1.69.0

libcopp merge boost.context 1.69.0

过年啦,最近在看一些非技术性的东西,Anna 的Paper也还没看完。随手优化了下Blog的主题,修复和优化了一些小问题。然后来Merge了一下 boost.context 最新 1.69.0 版本的asm部分到 libcopp

其实我有一直跟进 boost.context 的版本发布,但是现在的版本已经少有BUG了,最近的几次 boost 的 release对于 boost.context 的变化很少,而且我集成的部分也基本上没涉及到,所以最近的两个版本都没有急着Merge。 1.68.0 版本的变化是修复使用 context-impl=ucontext 时,链接报重定义的问题。但是我在 libcopp 里仅使用了它上下文切换的部分和栈与上下文结构,没有使用它的协程对象的部分(主要是觉得它的实现不好用,而且有一些历史遗留包袱)。所以这个对 libcopp 来说相当于没有变化。而在 1.69.0 里主要也是一些环境的编译问题和 boost 构建工具和Jamfile.v2方面的优化。不过有一项是和 libcopp 有一些关系的,那就是为ELF的ABI添加了 .file 段。按照PR提交者的说法是如果不添加这个, 链接器会自动添加一个编译时的绝对地址(详情见: https://github.com/boostorg/context/issues/91 )。这个也是辅助性质的,不属于实际功能的改动。

另外也是前段时间看到一些ABI的限定,x86的ABI假设栈的起始地址对齐到16字节。原来 libcopp 的所有的地址都是对齐到 max_align_t 的。恰好在我所测试的所有平台里,这个值都是大于等于16的,但是以防万一那些我没有接触到的环境,我还是把对齐地址改成了 max(16, sizeof(max_align_t))

这次的Merge先还是仅合并到v2分支,等测一段时间之后转向master。今天这篇比较水,权当记录一下。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • libcopp更新 (merge boost 1.59 context)

    这个框架的上下文部分是使用了boost.context,但是从开始写libcopp到现在,boost.context也更新了几个版本。而之前几次merge基本都...

    owent
  • Rust的第二次接触-写个小服务器程序

    蛮久前入门了一下 Rust 语言。它的设计模型非常地吸引C/C++的开发者。但是学习语言嘛还是要练习一下,之前也用它给我们项目写了个命令行小工具。这回拿来写个小...

    owent
  • 试试Boost.Asio

    慢慢一点一点看看Boost,这段时间就Asio库吧。 据说这货和libevent的效率差不多,但是Boost的平台兼容性,你懂得。还有它帮忙干掉了很多线程安全...

    owent
  • web前端几个小知识点笔记

    1、css实现宽度是百分比的盒子为正方形 <div style="width:50%;padding-bottom:50%;height:0px;backgro...

    用户1174387
  • TKE 容器外网访问能力介绍

    当前的实现是让容器访问外网的数据包 SNAT 为节点 IP 出去,所以容器具备外网访问能力依赖于节点具备外网访问能力。

    zhaoqiyuan
  • natapp 内网穿透神器

    tanoak
  • 程序员你为什么这么累?

    大家一提到程序员,首先想到的是以下标签:苦逼,加班,熬夜通宵。但是,但凡工作了的同学都知道,其实大部分程序员做的事情都很简单,代码CRUD可以说毫无技术含量,就...

    哲洛不闹
  • 代码学习与实践:开篇-测试深入了解代码的好处及实践

    1 缘起 最近在负责测试的项目,相对来说比较复杂。从业务上来看,涉及商品添加、审核、交易、支付、退款、换号、管理等多个流程,从代码逻辑上来看,划分了9个模块,还...

    企鹅号小编
  • Java中实现的简单算法 && 计算二分查找次数

    如果采用其他方式对列表进行排序可以使用List接口的sort方法传入一个Comarable的一个对象

    用户2436820
  • 使用edgeR进行两组间的差异分析

    edgeR 接受raw count的定量表格,然后根据样本分组进行差异分析,具体步骤如下

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券