History log of /openbsd-current/lib/libc/arch/amd64/sys/brk.S
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.13 11-Jan-2023 mortimer

Add retguard to amd64 syscalls.

Since we got rid of padded syscalls we have enough registers to do this.

ok deraadt@ ok kettenis@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.12 01-Jan-2022 guenther

Add ENTRY_NB() macro for doing an ASM function entry without setting
the binding to global (NB == "no binding"), as clang 13 is now
warning about changing the binding from global to weak.

This first pass does amd64 and sparc64 and pulls DEFS.h out of the
per-arch directory to a common directory; others to follow

ok kettenis@


# 1.11 25-Oct-2021 kettenis

Make brk() and sbrk() weak again as intended.

ok jca@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.10 19-Aug-2017 deraadt

Don't need .text before ENTRY(), also minor spacing cleanups


Revision tags: OPENBSD_6_1_BASE
# 1.9 10-Sep-2016 kettenis

Clang ignores a .weak directive before a function is actually defined. So
move it from before ENTRY() to after END(). Keeps brk(2) and sbrk(2) weak
when comping libc with clang.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.8 07-May-2016 guenther

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes. 'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@


Revision tags: OPENBSD_5_9_BASE
# 1.7 05-Sep-2015 guenther

Adds hidden _libc_FOO aliases for the system call stubs.
Stop generating _brk and _sbrk symbols: they've already been hidden.
Set the ELF symbol size on the syscall stubs.
Give the __{min,cur}brk symbols a size and type, and hide more jump labels.

ok deraadt@


# 1.6 26-Aug-2015 guenther

Hide many (194!) symbols that nothing should be using.
Delete exect(2); it wasn't portable across archs and nothing used it.

ports test build by naddy@
ok deraadt@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.5 17-Jun-2015 uebayasi

Set FUNC symbol sizes of auto-generated and hand-written syscall wrappers.

Original diff from guenther@, adjusted by me.

OK guenther@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.4 22-Aug-2012 pascal

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
invocations. This allows us to use the compiler builtin define __PIC__ to check
for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot.

ok matthew@, conceptually ok kurt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.3 13-Dec-2005 jsg

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.
Checked by ian@ and deraadt@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.2 10-Feb-2004 drahn

CURBRK -> __curbrk changes from mickey, minbrk addition by me, ok mickey@


# 1.1 28-Jan-2004 mickey

things for amd64; from art@


# 1.12 01-Jan-2022 guenther

Add ENTRY_NB() macro for doing an ASM function entry without setting
the binding to global (NB == "no binding"), as clang 13 is now
warning about changing the binding from global to weak.

This first pass does amd64 and sparc64 and pulls DEFS.h out of the
per-arch directory to a common directory; others to follow

ok kettenis@


# 1.11 25-Oct-2021 kettenis

Make brk() and sbrk() weak again as intended.

ok jca@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.10 19-Aug-2017 deraadt

Don't need .text before ENTRY(), also minor spacing cleanups


Revision tags: OPENBSD_6_1_BASE
# 1.9 10-Sep-2016 kettenis

Clang ignores a .weak directive before a function is actually defined. So
move it from before ENTRY() to after END(). Keeps brk(2) and sbrk(2) weak
when comping libc with clang.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.8 07-May-2016 guenther

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes. 'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@


Revision tags: OPENBSD_5_9_BASE
# 1.7 05-Sep-2015 guenther

Adds hidden _libc_FOO aliases for the system call stubs.
Stop generating _brk and _sbrk symbols: they've already been hidden.
Set the ELF symbol size on the syscall stubs.
Give the __{min,cur}brk symbols a size and type, and hide more jump labels.

ok deraadt@


# 1.6 26-Aug-2015 guenther

Hide many (194!) symbols that nothing should be using.
Delete exect(2); it wasn't portable across archs and nothing used it.

ports test build by naddy@
ok deraadt@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.5 17-Jun-2015 uebayasi

Set FUNC symbol sizes of auto-generated and hand-written syscall wrappers.

Original diff from guenther@, adjusted by me.

OK guenther@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.4 22-Aug-2012 pascal

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
invocations. This allows us to use the compiler builtin define __PIC__ to check
for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot.

ok matthew@, conceptually ok kurt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.3 13-Dec-2005 jsg

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.
Checked by ian@ and deraadt@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.2 10-Feb-2004 drahn

CURBRK -> __curbrk changes from mickey, minbrk addition by me, ok mickey@


# 1.1 28-Jan-2004 mickey

things for amd64; from art@


# 1.11 25-Oct-2021 kettenis

Make brk() and sbrk() weak again as intended.

ok jca@


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.10 19-Aug-2017 deraadt

Don't need .text before ENTRY(), also minor spacing cleanups


Revision tags: OPENBSD_6_1_BASE
# 1.9 10-Sep-2016 kettenis

Clang ignores a .weak directive before a function is actually defined. So
move it from before ENTRY() to after END(). Keeps brk(2) and sbrk(2) weak
when comping libc with clang.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.8 07-May-2016 guenther

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes. 'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@


Revision tags: OPENBSD_5_9_BASE
# 1.7 05-Sep-2015 guenther

Adds hidden _libc_FOO aliases for the system call stubs.
Stop generating _brk and _sbrk symbols: they've already been hidden.
Set the ELF symbol size on the syscall stubs.
Give the __{min,cur}brk symbols a size and type, and hide more jump labels.

ok deraadt@


# 1.6 26-Aug-2015 guenther

Hide many (194!) symbols that nothing should be using.
Delete exect(2); it wasn't portable across archs and nothing used it.

ports test build by naddy@
ok deraadt@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.5 17-Jun-2015 uebayasi

Set FUNC symbol sizes of auto-generated and hand-written syscall wrappers.

Original diff from guenther@, adjusted by me.

OK guenther@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.4 22-Aug-2012 pascal

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
invocations. This allows us to use the compiler builtin define __PIC__ to check
for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot.

ok matthew@, conceptually ok kurt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.3 13-Dec-2005 jsg

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.
Checked by ian@ and deraadt@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.2 10-Feb-2004 drahn

CURBRK -> __curbrk changes from mickey, minbrk addition by me, ok mickey@


# 1.1 28-Jan-2004 mickey

things for amd64; from art@


Revision tags: OPENBSD_6_2_BASE
# 1.10 19-Aug-2017 deraadt

Don't need .text before ENTRY(), also minor spacing cleanups


Revision tags: OPENBSD_6_1_BASE
# 1.9 10-Sep-2016 kettenis

Clang ignores a .weak directive before a function is actually defined. So
move it from before ENTRY() to after END(). Keeps brk(2) and sbrk(2) weak
when comping libc with clang.

ok guenther@


Revision tags: OPENBSD_6_0_BASE
# 1.8 07-May-2016 guenther

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes. 'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@


Revision tags: OPENBSD_5_9_BASE
# 1.7 05-Sep-2015 guenther

Adds hidden _libc_FOO aliases for the system call stubs.
Stop generating _brk and _sbrk symbols: they've already been hidden.
Set the ELF symbol size on the syscall stubs.
Give the __{min,cur}brk symbols a size and type, and hide more jump labels.

ok deraadt@


# 1.6 26-Aug-2015 guenther

Hide many (194!) symbols that nothing should be using.
Delete exect(2); it wasn't portable across archs and nothing used it.

ports test build by naddy@
ok deraadt@ kettenis@


Revision tags: OPENBSD_5_8_BASE
# 1.5 17-Jun-2015 uebayasi

Set FUNC symbol sizes of auto-generated and hand-written syscall wrappers.

Original diff from guenther@, adjusted by me.

OK guenther@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
# 1.4 22-Aug-2012 pascal

Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc
invocations. This allows us to use the compiler builtin define __PIC__ to check
for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot.

ok matthew@, conceptually ok kurt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.3 13-Dec-2005 jsg

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.
Checked by ian@ and deraadt@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.2 10-Feb-2004 drahn

CURBRK -> __curbrk changes from mickey, minbrk addition by me, ok mickey@


# 1.1 28-Jan-2004 mickey

things for amd64; from art@